[MITgcm-devel] change vertical diffusivity
Jean-Michel Campin
jmc at ocean.mit.edu
Mon Oct 18 09:54:30 EDT 2004
Hi Patrick,
I want to fix this ptracer vertical diffusivity problem
without making a 3.D x Nb_tracers array (right now,
we read-in PTRACERS_diffKr but use instead the
KappaRS for all the passive tracers).
The solution looks easy:
Explicit vertical diffusivity:
Needs only 1 KappaR at level k (2.D) but needs one for each tracer.
create a 2.D x Nb_tracers array ; load with a sightly different
version of calc_diffusivity.
Implicit vertical diffusivity:
tracers are solved one after the other, and need just to
call an other calc_diffusivity version for each tracer.
(just need one 3.D kappaR)
The only problem is the adjoint.
What I propose is to do those modifications in 2 steps:
1) change all the upper level S/R (calc_gT,gS and upper)
that uses a 3.D KappaRT & KappaRS and make the argument a 2.D array.
I don't change anyting in thermodynamics.F for now, just the
call calc_gT,gS. I will not have to change the store directives
and this should not break the adjoint code (I hope).
2) works with you, when you have time, to see how to change
thermodynamics without breaking the adjoint.
Does this seem reasonable ?
Jean-Michel
More information about the MITgcm-devel
mailing list