[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