namespace mom_tidal_mixing¶
Overview¶
Interface to vertical tidal mixing schemes including CVMix tidal mixing. More…
namespace mom_tidal_mixing { // global variables character*(20), parameter stlaurent_profile_string = "STLAURENT_02"; // global functions logical function, public tidal_mixing_init( Time Time, G G, GV GV, US US, param_file param_file, diag diag, CS CS ); subroutine, public calculate_tidal_mixing( h h, N2_bot N2_bot, j j, TKE_to_Kd TKE_to_Kd, max_TKE max_TKE, G G, GV GV, US US, CS CS, N2_lay N2_lay, N2_int N2_int, Kd_lay Kd_lay, Kd_int Kd_int, Kd_max Kd_max, Kv Kv ); subroutine, public setup_tidal_diagnostics(G G, CS CS); subroutine, public post_tidal_diagnostics(G G, GV GV, h h, CS CS); subroutine, public tidal_mixing_end(CS CS); } // namespace mom_tidal_mixing
Detailed Documentation¶
Interface to vertical tidal mixing schemes including CVMix tidal mixing.
Global Variables¶
character*(20), parameter stlaurent_profile_string = "STLAURENT_02"
Initializes internal tidal dissipation scheme for diapycnal mixing.
Parameters:
time |
The current time. |
g |
Grid structure. |
gv |
Vertical grid structure. |
us |
A dimensional unit scaling type |
param_file |
Run-time parameter file handle |
diag |
Diagnostics control structure. |
cs |
This module’s control structure. |
Global Functions¶
logical function, public tidal_mixing_init( Time Time, G G, GV GV, US US, param_file param_file, diag diag, CS CS )
Initializes internal tidal dissipation scheme for diapycnal mixing.
Parameters:
time |
The current time. |
g |
Grid structure. |
gv |
Vertical grid structure. |
us |
A dimensional unit scaling type |
param_file |
Run-time parameter file handle |
diag |
Diagnostics control structure. |
cs |
This module’s control structure. |
subroutine, public calculate_tidal_mixing( h h, N2_bot N2_bot, j j, TKE_to_Kd TKE_to_Kd, max_TKE max_TKE, G G, GV GV, US US, CS CS, N2_lay N2_lay, N2_int N2_int, Kd_lay Kd_lay, Kd_int Kd_int, Kd_max Kd_max, Kv Kv )
Depending on whether or not CVMix is active, calls the associated subroutine to compute internal tidal dissipation and to add the effect of internal-tide-driven mixing to the layer or interface diffusivities.
Parameters:
g |
The ocean’s grid structure |
gv |
The ocean’s vertical grid structure |
us |
A dimensional unit scaling type |
h |
Layer thicknesses [H ~> m or kg m-2] |
n2_bot |
The near-bottom squared buoyancy frequency [T-2 ~> s-2]. |
n2_lay |
The squared buoyancy frequency of the layers [T-2 ~> s-2]. |
n2_int |
The squared buoyancy frequency at the interfaces [T-2 ~> s-2]. |
j |
The j-index to work on |
tke_to_kd |
The conversion rate between the TKE dissipated within a layer and the diapycnal diffusivity within that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] |
max_tke |
The energy required to for a layer to entrain to its maximum realizable thickness [Z3 T-3 ~> m3 s-3] |
cs |
The control structure for this module |
kd_lay |
The diapycnal diffusvity in layers [Z2 T-1 ~> m2 s-1]. |
kd_int |
The diapycnal diffusvity at interfaces, |
kd_max |
The maximum increment for diapycnal diffusivity due to TKE-based processes, [Z2 T-1 ~> m2 s-1]. Set this to a negative value to have no limit. |
kv |
The “slow” vertical viscosity at each interface (not layer!) [Z2 T-1 ~> m2 s-1]. |
subroutine, public setup_tidal_diagnostics(G G, CS CS)
Sets up diagnostics arrays for tidal mixing.
Parameters:
g |
The ocean’s grid structure |
cs |
The control structure for this module |
subroutine, public post_tidal_diagnostics(G G, GV GV, h h, CS CS)
This subroutine offers up diagnostics of the tidal mixing.
Parameters:
g |
The ocean’s grid structure |
gv |
The ocean’s vertical grid structure. |
h |
Layer thicknesses [H ~> m or kg m-2]. |
cs |
The control structure for this module |
subroutine, public tidal_mixing_end(CS CS)
Clear pointers and deallocate memory.
Parameters:
cs |
This module’s control structure, which will be deallocated in this routine. |