[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