[MITgcm-devel] seaice_growth_if.F
Ian G. Fenty
ifenty at MIT.EDU
Tue Sep 21 22:56:40 EDT 2010
Jean-Michel,
Thanks for looking at the code more closely. I cleaned up the ice
salinity section so as to 1) avoid a divide by zero in case
SEAICE_salinity_fixed = 0 and 2) remove the discontinuity you correctly
identified. By the way, I never encountered the cases which triggered
these NaNs in your run as I always used 0 < SEAICE_salinity_fixed < salt.
Here is the updated section with clarified comments/reasoning:
1268 c If the seawater salinity is less than
SEAICE_salinity_fixed
1269 c or zero, assume that ice is as saline as the
seawater.
1270 c salinity
1271 IF ((salt(I,J,kSurface,bi,bj) .EQ. ZERO) .OR.
1272 & (salt(I,J,kSurface,bi,bj) .LE.
1273 & SEAICE_salinity_fixed)) THEN
1274
1275 FreshwaterContribFromIce(I,J) = ZERO
1276
1277 c If seawater salinity is greater than the
specified
1278 c ice salinity, the freshwater contribution
from ice is
1279 c the volume of freshwater required to mix with
1280 c seawater to yield sea ice having salinity
1281 c SEAICE_salinity_fixed. Another way of
looking at this
1282 c formulation is to assume that the sea ice is
a mixture
1283 c of a volume of freshwater and volume of water
with
1284 c salinity "salt". When ice grows (or melts),
only the
1285 c extraction (release) of the freshwater volume
1286 c alters the seawater salinity.
1287 ELSEIF ( salt(I,J,kSurface,bi,bj) .GT.
1288 & SEAICE_salinity_fixed ) THEN
1289
1290 FreshwaterContribFromIce(I,J) =
1291 & - ActualIceVolumeChange(I,J)*
1292 & SEAICE_rhoICE/ RHOFW* (ONE -
1293 & SEAICE_salinity_fixed/salt(I,J,kSurface,bi,bj))
1294
1295 ENDIF
> I have a 3rd remark: did not see any contribution to saltFlux,
> which seems strange for the case where SEAICE_salinity(_fixed) is > 0
There is no contribution to salt flux because I am using EmPmR alone to
make seawater salinity adjustments. Is using EmPmR alone is no longer
considered good form. If I understand it correctly, the default current
seaice_growth.F gives the volume of ice grown or melted to EmPmR (which
I read as saying that the ice is fresh) and separately determines the
ice's salt and gives that to saltFlux so that seawater salinity is
adjusted properly. Is there some reason to prefer that method?
-Ian
More information about the MITgcm-devel
mailing list