[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