[MITgcm-devel] time stepping in seaice/dynsolver.F
Martin Losch
mlosch at awi-bremerhaven.de
Fri Mar 3 04:02:44 EST 2006
Hi again,
I think that I now found out how it works:
In the first loops (for the u-velocity around line 108 in lsr.F),
FORCEX/Y get contributions from U/VICE(2), which is really u(k) and
everything is as described in Zhang+Hibler(1997), except for the
implicit Coriolis treatment (which I still cannot find).
Sorry for the confusion, I shouldn't do these things while I am still
jet-lagged.
Martin
On Mar 2, 2006, at 10:17 PM, mlosch at awi-bremerhaven.de wrote:
> 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
>
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list