[MITgcm-devel] common block in seaice_dynsolver.F
Jean-Michel Campin
jmc at mit.edu
Thu Apr 19 19:03:44 EDT 2018
Hi Martin,
The main reason is to maintain an un-tested feature that consists in using
a longer time-step for seaice-dynamics than for seaice thermo (and, I imagine,
the ocean time-step), thus solving for uIce,vIce less often.
And with some option of ice/ocean stress, TAUX/TAUY are used in SEAICE_OCEAN_STRESS
outside the if-block DIFFERENT_MULTIPLE(SEAICE_deltaTdyn, ...
Now this feature is not used very often, and I would recommand to disable it cleanly
for the adjoint, since it makes the code more complicated (requires more storage dir;
plus the adjoint of seaice-dynamics is tricky, so to simplify it could help.
In addition, this feature is curently broken for the adjoint (lines 97-98,
TAUX & TAUX are reset to zero).
If we were following this route (disable this with #ifdef ALLOW_AUTODIFF), we might
be able to remove storage dir for stressDivergenceX/Y by resetting them to zero
(like currently TAUX/TAUY) within #ifdef ALLOW_AUTODIFF
Cheers,
Jean-Michel
On Thu, Apr 19, 2018 at 11:12:16AM +0200, Martin Losch wrote:
> Hi Jean-Michel,
>
> I probably should have participated more in the reviewing process of you pull-request about seaice wind stress and asked these unimportant questions then:
> - Why do you need to put TAUX/TAUY into a local common block in seaice_dynsolver?
> - Why do these local variables need to be initialized for nIter0? They are initialized in each time step anyway in line 193/194 before seaice_get_dynforcing is called.
>
> Martin
>
> BTW. git (actually curl) on stan works again and today we an have up-to-date testreport.
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list