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

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] :: 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 [Z2 T-1 ~> m2 s-1].

  • % tke_itidal_coef [real(:,:),allocatable] :: The time-invariant field that enters the TKE_itidal input calculation [R Z3 T-2 ~> J m-2].

  • % 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.

type mom_int_tide_input/int_tide_input_type

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

Type fields:
  • % tke_itidal_input [real(:,:),allocatable] :: The internal tide TKE input at the bottom of the ocean [R Z3 T-3 ~> W m-2].

  • % h2 [real(:,:),allocatable] :: The squared topographic roughness height [Z2 ~> m2].

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

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

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)

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

Call to:

mom_eos::eos_domain

Called from:

set_int_tide_input

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