[MITgcm-devel] seaice dynamics in a 2-D set-up

Jean-Michel Campin jmc at ocean.mit.edu
Wed Mar 4 15:23:14 EST 2015


Hi Martin,

Thanks for the suggestions: I increased the tolerance (from 1e-12 before to
2e-9 as you suggested) and it reduces the number of "non converging" messages
that I am getting, also run a little bit faster.

Now, I am still not sure that the linear solver converges well enough.
In fact, in this latest run, the report that I am getting from SEAICE_LSR
seems to indicate no real convergence. For instance:
 SEAICE_LSR: Residual Initial ipass,Uice,Vice=    1  7.74384419E-03  1.27959541E-02
 SEAICE_LSR (ipass=   1) iters,dU,Resid=    98  1.84258913E-09  7.73824698E-03
 SEAICE_LSR (ipass=   1) iters,dV,Resid=   448  1.99455537E-09  1.27569603E-02
 SEAICE_LSR: Residual Initial ipass,Uice,Vice=    2  7.73904339E-03  1.27591200E-02
 SEAICE_LSR (ipass=   2) iters,dU,Resid=    90  1.91089900E-09  7.73729344E-03
 SEAICE_LSR (ipass=   2) iters,dV,Resid=   114  1.99557763E-09  1.27661753E-02
the final residual is in fact very close (sometimes smaller, sometimes larger)
to the initial residual.

Regarding the JNFK option: I am using the default number of non-linear
solver iteration (i.e. 2) and I imagined that using JFNK would make sense with
more Non-Lin iterations (-> increase the cost) but not fixing the linear solver
convergence.

And finally regarding Nx=1: since some parts of the solver (the implicit
tridiagonal part only ?) are not tile independent, I am not sure that
when I have Nx=1 I really zero out all derivative in X direction.
I tried SEAICEuseMultiTileSolver=T (but I don't trust too much this
code because I know who wrote it) but this did not help.

Cheers,
Jean-Michel

On Wed, Mar 04, 2015 at 06:07:27PM +0100, Martin Losch wrote:
> Hi Jean-Michel,
> 
> do you think that Ny=1 is the problem? I don’t think so, because always the LSR solver converges only very slowly. I see the same problem when I start from a horizonally homogeneous ice distribution. It takes a while before the ice starts moving, ie. from uice=vice=0 => solver does not do anything => doesn’t cost anything, but when it starts, LSR picks up, does not converge and uses a lot of time.
> 
> If you want a converging (but still expensive) solver use JFNK (for a start the parameters in offline_exf_seaice.dyn_jfnk should be OK, also have a look at SEAICE_OPTIONS.h!)
> 
> Also, convergence is always improved for larger seaice_eps (default is 1e-11, but 2e-9 is used very often), and a smoother/better regularization (not implemented: deltaCreg = deltaC + seaice_eps).
> 
> Martin
> > On 04 Mar 2015, at 17:55, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
> > 
> > Hi Martin and others,
> > 
> > I am trying to run a simple oceanic 2-D (Y-Z) set-up with seaice dynamics.
> > It starts without seaice and before seaice forms the LSR solver
> > converges (not just doing 1 iteration, but within 10-12 iters).
> > 
> > But as soon as there is seaice, it stops converging and
> > more than half of the CPU time is spent in SEAICE_DYNSOLVER
> > (despite the fact that I have 50 levels + SOM advection scheme).
> > 
> > I can reduce the max number of LSR iterations (SOLV_MAX_ITERS),
> > faster but still not great.
> > I tried separatly SEAICEuseMultiTileSolver=T and SEAICE_OLx,y=1
> > but the improvement is very marginal.
> > 
> > I am tempting to reduce even more SOLV_MAX_ITERS but start to worry
> > about what the ice velocity will be.
> > Is there anything I could try ?
> > and should we think of some code modification for the specific case
> > where Nx=1 or Ny=1 ?
> > 
> > Cheers,
> > Jean-Michel
> > 
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel



More information about the MITgcm-devel mailing list