namespace mom_cvmix_shear

Overview

Interface to CVMix interior shear schemes. More…

namespace mom_cvmix_shear {

// global variables

character(len=40) mdl = "MOM_CVMix_shear";

// global functions

subroutine, public calculate_cvmix_shear(
    u_H u_H,
    v_H v_H,
    h h,
    tv tv,
    kd kd,
    kv kv,
    G G,
    GV GV,
    US US,
    CS CS
    );

logical function, public cvmix_shear_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    );

logical function, public cvmix_shear_is_used(param_file param_file);
subroutine, public cvmix_shear_end(CS CS);

} // namespace mom_cvmix_shear

Detailed Documentation

Interface to CVMix interior shear schemes.

Global Variables

character(len=40) mdl = "MOM_CVMix_shear"

This module’s name.

Global Functions

subroutine, public calculate_cvmix_shear(
    u_H u_H,
    v_H v_H,
    h h,
    tv tv,
    kd kd,
    kv kv,
    G G,
    GV GV,
    US US,
    CS CS
    )

Subroutine for calculating (internal) vertical diffusivities/viscosities.

Parameters:

g

Grid structure.

gv

Vertical grid structure.

us

A dimensional unit scaling type

u_h

Initial zonal velocity on T points [L T-1 ~> m s-1]

v_h

Initial meridional velocity on T points [L T-1 ~> m s-1]

h

Layer thickness [H ~> m or kg m-2].

tv

Thermodynamics structure.

kd

The vertical diffusivity at each interface (not layer!) [Z2 T-1 ~> m2 s-1].

kv

The vertical viscosity at each interface (not layer!) [Z2 T-1 ~> m2 s-1].

cs

The control structure returned by a previous call to CVMix_shear_init.

logical function, public cvmix_shear_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    )

Initialized the CVMix internal shear mixing routine.

*This is where we test to make sure multiple internal shear mixing routines (including JHL) are not enabled at the same time. (returns) CVMix_shear_init - True if module is to be used, False otherwise

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.

logical function, public cvmix_shear_is_used(param_file param_file)

Reads the parameters “LMD94” and “PP81” and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry.

Parameters:

param_file

Run-time parameter files handle.

subroutine, public cvmix_shear_end(CS CS)

Clear pointers and dealocate memory.

Parameters:

cs

Control structure for this module that will be deallocated in this subroutine