[MITgcm-support] isotropic_cos_scaling and gmredi
Martin Losch
Martin.Losch at awi.de
Sat Jan 13 05:17:36 EST 2007
Hi,
I run a global model on an "isotropic" grid, that is, my dlat is
scaled with cos(latitude), that is, dlat = dlat(0)*cos(latitude), so
that my grid cells are nearly quadratic (dlon = dlon(0)*cos(latitude)
because of converging longitude circles). With the CPP-flag
ISOTROPIC_COS_SCALING one can achieve that the viscosity and
diffusivity are scaled so that, e.g. d^2\theta/dy^2 is discretized as
(roughly): d^2\theta* cos(latitude)^n / ( dlat(0)^2*cos(latitude)^2 )
where "n" is set in data (parameter cosPower), that is, the
diffusivity decreases with grid spacing.
Now, for the viscosity this is depreciated and one should rather use
the dimensionless parameters viscAhgrid, which scale automatically
with the grid spacing, or even the variable viscosity (Leigth,
Smagorinsky), so I have ISOTROPIC_COS_SCALING defined only GAD_OPTIONS.h
However, I don't want to use horizontal diffusion, but the GMREDI
package, so that tracers are mixed along isopycnals. I made a few
suprising observations, had a look at the code and could not find any
provisions for the ISOTROPIC_COS_SCALING in the gmredi package. This
is the first time that I have a closer look at the gmredi code so I
may have missed something, but I assume that the equivalent routines
to gad_diff_x/y.F are gmredi_x/ytransport.F
I am wondering why we don't have the
cosFacU
in gmredi_xtransport.F and
#ifdef ISOPYCNAL_COS_SCALING
cosFacV
#endif
in gmredi_ytransport.F in analogy to gad_diff_x/y.F
Is this simply not necessary? because the redi-tensor entries already
contain this factor, and I just didn't see it?
Puzzled,
Martin
More information about the MITgcm-support
mailing list