From bf322c84eb1d9399472222e3b643e0f0e2a73769 Mon Sep 17 00:00:00 2001 From: alperaltuntas Date: Thu, 5 Apr 2018 17:29:57 -0600 Subject: [PATCH] add tidal mixing-specific prandtl number --- src/parameterizations/vertical/MOM_diabatic_driver.F90 | 4 +--- src/parameterizations/vertical/MOM_tidal_mixing.F90 | 10 +++++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/parameterizations/vertical/MOM_diabatic_driver.F90 b/src/parameterizations/vertical/MOM_diabatic_driver.F90 index 37092616ac..70412a716b 100644 --- a/src/parameterizations/vertical/MOM_diabatic_driver.F90 +++ b/src/parameterizations/vertical/MOM_diabatic_driver.F90 @@ -585,7 +585,6 @@ subroutine diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, G endif call cpu_clock_begin(id_clock_set_diffusivity) - ! Sets: Kd, Kd_int, visc%Kd_extra_T, visc%Kd_extra_S ! Also changes: visc%Kd_shear, visc%TKE_turb (not clear that TKE_turb is used as input ???? ! And sets visc%Kv_shear @@ -2342,8 +2341,7 @@ subroutine diabatic_driver_init(Time, G, GV, param_file, useALEalgorithm, diag, allocate(CS%frazil_heat_diag(isd:ied,jsd:jed,nz) ) ; CS%frazil_heat_diag(:,:,:) = 0. endif - ! CS%use_tidal_mixing is set to True if an internal tidal dissipation scheme - ! is to be used to drive diapycnal mixing. + ! CS%use_tidal_mixing is set to True if an internal tidal dissipation scheme is to be used. CS%use_tidal_mixing = tidal_mixing_init(Time, G, GV, param_file, diag, diag_to_Z_CSp, CS%tidal_mixing_CSp) ! CS%use_cvmix_conv is set to True if CVMix convection will be used, otherwise diff --git a/src/parameterizations/vertical/MOM_tidal_mixing.F90 b/src/parameterizations/vertical/MOM_tidal_mixing.F90 index 6e1c12180e..a59af01afb 100644 --- a/src/parameterizations/vertical/MOM_tidal_mixing.F90 +++ b/src/parameterizations/vertical/MOM_tidal_mixing.F90 @@ -201,7 +201,7 @@ logical function tidal_mixing_init(Time, G, GV, param_file, diag, diag_to_Z_CSp, character(len=200) :: filename, h2_file, Niku_TKE_input_file character(len=200) :: tidal_energy_file, tideamp_file type(vardesc) :: vd - real :: utide, zbot, hamp, prandtl + real :: utide, zbot, hamp, prandtl_tidal real :: Niku_scale ! local variable for scaling the Nikurashin TKE flux data integer :: i, j, is, ie, js, je integer :: isd, ied, jsd, jed @@ -482,9 +482,12 @@ logical function tidal_mixing_init(Time, G, GV, param_file, diag, diag_to_Z_CSp, ! TODO: list all available tidal energy types here call get_param(param_file, mdl, 'MIN_THICKNESS', CS%min_thickness, default=0.001, & do_not_log=.True.) - call get_param(param_file, mdl, "PRANDTL_TURB", prandtl,units="nondim", default=1.0, & + call get_param(param_file, mdl, "PRANDTL_TIDAL", prandtl_tidal, & + "Prandtl number used by CVMix tidal mixing schemes \n"//& + "to convert vertical diffusivities into viscosities.", & + units="nondim", default=1.0, & do_not_log=.true.) - call cvmix_put(CS%cvmix_glb_params,'Prandtl',prandtl) + call cvmix_put(CS%cvmix_glb_params,'Prandtl',prandtl_tidal) int_tide_profile_str = lowercase(int_tide_profile_str) @@ -672,6 +675,7 @@ subroutine calculate_cvmix_tidal(h, j, G, GV, CS, N2_int, Kd) ! Since we pass tidal_qe_2d=(CS%Gamma_itides)*tidal_energy_flux_2d, and not tidal_energy_flux_2d in ! above subroutine call, we divide Simmons_coeff by CS%Gamma_itides as a corrective step: + ! TODO: (CS%Gamma_itides)*tidal_energy_flux_2d is unnecessary, directly use tidal_energy_flux_2d Simmons_coeff = Simmons_coeff / CS%Gamma_itides