Main menu


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

9 posts / 0 new
Last post
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.'


if (firstcall .and. .not. read_restart) then

         iFrac0(:) = i2x%rAttr(kiFrac,:)  ! previous step's ice fraction

         water  =0.0_R8! previous step's water accumulation

where (i2x%rAttr(kiFrac,:) > 0.0_R8) water(:) = flux_Qacc0


!         !--- 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!








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.



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?







That is not a supported mode in CESM.



Could you please help me understand what the option flux_Qacc and the statement iFrac0(n) = i2x%rAttr(kiFrac,n) are then intentend for in the DICE code? 




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



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.



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.



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


Log in or register to post comments

Who's new

  • sjc265@...
  • s.l.bradley-1@...
  • ali.ashehad@...
  • schulzm6@...
  • wei.huang2@...