mom_int_tide_input module reference

Calculates energy input to the internal tides.

More…

Data Types

int_tide_input_cs

This control structure holds parameters that regulate internal tide energy inputs.

int_tide_input_type

This type is used to exchange fields related to the internal tides.

Functions/Subroutines

set_int_tide_input()

Sets the model-state dependent internal tide energy sources.

find_n2_bottom()

Estimates the near-bottom buoyancy frequency (N^2).

get_input_tke()

Returns TKE_itidal_input.

get_barotropic_tidal_vel()

Returns barotropic tidal velocities.

int_tide_input_init()

Initializes the data related to the internal tide input module.

int_tide_input_end()

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(:),allocatable] :: Diagnostic IDs.

  • % id_nb [integer] :: Diagnostic IDs.

  • % id_n2_bot [integer] :: Diagnostic IDs.

  • % initialized [logical] :: True if this control structure has been initialized.

  • % debug [logical] :: If true, write verbose checksums for debugging.

  • % diag [type( diag_ctrl ),pointer] :: A structure that is used to regulate the timing of diagnostic output.

  • % tke_itide_max [real] :: Maximum Internal tide conversion available to mix above the BBL [R Z3 T-3 ~> W m-2].

  • % kappa_fill [real] :: Vertical 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(:,:,:),allocatable] :: The 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(:,:,:),allocatable] :: The internal tide TKE input at the bottom of the ocean [R Z3 T-3 ~> W m-2].

  • % tideamp [real(:,:,:),allocatable] :: The amplitude of the tidal velocities [Z T-1 ~> m s-1].

  • % inputdir [character (len=200)] :: The directory for input files.

  • % int_tide_source_test [logical] :: If 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 [real] :: X Location of generation site for internal tide for testing [degrees_E] or [km].

  • % int_tide_source_y [real] :: Y Location of generation site for internal tide for testing [degrees_N] or [km].

  • % int_tide_source_i [integer] :: I Location of generation site.

  • % int_tide_source_j [integer] :: J Location of generation site.

  • % int_tide_use_glob_ij [logical] :: Use global indices for generation site.

  • % nfreq [integer] :: The 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(:,:),allocatable] :: The squared topographic roughness height [Z2 ~> m2].

  • % nb [real(:,:),allocatable] :: The bottom stratification [T-1 ~> s-1].

  • % rho_bot [real(:,:),allocatable] :: The 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 :: [in] The zonal velocity [L T-1 ~> m s-1]

  • v :: [in] The meridional velocity [L T-1 ~> m s-1]

  • h :: [in] Layer thicknesses [H ~> m or kg m-2]

  • tv :: [in] A structure containing pointers to the thermodynamic fields

  • fluxes :: [in] A structure of thermodynamic surface fluxes

  • itide :: [inout] A structure containing fields related to the internal tide sources.

  • dt :: [in] The time increment [T ~> s].

  • cs :: This module’s control structure.

Call to:

find_n2_bottom mom_error_handler::mom_error mom_isopycnal_slopes::vert_fill_ts

subroutine mom_int_tide_input/find_n2_bottom(h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot, rho_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

  • h :: [in] Layer thicknesses [H ~> m or kg m-2]

  • tv :: [in] A structure containing pointers to the thermodynamic fields

  • 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 :: [in] Bottom topographic roughness [Z2 ~> m2].

  • fluxes :: [in] A structure of thermodynamic surface fluxes

  • 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]

Call to:

mom_eos::eos_domain mom_interface_heights::find_rho_bottom

Called from:

set_int_tide_input

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).

  • tke_itidal_input :: [out] The energy input to the internal waves [R Z3 T-3 ~> W m-2].

  • nfreq :: [in] number of frequencies

  • cs :: A pointer that is set to point to the control structure for the internal tide input module.

Called from:

mom_internal_tides::propagate_int_tide

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).

  • vel_bttide :: [out] Barotropic velocity read from file [L T-1 ~> m s-1].

  • nfreq :: [in] number of frequencies

  • cs :: A pointer that is set to point to the control structure for the internal tide input module.

Called from:

mom_internal_tides::propagate_int_tide

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 :: [in] A structure to parse for run-time parameters

  • diag :: [inout] structure used to regulate diagnostic output.

  • cs :: This module’s control structure, which is initialized here.

  • itide :: A structure containing fields related to the internal tide sources.

Call to:

mom_string_functions::extractword mom_error_handler::mom_error mom_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.