Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/ZDF/zdfiwm.F90
- Timestamp:
- 2021-11-26T12:27:56+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/ZDF/zdfiwm.F90
r14986 r15540 41 41 LOGICAL :: ln_tsdiff ! account for differential T/S wave-driven mixing (=T) or not (=F) 42 42 43 REAL( wp):: r1_6 = 1._wp / 6._wp44 45 REAL( wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ebot_iwm ! power available from high-mode wave breaking (W/m2)46 REAL( wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: epyc_iwm ! power available from low-mode, pycnocline-intensified wave breaking (W/m2)47 REAL( wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ecri_iwm ! power available from low-mode, critical slope wave breaking (W/m2)48 REAL( wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: hbot_iwm ! WKB decay scale for high-mode energy dissipation (m)49 REAL( wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: hcri_iwm ! decay scale for low-mode critical slope dissipation (m)43 REAL(dp):: r1_6 = 1._wp / 6._wp 44 45 REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ebot_iwm ! power available from high-mode wave breaking (W/m2) 46 REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: epyc_iwm ! power available from low-mode, pycnocline-intensified wave breaking (W/m2) 47 REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ecri_iwm ! power available from low-mode, critical slope wave breaking (W/m2) 48 REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: hbot_iwm ! WKB decay scale for high-mode energy dissipation (m) 49 REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: hcri_iwm ! decay scale for low-mode critical slope dissipation (m) 50 50 51 51 !! * Substitutions … … 121 121 INTEGER , INTENT(in ) :: kt ! ocean time step 122 122 INTEGER , INTENT(in ) :: Kmm ! time level index 123 REAL( wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points)124 REAL( wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points)123 REAL(dp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) 124 REAL(dp), DIMENSION(:,:,:) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points) 125 125 ! 126 126 INTEGER :: ji, jj, jk ! dummy loop indices 127 REAL( wp), SAVE :: zztmp128 REAL( wp) :: ztmp1, ztmp2 ! scalar workspace129 REAL( wp), DIMENSION(A2D(nn_hls)) :: zfact ! Used for vertical structure130 REAL( wp), DIMENSION(A2D(nn_hls)) :: zhdep ! Ocean depth131 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: zwkb ! WKB-stretched height above bottom132 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: zweight ! Weight for high mode vertical distribution133 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: znu_t ! Molecular kinematic viscosity (T grid)134 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: znu_w ! Molecular kinematic viscosity (W grid)135 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: zReb ! Turbulence intensity parameter136 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: zemx_iwm ! local energy density available for mixing (W/kg)137 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: zav_ratio ! S/T diffusivity ratio (only for ln_tsdiff=T)138 REAL( wp), DIMENSION(A2D(nn_hls),jpk) :: zav_wave ! Internal wave-induced diffusivity139 REAL( wp), ALLOCATABLE, DIMENSION(:,:,:) :: z3d ! 3D workspace used for iom_put140 REAL( wp), ALLOCATABLE, DIMENSION(:,:) :: z2d ! 2D - - - -127 REAL(dp), SAVE :: zztmp 128 REAL(dp) :: ztmp1, ztmp2 ! scalar workspace 129 REAL(dp), DIMENSION(A2D(nn_hls)) :: zfact ! Used for vertical structure 130 REAL(dp), DIMENSION(A2D(nn_hls)) :: zhdep ! Ocean depth 131 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: zwkb ! WKB-stretched height above bottom 132 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: zweight ! Weight for high mode vertical distribution 133 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: znu_t ! Molecular kinematic viscosity (T grid) 134 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: znu_w ! Molecular kinematic viscosity (W grid) 135 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: zReb ! Turbulence intensity parameter 136 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: zemx_iwm ! local energy density available for mixing (W/kg) 137 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: zav_ratio ! S/T diffusivity ratio (only for ln_tsdiff=T) 138 REAL(dp), DIMENSION(A2D(nn_hls),jpk) :: zav_wave ! Internal wave-induced diffusivity 139 REAL(dp), ALLOCATABLE, DIMENSION(:,:,:) :: z3d ! 3D workspace used for iom_put 140 REAL(dp), ALLOCATABLE, DIMENSION(:,:) :: z2d ! 2D - - - - 141 141 !!---------------------------------------------------------------------- 142 142 ! … … 410 410 INTEGER :: inum ! local integer 411 411 INTEGER :: ios 412 REAL( wp) :: zbot, zpyc, zcri ! local scalars412 REAL(dp) :: zbot, zpyc, zcri ! local scalars 413 413 ! 414 414 CHARACTER(len=256) :: cn_dir ! Root directory for location of ssr files
Note: See TracChangeset
for help on using the changeset viewer.