[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