[MITgcm-devel] [MITgcm-cvs] MITgcm/pkg/seaice CVS Commit
Jean-Michel Campin
jmc at ocean.mit.edu
Fri Oct 28 08:38:50 EDT 2011
Hi Martin,
The idea was to get a better convergence of the linearised part of
the LSR solver, by using as a first guess a mixed of the
free-drift solution (v_fd) with the current seaice velocity (v0):
For each point:
new_first_guess = [ (err_v0)^2 * v_fd + (err_fd)^2 * v0 ]
/ [(err_v0)^2 + (err_fd)^2]
The solver is unchanged, so the converged solution remains the same.
It works nicely for the simple test case I was looking at:
http://mitgcm.org/pipermail/mitgcm-devel/2011-October/005009.html
not surprising, since it was a free-drift case, but without
this new feature, convergence was poor, and with rotation,
I was not getting the right response at all.
This new option does not do much when I turn it on in our seaice
test exp. that use LSR (I tried lab_sea & global_ocean.cs32x15,
it barely saves couple of iterations, but not always).
But since the weight used in this mix are local, we could
imagine that in some cases, the ice in some part of the domain
might be close to free-drift motion (and then we might see
some improvement) and in the rest of the domain where the ice
is far from free-drift solution it will not do much.
Now, as a side effect, I think I broke the adjoint when
SEAICE_ALLOW_FREEDRIFT is defined (extensive recomputation).
It does not use seaice_freedrift.F solution, but in seaice_freedrift.F,
apart from unnecessary EXCH calls, I also notice few curious thing.
Need to check with Gael.
There is one thing that might be useful to add (more useful than the
current SEAICE_ALLOW_CHECK_LSR_CONVERGENCE): Can we offer the
option to compute the error of the full seaice-dyn eq (not just
the linearised system) ?
Could re-use some of the pieces at the end of seaice_lsr.F
(in IF (useHB87StressCoupling) THEN ... block). Could also add
diagnostics for the 3 stress tensor components at the same time.
Cheers,
Jean-Michel
On Fri, Oct 28, 2011 at 09:23:14AM +0200, Martin Losch wrote:
> Hi Jean-Michel,
>
> I am curious: what does this do exactly?
> On Oct 27, 2011, at 10:44 PM, Jean-Michel Campin wrote:
>
> > - allows (if LSR_mixIniGuess=2,4) to mix free-drift solution into initial
> > guess for linearised solver; use weight ~ (1/err)^2,4.
>
>
> Martin
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list