[MITgcm-devel] Unrealistic low SST with SEAICE_GROWTH_LEGACY undef

Martin Losch Martin.Losch at awi.de
Mon Feb 6 05:20:07 EST 2012


Hi there,

Ian and I think that we found the culprit for the unrealistically low SST with the non-legacy code and MCPHEE_OCEAN_ICE_HEAT_FLUX. It appears that none of the code blocks that Ian described in his previous email make a significant contribution to these very low temperatures, although I agree that they have the potential to do so. 
Instead by the usual trial-and-error procedure, the non-seaice-flag allowInteriorFreezing=.true., that I had set in order to avoid temperatures below freezing in the interior appear to be the culprit. Ian has a plausible explanation for this (I am citing from one of his emails to me, I hope with his consent):

"On the shelf [that's where the problem occurs] where ice production and salt rejection can be high, interior temperatures could end up being quite low and salinities quite high during winter.  When spring comes around and some of that ice melts and the freshwater mixes down, the interior freezing point can rise and the negative heat would then be applied to the surface where temperatures are at the freezing point.  If this happens repeatedly, surface temperatures could fall quite far."

S/R freeze_interior by-passes all heat flux considerations by moving any dTheta (by which theta is below local freezing) directly into the surface layer. This does not matter, when MCPHEE_OCEAN_ICE_HEAT_FLUX is not used, because (too) low temperatures are dealt with in the "old"/default parameterization of ocean melting (ll868-879 in the current seaice_growth.F, r1.147). But when MCPHEE_OCEAN_ICE_HEAT_FLUX is defined, the very negative surface temperatures (that stem from interior_freeze) cannot be (or rather, are not) used to form ice.

To some degree it is a matter of taste, how one deals with this (the very low temperatures). I think that
1. the non-legacy code apparently has a much more consistent treatment of heat fluxes, so that below-freezing temperatures rarely appear.
2. super-cooled water in the context of a "coarse" (grid cell width of a few km and more) is not very realistic (i.e., having supercooled water of a volume of e.g. 25^2km^2*10m = 6.25km^3). I observe occasional cold temperatures of order -5 degress with non-legacy code (independent of the above discussion), that go away with the non-legacy code (and the proper flag combination). Apparently the MCPHEE_OCEAN_ICE_HEAT_FLUX is consistent as long as there no extra local temperature sinks as in interior_freeze.F. Alternatively using the other method handles the low temperatures as well, but appears less physical (and has problem with the adjoint, if I understand properly).
3. "interior freezing" should be available, but it should be a parameterization that form "frazil ice" in the interior and moves that to the surface (either as a heat flux, or as ice). The simplest method I can think of is to "form" frazil ice (call the subroutine) before seaice and thsice, have it modify surface heat flux, maybe an extra 2D heat flux field that is added to both (in seaice_growth terminology) a_QbyATM_cover and a_QbyATM_open.

Greetings from freezing Bremerhaven (-10degC and less for over a week now. Today, cycling into work, tear-fluid (with salinity of about 9 => freezing point -0.5degC) froze on my glasses). Sea-ice on the river when I look out of the window ...

Martin

On Feb 3, 2012, at 9:20 PM, Ian Fenty wrote:

> Sea ice people,
> 
> After looking at Martin's output, I (tentatively) verified that actual thermodynamical ice processes are working fine and that nothing thermodynamical is driving T < T_freeze.  However, I did find two non-thermodynamical extraneous code blocks which can cause temps to fall below T_f.  Allow me to point them out.
> 
> Culprit 1)  When ice is very thin, we melt whatever ice and snow volume is present using ocean enthalpy, regardless of whether any energy is actually available to melt:
> 
> 429  C 1.25) treat the case of very thin ice:
> 
> 438     if (HEFF(I,J,bi,bj).LE.siEps) then
> 439        tmpscal2=-HEFF(I,J,bi,bj)
> 440        tmpscal3=-HSNOW(I,J,bi,bj)
> 441        TICE(I,J,bi,bj)=celsius2K
> 442     endif
> 
> 443     HEFF(I,J,bi,bj)=HEFF(I,J,bi,bj)+tmpscal2
> 444     d_HEFFbyNEG(I,J)=d_HEFFbyNEG(I,J)+tmpscal2
> 445     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)+tmpscal3
> 446     d_HSNWbyNEG(I,J)=d_HSNWbyNEG(I,J)+tmpscal3
> 
> Culprit 2) Remove HEFF when it is too large by melting, regardless of whether any energy is actually available to melt:
> 
> 1446     #ifdef SEAICE_CAP_HEFF
> 1447        C This is not energy conserving, but at least it conserves fresh water
> 1448        tmpscal0 = -MAX(HEFF(I,J,bi,bj)-MAX_HEFF,0. _d 0)
> 1449        d_HEFFbyNeg(I,J) = d_HEFFbyNeg(I,J) + tmpscal0
> 1450        HEFF(I,J,bi,bj) = HEFF(I,J,bi,bj) + tmpscal0
> 1451     #endif /* SEAICE_CAP_HEFF */
> 
> Both of these code blocks can cause heat loss from the surface grid cell when T <= T_freeze.
> 
> With respect to the first culprit, I argued earlier that it wasn't necessary but I failed to predict that it could actually lead to SST pathologies.  With respect to the second, I don't know 1) where it comes from, 2) why excessive HEFF is a thermodynamic issue (i.e. why this cap is in seaice_growth), or 3) why treating the problem of excessive HEFF is done via "not energy conserving" code.   
> 
> I also don't know whether these parts are responsible for the Martin's or anyone else's problem, although SEAICE_CAP_HEFF is defined in Gael's SEAICE_OPTIONS.h that he sent to the list.
> 
> Unless a cogent argument can be made for keeping the very thin ice "pathology", I suggest that we remove it or at least make it an option that must be explicitly specified.   For both the thin ice removal and the HEFF capping, I suggest that if either is done, we at least we do it without removing imaginary ocean heat.  If HEFF capping is related to some issue of dynamics, then I suggest that it be done elsewhere (perhaps a routine which prepares the ice field for the dynamics solver).  The more we dump code which isn't related to thermodynamic growth and the expansion and contraction of ice cover into seaice_growth, the harder and harder it becomes to read and debug.
> 
> -Ian
> 



More information about the MITgcm-devel mailing list