[MITgcm-devel] mom_calc_visc.F

David Ferreira dfer at mit.edu
Mon Mar 2 16:14:55 EST 2009


Hi,
I've got a question about the variable bi-harmonic viscosities. In the
MITgcm, there is the possibility to specify a non-dimensional horizontal
bi-harmonic viscosity through viscA4Grid. The model then computes
the actual viscosity taking into account the local size of the grid-point.
This local grid-scale can be computed 2 different ways (through the
flag useAreaViscLength):

C These are (powers of) length scales
         IF (useAreaViscLength) THEN
          L2=rA(i,j,bi,bj)
          L4rdt=0.03125 _d 0*recip_dt*L2**2
         ELSE
          L2=2. _d 0/((recip_DXF(I,J,bi,bj)**2+recip_DYF(I,J,bi,bj)**2))
          L4rdt=recip_dt/( 6. _d 0*(recip_DXF(I,J,bi,bj)**4
     &                             +recip_DYF(I,J,bi,bj)**4)
     &                   +8. _d 0*((recip_DXF(I,J,bi,bj)
     &                             *recip_DYF(I,J,bi,bj))**2) )
         ENDIF

The default (useAreaViscLength=.FALSE.) compute the grid
factor directly from the length scales, otherwise it is done from
the area of the grid-point (for the cube-sphere for example).

I was expecting that the 2 formula above would give the same results
for  cartesian square grid-box (dx=dy). This is the case for L2 but not for
L4rdt.
If useAreaViscLength is TRUE, then L4rdt = dx^4/(32*deltaT),
otherwise it is L4rdt = dx^4/(20*deltaT).

Does anyone know which coefficient is the correct one ?
Thanks,
david







More information about the MITgcm-devel mailing list