[MITgcm-devel] upcoming changes in seaice_growth.F
Ian Fenty
ifenty at MIT.EDU
Tue May 31 21:31:22 EDT 2011
Gael and other interested parties,
The new expressions for the regularization of AREA and HEFF for heffActual look good and I'm glad that the "case of the very small area" is now restricted to a special CPP flag.
I am slightly troubled by the fact that there is no good reason that the value used to regularize heffActual be the same as the minimum AREA that someone might want if they were to "preclude_infintesimal_area".
In other words, now we have:
#ifdef ALLOW_PRECLUDE_INFINTESIMAL_AREA
...
AREA = max(AREA, areaMin)
...
#endif
and then later,
heffActual = sqrt( (HEFF / max(areaMin, AREA))^2 + hiceMin^2)
However, the two instances of "areaMin" in the above equations actually have no relation to each other. By using the same variable in both equations we A) needlessly complicate the meaning and the role of the variable and B) incorrectly render the adjoint model a function of the minimum allowable AREA.
Better would be to use two different variables, one for regularization (area_reg) and the other for the "preclusion of infinitesimal area" (areaMin). To illustrate (and after renaming hiceMin to hice_reg to clarify its meaning as well) :
tmpscal1 = sqrt(AREA^2 + area_reg^2)
tmpscal2 = HEFF / tmpscal1
heffActual = sqrt( tmpscal2 * tmpscal2 + hice_reg * hice_reg )
That way, we know that the purpose of the variable "area_reg" is regularize the equations so as to avoid division by zero and to keep the adjoint variables from blowing up as AREA --> 0. As for the numerical value of the regularization variable, I tested values between 0.05 and 1x10^-5 and everything was stable in the 1D_ocean_ice verification setup over 11,000 time steps.
Also, since we are now regularizing heffActual in seaice_growth, there is now no reason for the following lines in "evolution" branch of seaice_solve4temp.F:
C Set a mininum sea ice thickness of 5 cm to bound
C the magnitude of conductive heat fluxes.
hice_tmp = max(HICE_ACTUAL(I,J),5.D-2)
Including the above probably breaks some sensitivity.
What do we think?
-Ian
More information about the MITgcm-devel
mailing list