[MITgcm-devel] time stepping in seaice/dynsolver.F
mlosch at awi-bremerhaven.de
mlosch at awi-bremerhaven.de
Thu Mar 2 16:17:30 EST 2006
Hallo Jinlun and others,
I do not understand the time stepping in the dynamics part of the
seaice model. According to Zhang and Hibler 1997, first the
velocities are updated as follows:
Matrix*u(k+1/2) = rhs(u(k)),
then in a second step its
Matrix*u(k+1) = rhs(u(k),uc), with uc=.5*(u(k)+u(k+1))
In the code (dynsolver), after the first call of LSR, UICE(1) is
updated as follows UICE(1) = UICEC = 0.5*(UICE(1)+UICE(2),
with UICE=uc, and UICE(1) = u(k+1/2), U(2) = u(k). When LSR
is called the second time, this mean that u(k+1) is actually
updated from from u(k+1/2) instead of u(k):
Matrix*u(k+1) = rhs(u(k+1/2),uc), because in the iterations, the
previous timestep UICE(3) = UICE(1) = u(k+1/2) instead of
UICE(2) = u(k). If I am not missing anything is would mean that
the ice-velocities are stepped with twice the timestep, or there is
a typo in Zhang+Hibler(1997) and I am missing a 1/2
somewhere.
What am I missing?
Martin
Martin Losch
Alfred Wegener Institute
Postfach 120161, 27515 Bremerhaven, Germany;
Tel./Fax: ++49(0471)4831-1872/1797
More information about the MITgcm-devel
mailing list