[MITgcm-devel] seaice_solve4temp.F cleaning update

Jean-Michel Campin jmc at ocean.mit.edu
Wed Feb 1 21:18:35 EST 2012


Hi,

Some update on seaice_solve4temp.F cleaning:

I made few changes today in non-legacy version of seaice_solve4temp.F
so that now F_ia has a consistent meaning through the entire routine.
But this affects results at the machine truncation level.

Will continue the simplification/merging of the 2 parts (SOLVE4TEMP_LEGACY 
def/undef) by steps:
1) without changing results, add 2 future run-time params,
   to select which saturation vapor pressure formula is used and
   how post-iteration fluxes are set. And temporary set these 2 params
   according to option SOLVE4TEMP_LEGACY ;
   this allows to remove some of the #idef SOLVE4TEMP_LEGACY but not all.
2) remove the legacy code formulation which uses A1,A2,A3 ;
   the other formulation might be better in term of precision, i.e.,
   a small term F_sens=(coef)*(ts -ta) is not splitted into 2 big number
   in A1 (coef*ta) and in A2 (coef*ts) which might get less precise.
   This should affect results but only at the machine truncation level
   and only when using SOLVE4TEMP_LEGACY.
3) finally, move the 2 future run-time params in SEAICE_PARAM.h & 
   seaice_readparams.F and get rid off SOLVE4TEMP_LEGACY option.
I have a version after step-1 which pass fwd and AD tests.

Sea-Ice physics:
I think we should add the conductive heat flux as output argument of S/R solve4temp
so that when the surface is melting (e.g., melting snow), we keep the 
conductive heat flux Fc = effCond*(Tbase - Tsurf) = effCond*(-1.9 - 0)
to melt the bottom of the ice (and not the snow as it is now)
And use the surface heat flux convergence = Fc - F_ia to do surface melting.

If we follow this route, then it makes sense, after the tsurf iteration, 
to update the atmospheric heat flux F_ia using the linearized approximation
in order to conserve and to keep exactly Fc = F_ia when no surface melting.
I tried to make this point a year ago, in this discussion:
http://mitgcm.org/pipermail/mitgcm-devel/2010-November/004408.html
but it only makes a difference if we export Fc to seaice_growth.

I am going to add this option (to update F_ia using linearized approximation)
in case one day we want to improve seaice_growth.

Cheers,
Jean-Michel



More information about the MITgcm-devel mailing list