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

Go to the source code of this file.

Data Types

type  mom_opacity::optics_type
 This type is used to store information about ocean optical properties. More...
 
type  mom_opacity::opacity_cs
 The control structure with paramters for the MOM_opacity module. More...
 

Modules

module  mom_opacity
 Routines used to calculate the opacity of the ocean.
 
integer, parameter mom_opacity::no_scheme = 0
 Coded integers to specify the opacity scheme. More...
 
integer, parameter mom_opacity::manizza_05 = 1
 Coded integers to specify the opacity scheme. More...
 
integer, parameter mom_opacity::morel_88 = 2
 Coded integers to specify the opacity scheme. More...
 
integer, parameter mom_opacity::single_exp = 3
 Coded integers to specify the opacity scheme. More...
 
integer, parameter mom_opacity::double_exp = 4
 Coded integers to specify the opacity scheme. More...
 
character *(10), parameter mom_opacity::manizza_05_string = "MANIZZA_05"
 String to specify the opacity scheme. More...
 
character *(10), parameter mom_opacity::morel_88_string = "MOREL_88"
 String to specify the opacity scheme. More...
 
character *(10), parameter mom_opacity::single_exp_string = "SINGLE_EXP"
 String to specify the opacity scheme. More...
 
character *(10), parameter mom_opacity::double_exp_string = "DOUBLE_EXP"
 String to specify the opacity scheme. More...
 
real, parameter mom_opacity::op_diag_len = 1e-10
 Lengthscale L used to remap opacity from op to 1/L * tanh(op * L) More...
 
subroutine, public mom_opacity::set_opacity (optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, CS, chl_2d, chl_3d)
 This sets the opacity of sea water based based on one of several different schemes. More...
 
subroutine mom_opacity::opacity_from_chl (optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, CS, chl_2d, chl_3d)
 This sets the "blue" band opacity based on chloophyll A concencentrations The red portion is lumped into the net heating at the surface. More...
 
real function, public mom_opacity::opacity_morel (chl_data)
 This sets the blue-wavelength opacity according to the scheme proposed by Morel and Antoine (1994). More...
 
real function mom_opacity::sw_pen_frac_morel (chl_data)
 This sets the penetrating shortwave fraction according to the scheme proposed by Morel and Antoine (1994). More...
 
real function, public mom_opacity::opacity_manizza (chl_data)
 This sets the blue-wavelength opacity according to the scheme proposed by Manizza, M. et al, 2005. More...
 
subroutine, public mom_opacity::extract_optics_slice (optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale)
 This subroutine returns a 2-d slice at constant j of fields from an optics_type, with the potential for rescaling these fields. More...
 
subroutine, public mom_opacity::extract_optics_fields (optics, nbands)
 Set arguments to fields from the optics type. More...
 
integer function, public mom_opacity::optics_nbands (optics)
 Return the number of bands of penetrating shortwave radiation. More...
 
subroutine, public mom_opacity::absorbremainingsw (G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT)
 Apply shortwave heating below the boundary layer (when running with the bulk mixed layer inhereted from GOLD) or throughout the water column. More...
 
subroutine, public mom_opacity::sumswoverbands (G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen)
 This subroutine calculates the total shortwave heat flux integrated over bands as a function of depth. This routine is only called for computing buoyancy fluxes for use in KPP. This routine does not updat e the state. More...
 
subroutine, public mom_opacity::opacity_init (Time, G, GV, US, param_file, diag, CS, optics)
 This routine initalizes the opacity module, including an optics_type. More...
 
subroutine, public mom_opacity::opacity_end (CS, optics)