mom_int_tide_input module reference
Calculates energy input to the internal tides.
Data Types
This control structure holds parameters that regulate internal tide energy inputs. |
|
This type is used to exchange fields related to the internal tides. |
Functions/Subroutines
Sets the model-state dependent internal tide energy sources. |
|
Estimates the near-bottom buoyancy frequency (N^2). |
|
Returns TKE_itidal_input. |
|
Returns barotropic tidal velocities. |
|
Initializes the data related to the internal tide input module. |
|
Deallocates any memory related to the internal tide input module. |
Detailed Description
Calculates energy input to the internal tides.
Type Documentation
- type mom_int_tide_input/int_tide_input_cs
This control structure holds parameters that regulate internal tide energy inputs.
- Type fields:
% id_tke_itidal_itide ::
integer, dimension(:), allocatableDiagnostic IDs.% id_nb ::
integerDiagnostic IDs.% id_n2_bot ::
integerDiagnostic IDs.% initialized ::
logicalTrue if this control structure has been initialized.% debug ::
logicalIf true, write verbose checksums for debugging.% diag ::
type(diag_ctrl), pointerA structure that is used to regulate the timing of diagnostic output.% tke_itide_maxi ::
realMaximum Internal tide conversion available to mix above the BBL [H Z2 T-3 ~> m3 s-3 or W m-2].% kappa_fill ::
realVertical diffusivity used to interpolate sensible values of T & S into thin layers [H Z T-1 ~> m2 s-1 or kg m-1 s-1].% tke_itidal_coef ::
real, dimension(:,:,:), allocatableThe time-invariant field that enters the TKE_itidal input calculation noting that the stratification and perhaps density are time-varying [R Z4 H-1 T-2 ~> J m-2 or J m kg-1].% tke_itidal_input ::
real, dimension(:,:,:), allocatableThe internal tide TKE input at the bottom of the ocean [H Z2 T-3 ~> m3 s-3 or W m-2].% tideamp ::
real, dimension(:,:,:), allocatableThe amplitude of the tidal velocities [L T-1 ~> m s-1].% inputdir ::
character(len=200)The directory for input files.% int_tide_source_test ::
logicalIf true, apply an arbitrary generation site for internal tide testing.% time_max_source ::
type(time_type)A time for use in testing internal tides.% int_tide_source_x ::
realX Location of generation site for internal tide for testing [degrees_E] or [km].% int_tide_source_y ::
realY Location of generation site for internal tide for testing [degrees_N] or [km].% int_tide_source_i ::
integerI Location of generation site.% int_tide_source_j ::
integerJ Location of generation site.% int_tide_use_glob_ij ::
logicalUse global indices for generation site.% nfreq ::
integerThe number of internal tide frequency bands.
- type mom_int_tide_input/int_tide_input_type
This type is used to exchange fields related to the internal tides.
- Type fields:
% h2 ::
real, dimension(:,:), allocatableThe squared topographic roughness height [Z2 ~> m2].% nb ::
real, dimension(:,:), allocatableThe bottom stratification [T-1 ~> s-1].% rho_bot ::
real, dimension(:,:), allocatableThe bottom density or the Boussinesq reference density [R ~> kg m-3].
Function/Subroutine Documentation
- subroutine mom_int_tide_input/set_int_tide_input(u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)
Sets the model-state dependent internal tide energy sources.
- Parameters:
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
u ::
u[in] The zonal velocity [L T-1 ~> m s-1]v ::
v[in] The meridional velocity [L T-1 ~> m s-1]h ::
h[in] Layer thicknesses [H ~> m or kg m-2]tv ::
tv[in] A structure containing pointers to the thermodynamic fieldsfluxes ::
fluxes[in] A structure of thermodynamic surface fluxesitide ::
itide[inout] A structure containing fields related to the internal tide sources.dt ::
dt[in] The time increment [T ~> s].cs :: This module’s control structure.
- Call to:
find_n2_bottommom_error_handler::mom_errormom_isopycnal_slopes::vert_fill_ts
- subroutine mom_int_tide_input/find_n2_bottom(G, GV, US, tv, fluxes, h, T_f, S_f, h2, N2_bot, Rho_bot, h_bot, k_bot)
Estimates the near-bottom buoyancy frequency (N^2).
- Parameters:
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
tv ::
tv[in] A structure containing pointers to the thermodynamic fieldsfluxes ::
fluxes[in] A structure of thermodynamic surface fluxesh ::
h[in] Layer thicknesses [H ~> m or kg m-2]t_f :: [in] Temperature after vertical filtering to smooth out the values in thin layers [C ~> degC].
s_f :: [in] Salinity after vertical filtering to smooth out the values in thin layers [S ~> ppt].
h2 ::
h2[in] Bottom topographic roughness [Z2 ~> m2].n2_bot :: [out] The squared buoyancy frequency at the ocean bottom [T-2 ~> s-2].
rho_bot :: [out] The average density near the ocean bottom [R ~> kg m-3]
h_bot ::
h_bot[out] Bottom boundary layer thickness [H ~> m or kg m-2]k_bot ::
k_bot[out] Bottom boundary layer top layer index
- Call to:
- Called from:
- subroutine mom_int_tide_input/get_input_tke(G, TKE_itidal_input, nFreq, CS)
Returns TKE_itidal_input.
- Parameters:
g :: [in] The ocean’s grid structure (in).
nfreq :: [in] number of frequencies
tke_itidal_input :: [out] The energy input to the internal waves
cs :: A pointer that is set to point to the control structure for the internal tide input module.
- Called from:
- subroutine mom_int_tide_input/get_barotropic_tidal_vel(G, vel_btTide, nFreq, CS)
Returns barotropic tidal velocities.
- Parameters:
g :: [in] The ocean’s grid structure (in).
nfreq :: [in] number of frequencies
vel_bttide :: [out] Barotropic velocity read from file [L T-1 ~> m s-1].
cs :: A pointer that is set to point to the control structure for the internal tide input module.
- Called from:
- subroutine mom_int_tide_input/int_tide_input_init(Time, G, GV, US, param_file, diag, CS, itide)
Initializes the data related to the internal tide input module.
- Parameters:
time :: [in] The current model time
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
param_file ::
param_file[in] A structure to parse for run-time parametersdiag ::
diag[inout] structure used to regulate diagnostic output.cs :: This module’s control structure, which is initialized here.
itide ::
itideA structure containing fields related to the internal tide sources.
- Call to:
mom_string_functions::extractwordmom_error_handler::mom_errormom_diag_mediator::register_diag_field
- subroutine mom_int_tide_input/int_tide_input_end(CS)
Deallocates any memory related to the internal tide input module.
- Parameters:
cs :: This module’s control structure, which is deallocated here.