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