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