[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