[Mitgcm-support] potential problem with dynamics - calc_viscosity - mom_...
mitgcm-support at dev.mitgcm.org
mitgcm-support at dev.mitgcm.org
Wed Jul 9 15:45:07 EDT 2003
There is a partial recomputation issue in addynamics
which potentially causes problems in reverse mode
(probably machine-state-dependent):
kapparu,kapparv are recomputed in addynamics
(which makes sense), but are not entirely
re-initialized over (1-olx:snx+olx,1-oly:sny+oly)
since the array is set in calc_viscosity
(TAMC manual, section 3.4.2, "Known Problems" #2).
However, calc_viscosity acts only on
(imin:imax,jmin:jmax)=(1-olx+2:snx+olx-1,1-oly+2:sny+oly-1),
so that parts of the overlap remain undefined.
kapparu,kapparv are later used, e.g. in
mom_v_bottomdrag on a larger range
(1-olx:snx+olx-1,1-oly+1:sny+oly-1). This,
the undefined values can propagates into the overlap,
and later, via the adexch into the interior.
In fact, a similar problem should occur in the
forward mode (calc_viscosity is called before
mom_fluxform), but because of the initialisation
of kapparu,kapparv to zero over the whole domain
(missing in addynamics) it doesn't cause harm.
The quick fix is in calc_viscosity to
extend the index range to the full domain when
setting kappa to the background.
The long-term fix is to see whether the array boundary
inconsistencies can be sorted out.
Since calc_viscosity also calls KPP,
kapparu,kapparv remain inconsistent in parts
of the overlap, when used in admom_...
and later propagate into the interior via adexch_...
--
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Patrick Heimbach FON: +1 / 617 / 253-5259
Massachusetts Institute of Technology FAX: +1 / 617 / 253-4464
EAPS, Room 54-1518
77 Massachusetts Avenue mailto:heimbach at mit.edu
Cambridge MA 02139, U.S.A. http://www.mit.edu/~heimbach/
More information about the MITgcm-support
mailing list