namespace mom_energetic_pbl

Overview

Energetically consistent planetary boundary layer parameterization. More…

namespace mom_energetic_pbl {

// global variables

integer, parameter use_fixed_mstar = 0;

// global functions

subroutine, public energetic_pbl(
    h_3d h_3d,
    u_3d u_3d,
    v_3d v_3d,
    tv tv,
    fluxes fluxes,
    dt dt,
    Kd_int Kd_int,
    G G,
    GV GV,
    US US,
    CS CS,
    dSV_dT dSV_dT,
    dSV_dS dSV_dS,
    TKE_forced TKE_forced,
    buoy_flux buoy_flux,
    dt_diag dt_diag,
    last_call last_call,
    dT_expected dT_expected,
    dS_expected dS_expected,
    Waves Waves
    );

subroutine, public energetic_pbl_get_mld(CS CS, MLD MLD, G G, US US, m_to_MLD_units m_to_MLD_units);

subroutine, public energetic_pbl_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    );

subroutine, public energetic_pbl_end(CS CS);

} // namespace mom_energetic_pbl

Detailed Documentation

Energetically consistent planetary boundary layer parameterization.

Global Variables

integer, parameter use_fixed_mstar = 0

Enumeration values for mstar_Scheme.

The value of mstar_scheme to use a constant mstar

Global Functions

subroutine, public energetic_pbl(
    h_3d h_3d,
    u_3d u_3d,
    v_3d v_3d,
    tv tv,
    fluxes fluxes,
    dt dt,
    Kd_int Kd_int,
    G G,
    GV GV,
    US US,
    CS CS,
    dSV_dT dSV_dT,
    dSV_dS dSV_dS,
    TKE_forced TKE_forced,
    buoy_flux buoy_flux,
    dt_diag dt_diag,
    last_call last_call,
    dT_expected dT_expected,
    dS_expected dS_expected,
    Waves Waves
    )

This subroutine determines the diffusivities from the integrated energetics mixed layer model. It assumes that heating, cooling and freshwater fluxes have already been applied. All calculations are done implicitly, and there is no stability limit on the time step.

Parameters:

g

The ocean’s grid structure.

gv

The ocean’s vertical grid structure.

us

A dimensional unit scaling type

h_3d

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

u_3d

Zonal velocities interpolated to h points

v_3d

Zonal velocities interpolated to h points

dsv_dt

The partial derivative of in-situ specific

dsv_ds

The partial derivative of in-situ specific

tke_forced

The forcing requirements to homogenize the

tv

A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs.

fluxes

A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs.

dt

Time increment [T ~> s].

kd_int

The diagnosed diffusivities at interfaces

cs

The control structure returned by a previous call to mixedlayer_init.

buoy_flux

The surface buoyancy flux [Z2 T-3 ~> m2 s-3].

dt_diag

The diagnostic time step, which may be less than dt if there are two calls to mixedlayer [T ~> s].

last_call

If true, this is the last call to mixedlayer in the current time step, so diagnostics will be written. The default is .true.

dt_expected

The values of temperature change that

ds_expected

The values of salinity change that

waves

Wave CS

subroutine, public energetic_pbl_get_mld(
    CS CS,
    MLD MLD,
    G G,
    US US,
    m_to_MLD_units m_to_MLD_units
    )

Copies the ePBL active mixed layer depth into MLD.

Parameters:

cs

Control structure for ePBL

g

Grid structure

us

A dimensional unit scaling type

mld

Depth of ePBL active mixing layer [m or other units]

m_to_mld_units

A conversion factor to the desired units for MLD

subroutine, public energetic_pbl_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    )

This subroutine initializes the energetic_PBL module.

Parameters:

time

The current model time

g

The ocean’s grid structure

gv

The ocean’s vertical grid structure

us

A dimensional unit scaling type

param_file

A structure to parse for run-time parameters

diag

A structure that is used to regulate diagnostic output

cs

A pointer that is set to point to the control structure for this module

subroutine, public energetic_pbl_end(CS CS)

Clean up and deallocate memory associated with the energetic_PBL module.

Parameters:

cs

Energetic_PBL control structure that will be deallocated in this subroutine.