[MITgcm-devel] merged budget_ice
Jean-Michel Campin
jmc at ocean.mit.edu
Tue Sep 21 12:10:27 EDT 2010
Hi Ian,
I did not get the confirmation from Gael, but looks like the problem
he was having (getting NaNs) with the MITgcm_contrib version of
seaice_growth_if.F is quite similar to what I was getting (division by zero)
in the same routine. The lines of code where we have a pb are:
1268 IF (salt(I,J,kSurface,bi,bj) .GE.
1269 & SEAICE_salinity_fixed) THEN
1270
1271 FreshwaterContribFromIce(I,J) =
1272 & - ActualIceVolumeChange(I,J)*
1273 & SEAICE_rhoICE/ RHOFW* (ONE -
1274 & SEAICE_salinity_fixed/salt(I,J,kSurface,bi,bj))
I personally don't understand what this formulation means.
In addition, it introduces a sharp discontinuity around
salt() = SEAICE_salinity_fixed:
a) if salt() = -1.e-16 + SEAICE_salinity_fixed, then
FreshwaterContribFromIce is the full delta ice-volume
b) if salt() = SEAICE_salinity_fixed, then
FreshwaterContribFromIce = 0 even if there is a large
change of ice volume (from melting or freezing)
I have a 3rd remark: did not see any contribution to saltFlux,
which seems strange for the case where SEAICE_salinity(_fixed) is > 0
Thanks,
Jean-Michel
On Tue, Sep 21, 2010 at 02:27:07AM -0400, Ian Fenty wrote:
> Merging SEAICE_BUDGET_ICE and SEAICE_BUDGET_ICE_IF
>
> Fenty_Thermo_Code_Updates/code_updates/seaice_budget_ice.F
>
> The routine seaice_budget_ice.F is merged with seaice_budget_ice_if.F in
> a file which continues to be called seaice_budget_ice.F. The newly
> merged routine can use either the original "default" method for
> calculating fluxes between snow-ice and air by including "#define
> USE_ORIGINAL_SBI" in SEAICE_OPTIONS.h.
>
> The method used in seaice_budget_ice_if.F is set to be the default.
> Invoking the original flux calculations should give the same results as
> using the original seaice_budget_ice routine. The difference between
> the two methods is due to 1) alternative formulation of saturation vapor
> pressure over the ice 2) truncation errors stemming from differences in
> the ordering of some calculation 3) difference in the iterative search
> scheme ( the original method uses an approximate derivative of the
> surface energy balance w.r.t. the snow/ice surface temperature while the
> _if codes uses the full derivative.).
>
>
>
More information about the MITgcm-devel
mailing list