Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

CICE SSTDATA mode: updating sea ice fraction and SST for the next time step

Dear Forum, I modified the code of the CICE data model (dice_comp_mod.F90 in SSTDATA mode) with the folowing intentions: - I am prescribing time varying SST forcing over areas with sea ice cover and want to melt/build up sea ice only thermodynamically according to the SST forcing that comes from SST frocing file through the coupler to the CICE routine. To achieve this I modified the following lines of the code:  real(R8)    , pointer :: iFrac0(:)flux_Qacc  = .true.'allocate(iFrac0(lsize))if (firstcall .and. .not. read_restart) then         iFrac0(:) = i2x%rAttr(kiFrac,:)  ! previous step's ice fraction         water  =0.0_R8! previous step's water accumulationwhere (i2x%rAttr(kiFrac,:) > 0.0_R8) water(:) = flux_Qacc0endif
!         !--- fabricate ice surface T, fix erroneous iFrac ---!         if ( yc(n) > 0.0_R8) then !            i2x%rAttr(kt,n) = 260.0_R8 + 10.0_R8*cos(cosArg)!         else!            i2x%rAttr(kt,n) = 260.0_R8 - 10.0_R8*cos(cosArg)!         end if
! uncommented the iFrac0 line!!         !--- save ifrac for next timestep         iFrac0(n) = i2x%rAttr(kiFrac,n)   In the atmosphere model output I can see that my prescribed SST changes worked fine, however in the ice model output all the ice fields only show the climatological sea ice annual cycle without the changes being applied. Any hints what I am missing here to update all the ice fields and send them to the coupler for the next time step? Using the full dynamical sea ice model is not an option as I need specifiacally only a very simple thermodynamic sea ice representation in an idealized setup. Thanks for any help/input on this issue!      
 

dbailey

CSEG and Liaisons
Staff member
The issue is that you are modifying the DICE (data ice) component and should be modifying the active sea ice (CICE) component. The module here is ice_prescribed_mod.F90.Dave
 

dbailey

CSEG and Liaisons
Staff member
The issue is that you are modifying the DICE (data ice) component and should be modifying the active sea ice (CICE) component. The module here is ice_prescribed_mod.F90.Dave
 
Dear Dave, Isn't the flux_Qacc option in the DICE model intended to simulate basic thermodynamic melting/freezing (judging from the existing flag and the following statement at the end: iFrac0(n) = i2x%rAttr(kiFrac,n)) ? I stayed away from the CICE routine as it causes the model to abort if there are large heat flux anomalies. However the heat flux anomalies are no issue to me as I am only studying very idealized cases with the setup. Can the DICE routine be modified so that updated ice and temperature fields are sent to the coupler? Thanks!   
 
Dear Dave, Isn't the flux_Qacc option in the DICE model intended to simulate basic thermodynamic melting/freezing (judging from the existing flag and the following statement at the end: iFrac0(n) = i2x%rAttr(kiFrac,n)) ? I stayed away from the CICE routine as it causes the model to abort if there are large heat flux anomalies. However the heat flux anomalies are no issue to me as I am only studying very idealized cases with the setup. Can the DICE routine be modified so that updated ice and temperature fields are sent to the coupler? Thanks!   
 
Could you please help me understand what the option flux_Qacc[/b] and the statement iFrac0(n) = i2x%rAttr(kiFrac,n) [/b]are then intentend for in the DICE code? 
Thanks 
 
Could you please help me understand what the option flux_Qacc[/b] and the statement iFrac0(n) = i2x%rAttr(kiFrac,n) [/b]are then intentend for in the DICE code? 
Thanks 
 
I have another related question that might help my confusion in this matter: When using the F compset (DOCN+DICE), the SST boundary conditions to force the atmopsheric dynamics are taken from the DOCN routine(?).What is happening if the grid point values for the SST's are varying between subroutines (e.g. the prescribed SST's in the DOCN routine are larger than the climatolgical seasonal cycle determined over areas with a sea ice cover > 0? I assume only the SST values from DOCN at grid points with no sea ice are taken as forcing, while the SST values at grid points with a sea ice are taken from the DICE routine? Thank you very much for clarying this 
 
I have another related question that might help my confusion in this matter: When using the F compset (DOCN+DICE), the SST boundary conditions to force the atmopsheric dynamics are taken from the DOCN routine(?).What is happening if the grid point values for the SST's are varying between subroutines (e.g. the prescribed SST's in the DOCN routine are larger than the climatolgical seasonal cycle determined over areas with a sea ice cover > 0? I assume only the SST values from DOCN at grid points with no sea ice are taken as forcing, while the SST values at grid points with a sea ice are taken from the DICE routine? Thank you very much for clarying this 
 

dbailey

CSEG and Liaisons
Staff member
For an F-compset, the SST is read in by DOCN and the sea ice fraction is read in by CICE in prescribed mode. This is done so the surface sluxes, surface temperature and snow on sea ice can all be solved prognostically even though the fraction and thickness are specified. This is the only supported way to run an F-compset.Dave
 

dbailey

CSEG and Liaisons
Staff member
For an F-compset, the SST is read in by DOCN and the sea ice fraction is read in by CICE in prescribed mode. This is done so the surface sluxes, surface temperature and snow on sea ice can all be solved prognostically even though the fraction and thickness are specified. This is the only supported way to run an F-compset.Dave
 
Dear Dave,thanks for the reply. What is happening when the information from DICE and DOCN are inconsistent at a grid point? As an extreme example I did a test case with having a SST value of 20 degC and an ice fraction of 1 at a single grid point. The model seems to be runnning and not producing any warning nor error messages despite this dynamical inconsistency. 
 
Dear Dave,thanks for the reply. What is happening when the information from DICE and DOCN are inconsistent at a grid point? As an extreme example I did a test case with having a SST value of 20 degC and an ice fraction of 1 at a single grid point. The model seems to be runnning and not producing any warning nor error messages despite this dynamical inconsistency. 
 

dbailey

CSEG and Liaisons
Staff member
DICE and DOCN never run at the same time. CICE and DOCN read in the same SST/ice fraction dataset which is physically consistent.Dave
 

dbailey

CSEG and Liaisons
Staff member
DICE and DOCN never run at the same time. CICE and DOCN read in the same SST/ice fraction dataset which is physically consistent.Dave
 
Top