| 1 |
C $Header: /u/gcmpack/MITgcm_contrib/ksnow/press_release/code/MOM_VISC.h,v 1.1 2016/12/16 15:23:18 ksnow Exp $ |
| 2 |
C $Name: $ |
| 3 |
|
| 4 |
C- Common file for length scales |
| 5 |
|
| 6 |
#ifdef ALLOW_MOM_COMMON |
| 7 |
|
| 8 |
C-- COMMON /MOM_VISC_PAR_L/ logical-type parameters for Momemtum viscosity |
| 9 |
C useHarmonicVisc :: harmonic horizontal viscosity is used |
| 10 |
C useBiharmonicVisc :: biharmonic horizontal viscosity is used |
| 11 |
C useVariableVisc :: variable (in space or time) viscosity is used |
| 12 |
COMMON /MOM_VISC_PAR_L/ |
| 13 |
& useHarmonicVisc, useBiharmonicVisc, useVariableVisc |
| 14 |
LOGICAL useHarmonicVisc, useBiharmonicVisc, useVariableVisc |
| 15 |
|
| 16 |
COMMON /MOM_VISC_LENGTH/ L2_D, L2_Z, |
| 17 |
& L3_D, L3_Z, |
| 18 |
& L4rdt_D, L4rdt_Z |
| 19 |
_RL L2_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 20 |
_RL L2_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 21 |
_RL L3_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 22 |
_RL L3_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 23 |
_RL L4rdt_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 24 |
_RL L4rdt_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 25 |
|
| 26 |
#ifdef ALLOW_SMAG_3D |
| 27 |
C smag3D_hLsC :: horiz. grid length scale (power 2/3) at grid cell center |
| 28 |
C smag3D_hLsW :: horiz. grid length scale (power 2/3) at western edge |
| 29 |
C smag3D_hLsS :: horiz. grid length scale (power 2/3) at southern egde |
| 30 |
C smag3D_hLsZ :: horiz. grid length scale (power 2/3) at grid cell corner |
| 31 |
COMMON /MOM_SMAG_3D_LENGTH/ |
| 32 |
& smag3D_hLsC, smag3D_hLsW, |
| 33 |
& smag3D_hLsS, smag3D_hLsZ |
| 34 |
_RS smag3D_hLsC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 35 |
_RS smag3D_hLsW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 36 |
_RS smag3D_hLsS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 37 |
_RS smag3D_hLsZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 38 |
#endif /* ALLOW_SMAG_3D */ |
| 39 |
|
| 40 |
#ifdef ALLOW_3D_VISCAH |
| 41 |
C viscAhDfld, viscAhZfld :: full 3D specification of Laplacian Viscosity |
| 42 |
C coeff. for mixing of momentum horizontally ( units of m^2/s ) |
| 43 |
COMMON /MOM_VISC_3D_VISCAH/ |
| 44 |
& viscAhDfld, viscAhZfld |
| 45 |
_RL viscAhDfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 46 |
_RL viscAhZfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 47 |
#endif |
| 48 |
|
| 49 |
#ifdef ALLOW_3D_VISCA4 |
| 50 |
C viscA4Dfld, viscA4Zfld :: full 3D specification of Bi-harmonic Viscosity |
| 51 |
C coeff. for mixing of momentum horizontally ( units of m^4/s ) |
| 52 |
COMMON /MOM_VISC_3D_VISCA4/ |
| 53 |
& viscA4Dfld, viscA4Zfld |
| 54 |
_RL viscA4Dfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 55 |
_RL viscA4Zfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 56 |
#endif |
| 57 |
|
| 58 |
#ifdef ALLOW_NONHYDROSTATIC |
| 59 |
C viscAh_W :: Horizontal harmonic viscosity for vertical momentum |
| 60 |
C viscA4_W :: Horizontal biharmonic viscosity for vertical momentum |
| 61 |
COMMON /MOM_VISC_NH/ |
| 62 |
& viscAh_W, viscA4_W |
| 63 |
_RL viscAh_W(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 64 |
_RL viscA4_W(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 65 |
#endif /* ALLOW_NONHYDROSTATIC */ |
| 66 |
|
| 67 |
|
| 68 |
#ifdef ALLOW_PRESSURE_RELEASE_CODE |
| 69 |
COMMON /MOM_VISC_IMPL_DRAG/ |
| 70 |
& uDragTermsCommon, vDragTermsCommon |
| 71 |
_RL uDragTermsCommon (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 72 |
_RL vDragTermsCommon (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
| 73 |
#endif |
| 74 |
|
| 75 |
|
| 76 |
#endif /* ALLOW_MOM_COMMON */ |