[MITgcm-support] How to keep Prandtl number as one when 3D vertical eddy diffusivity is empolyed?

Martin Losch Martin.Losch at awi.de
Mon Aug 19 11:36:35 EDT 2019


Hi again,

what I meant is this:

diffKr is a global variable defined in DYNVARS.h (only if ALLOW_3D_DIFFKR), diffKr is read from a file and is applied to the tracers. You could abuse this field and as a hack apply it also to the viscosities, eg. following lines 56-61 in calc_viscosity.F (where DYNVARS.h is already available):
       DO j = 1-OLy, sNy+OLy
        DO i = 1-OLx, sNx+OLx
         kappaRU(i,j,k) = viscArNr(ki)
         kappaRV(i,j,k) = viscArNr(ki)
        ENDDO
       ENDDO
#ifdef ALLOW_3D_DIFFKR
       DO j = 1-OLy, sNy+OLy
        DO i = 1-OLx, sNx+OLx
         kappaRU(i,j,k) = kappaRU(i,j,k) + diffKr(i,j,ki,bi,bj)*factor
         kappaRV(i,j,k) = kappaRV(i,j,k) + diffKr(i,j,ki,bi,bj)*factor
        ENDDO
       ENDDO
#endif

where “factor” could be some constant (probably >1)

Martin

> On 19. Aug 2019, at 16:47, Ruan Xiaozhou <saberruan at hotmail.com> wrote:
> 
> Hi Martin,
> 
> That is indeed an easier solution if your diffusivity only comes from the input diffKr field. It might be a bit problematic if you have contributions from other packages since KappaRTr doesn’t seem to be a global variable to be used in dynamics.F.
> 
> Xiaozhou
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list