[MITgcm-devel] pkg/seaice wish list
Martin Losch
Martin.Losch at awi.de
Mon Jun 11 05:29:09 EDT 2007
Hi,
after all these changes during the last week(s), I would like to take
a break from this seaice frenzy, but not without writing down a few
thing that still require some attention, technically speaking:
1. Defaults: currently, the seaice ice package has a few unfortunate
defaults (they affect only seaice_growth and seaice_advdiff and not
the dynamics):
- SEAICEadvSnow = .false. (changing this will change lab_sea again)
- flooding should probably be turned on by defaut (currently #undef
ALLOW_SEAICE_FLOODING and SEAICE_flooding = .false., I suggest
removeing the CPP-flag, if TAF complies, and setting SEAICE_flooding
= .true., (also changes lab_sea)
- #undef SEAICE_MULTICATEGORY should probably turned on by default.
That's a standard feature of ice models (modifies lab_sea)
- comment in these as default in seaice_growth:
CML#ifdef SEAICE_EXTERNAL_FORCING
CMLC this seems to be more natural as we do compute the wind
speed in
CMLC pkg/exf/exf_wind.F, but it changes the results
CML UG(I,J) = MAX(SEAICE_EPS,wspeed(I,J,bi,bj))
CML#else
[...]
CML#endif
2. time stepping variables: I would like to get rid of these 3 time
levels for HEFF, AREA, UICE/VICE. They make life miserable and
increase the number of exchange unnecessarily. But this would also
mean that the B-grid code would be really out of date and unusable
(unless that is sorted out as well). It also means that advection
with leap-frog is no longer possible (currently it's only possible
with the default advection scheme = 2 and no advection of snow, so
that's not really a loss)
3. related to 2: sort out the pickup files. We don't need all time
levels in the pick up files (in fact we need only one) and we don't
need all of these variables in there, e.g. YNEG could definitely be a
local variable in seaice_growth. the pickup could be devided into a
dynamics and a thermodynamics pickup, since we only need the
dynamics, if we want to use seaice+thsice.
This way we could also have netcdf pickups more easily (possibly).
4. sort out spurious exchanges especially in seaice_model
5. remove the spurious seaice forcing "package" (along with some
diagnostics, e.g. UWIND/VWIND)
6. Improve vectorisation of seaice_lsr/evp
7. add some sanity test (as Chris has suggested earlier). I have two
tests for the dynamics only, one is based on Hunke, JCP (2001), maybe
in the contrib area?
8. add simple and exchangable/tunable ridging algorithms (in a
transparent way, not as it is done now in seaice_growth, and who-
knows-where in thsice).
9. Finally, find a way to give the MITgcm a more transparent way of
doing sea ice: that is, either merge seaice and thsice (which I
prefer) or separate seaice into a dynamics and a thermodynamics package
... anything else? Oh yes, documentation, coming soon (o:
Martin
More information about the MITgcm-devel
mailing list