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.