# [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
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