| 1 | 
ksnow | 
1.2 | 
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 | 
ksnow | 
1.1 | 
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 | 
ksnow | 
1.2 | 
#ifdef ALLOW_PRESSURE_RELEASE_CODE | 
| 69 | 
ksnow | 
1.1 | 
      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 */ |