MOM6
MOM_bulk_mixed_layer.F90 File Reference
#include <MOM_memory.h>
Include dependency graph for MOM_bulk_mixed_layer.F90:

Go to the source code of this file.

Data Types

type  mom_bulk_mixed_layer::bulkmixedlayer_cs
 The control structure with parameters for the MOM_bulk_mixed_layer module. More...
 

Modules

module  mom_bulk_mixed_layer
 Build mixed layer parameterization.
 
integer mom_bulk_mixed_layer::id_clock_detrain =0
 CPU clock IDs. More...
 
integer mom_bulk_mixed_layer::id_clock_mech =0
 CPU clock IDs. More...
 
integer mom_bulk_mixed_layer::id_clock_conv =0
 CPU clock IDs. More...
 
integer mom_bulk_mixed_layer::id_clock_adjustment =0
 CPU clock IDs. More...
 
integer mom_bulk_mixed_layer::id_clock_eos =0
 CPU clock IDs. More...
 
integer mom_bulk_mixed_layer::id_clock_resort =0
 CPU clock IDs. More...
 
integer mom_bulk_mixed_layer::id_clock_pass =0
 CPU clock IDs. More...
 
subroutine, public mom_bulk_mixed_layer::bulkmixedlayer (h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)
 This subroutine partially steps the bulk mixed layer model. The following processes are executed, in the order listed. More...
 
subroutine mom_bulk_mixed_layer::convective_adjustment (h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv)
 This subroutine does instantaneous convective entrainment into the buffer layers and mixed layers to remove hydrostatic instabilities. Any water that is lighter than currently in the mixed- or buffer- layer is entrained. More...
 
subroutine mom_bulk_mixed_layer::mixedlayer_convection (h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing)
 This subroutine causes the mixed layer to entrain to the depth of free convection. The depth of free convection is the shallowest depth at which the fluid is denser than the average of the fluid above. More...
 
subroutine mom_bulk_mixed_layer::find_starting_tke (htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS)
 This subroutine determines the TKE available at the depth of free convection to drive mechanical entrainment. More...
 
subroutine mom_bulk_mixed_layer::mechanical_entrainment (h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS)
 This subroutine calculates mechanically driven entrainment. More...
 
subroutine mom_bulk_mixed_layer::sort_ml (h, R0, eps, G, GV, CS, ksort)
 This subroutine generates an array of indices that are sorted by layer density. More...
 
subroutine mom_bulk_mixed_layer::resort_ml (h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS)
 This subroutine actually moves properties between layers to achieve a resorted state, with all of the resorted water either moved into the correct interior layers or in the top nkmb layers. More...
 
subroutine mom_bulk_mixed_layer::mixedlayer_detrain_2 (h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det)
 This subroutine moves any water left in the former mixed layers into the two buffer layers and may also move buffer layer water into the interior isopycnal layers. More...
 
subroutine mom_bulk_mixed_layer::mixedlayer_detrain_1 (h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det)
 This subroutine moves any water left in the former mixed layers into the single buffer layers and may also move buffer layer water into the interior isopycnal layers. More...
 
subroutine, public mom_bulk_mixed_layer::bulkmixedlayer_init (Time, G, GV, US, param_file, diag, CS)
 This subroutine initializes the MOM bulk mixed layer module. More...
 
real function mom_bulk_mixed_layer::ef4 (Ht, En, I_L, dR_de)
 This subroutine returns an approximation to the integral R = exp(-L*(H+E)) integral(LH to L(H+E)) L/(1-(1+x)exp(-x)) dx. The approximation to the integrand is good to within -2% at x~.3 and +25% at x~3.5, but the exponential deemphasizes the importance of large x. When L=0, EF4 returns E/((Ht+E)*Ht). More...