CAM
seasalt_model Module Reference

Functions/Subroutines

subroutine, public seasalt_init
 
subroutine, public advance_ocean_data (state, pbuf2d)
 
subroutine, public ocean_data_readnl (nlfile)
 
subroutine, public seasalt_emis (u10, u10cubed, lchnk, srf_temp, ocnfrc, ncol, cflx, emis_scale, F_eff)
 
subroutine calc_om_ssa_quinn (mass_frac_bub_section, om_ssa)
 
subroutine calc_om_ssa_rinaldi (chla_in, u10, mass_frac_bub_section, om_ssa)
 
subroutine calc_om_ssa_gantt (chla_in, u10, mass_frac_bub_section, om_ssa)
 
subroutine calc_om_ssa_burrows (ncol, mpoly_in, mprot_in, mlip_in, mass_frac_bub_section, om_ssa, F_eff, lchnk)
 
subroutine omfrac_accu_aitk (om_ssa_in, om_ssa)
 
subroutine gantt_omfrac_size (om_ssa_max, om_ssa)
 
subroutine, public init_ocean_data ()
 

Variables

integer, parameter nslt = max(3, ntot_amode-3)
 
integer, parameter nnum = nslt
 
integer, parameter, public nslt_om = 3
 
integer, parameter nnum_om = 1
 
integer, parameter om_num_modes = 3
 
character(len=6), dimension(nslt+nslt_om+nnum+nnum_om), parameter, public seasalt_names = (/ 'ncl_a1', 'ncl_a2', 'ncl_a3', 'mom_a1', 'mom_a2', 'mom_a4', 'num_a1', 'num_a2', 'num_a3', 'num_a4'/)
 
integer, dimension(om_num_modes), parameter om_num_ind = (/ 1, 2, 4 /)
 
integer, parameter, public seasalt_nbin = nslt+nslt_om
 
integer, parameter, public seasalt_nnum = nnum+nnum_om
 
integer, parameter, public n_ocean_data = 4
 
logical, parameter, public f_eff_out = .false.
 
type(trfld), dimension(:), pointer fields
 
type(trfilefile
 
real(r8), parameter small_oceanorg = 1.0e-30
 
integer, dimension(seasalt_nbin+seasalt_nnum), public seasalt_indices
 
logical, public seasalt_active = .false.
 
logical debug_mam_mom = .false.
 
real(r8), parameter aw_carbon = 12.0107_r8
 
real(r8), parameter g_per_m3_nacl_bulk = 35875._r8
 
real(r8) g_per_m2_nacl_bub
 
integer, parameter n_org_max = 3
 
integer n_org
 
integer, parameter n_org_burrows = 3
 
integer, parameter n_org_gantt = 1
 
integer, parameter n_org_rinaldi = 1
 
integer, parameter n_org_quinn = 1
 
character(len=32), dimension(n_ocean_dataspecifier = ''
 
character(len=256) filename = ' '
 
character(len=256) filelist = ' '
 
character(len=256) datapath = ' '
 
character(len=32) datatype = 'CYCLICAL'
 
integer data_cycle_yr = 0
 
logical rmv_file = .false.
 
integer fixed_ymd = 0
 
integer fixed_tod = 0
 
real(r8) l_bub = 0.1e-6_r8
 
integer mixing_state = 1
 
integer fmoa = 1
 
logical, public has_mam_mom = .true.
 
real(r8), dimension(n_org_burrows), parameter om_to_oc_in = (/ 2.3_r8, 2.2_r8, 1.3_r8 /)
 
real(r8), dimension(n_org_burrows), parameter alpha_org = (/ 90.58_r8, 25175._r8, 18205._r8 /)
 
real(r8), dimension(n_org_burrows), parameter mw_org = (/ 250000._r8, 66463._r8, 284._r8 /)
 
real(r8), dimension(n_org_burrows), parameter g_per_m2_org = (/ 0.1376_r8, 0.00219_r8, 0.002593_r8 /)
 
real(r8), dimension(nslt+nslt_om), parameter sst_sz_range_lo = (/ 0.08e-6_r8, 0.02e-6_r8, 1.0e-6_r8, 0.08e-6_r8, 0.02e-6_r8, 0.08e-6_r8 /)
 
real(r8), dimension(nslt+nslt_om), parameter sst_sz_range_hi = (/ 1.0e-6_r8, 0.08e-6_r8, 10.0e-6_r8, 1.0e-6_r8, 0.08e-6_r8, 1.0e-6_r8 /)
 

Function/Subroutine Documentation

◆ advance_ocean_data()

subroutine, public seasalt_model::advance_ocean_data ( type(physics_state), dimension(begchunk:endchunk), intent(in)  state,
type(physics_buffer_desc), dimension(:,:), pointer  pbuf2d 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_om_ssa_burrows()

subroutine seasalt_model::calc_om_ssa_burrows ( integer, intent(in)  ncol,
real(r8), dimension(ncol), intent(in)  mpoly_in,
real(r8), dimension(ncol), intent(in)  mprot_in,
real(r8), dimension(ncol), intent(in)  mlip_in,
real(r8), dimension(:,:,:), intent(inout)  mass_frac_bub_section,
real(r8), dimension(:,:), intent(inout)  om_ssa,
real(r8), dimension(:), intent(inout)  F_eff,
integer  lchnk 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_om_ssa_gantt()

subroutine seasalt_model::calc_om_ssa_gantt ( real(r8), dimension(:), intent(in)  chla_in,
real(r8), dimension(:), intent(in)  u10,
real(r8), dimension(:,:,:), intent(inout)  mass_frac_bub_section,
real(r8), dimension(:,:), intent(inout)  om_ssa 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_om_ssa_quinn()

subroutine seasalt_model::calc_om_ssa_quinn ( real(r8), dimension(:,:,:), intent(inout)  mass_frac_bub_section,
real(r8), dimension(:,:), intent(inout)  om_ssa 
)
Here is the caller graph for this function:

◆ calc_om_ssa_rinaldi()

subroutine seasalt_model::calc_om_ssa_rinaldi ( real(r8), dimension(:), intent(in)  chla_in,
real(r8), dimension(:), intent(in)  u10,
real(r8), dimension(:,:,:), intent(inout)  mass_frac_bub_section,
real(r8), dimension(:,:), intent(inout)  om_ssa 
)
Here is the caller graph for this function:

◆ gantt_omfrac_size()

subroutine seasalt_model::gantt_omfrac_size ( real(r8), dimension(:), intent(in)  om_ssa_max,
real(r8), dimension(:,:), intent(inout)  om_ssa 
)
Here is the caller graph for this function:

◆ init_ocean_data()

subroutine, public seasalt_model::init_ocean_data ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_data_readnl()

subroutine, public seasalt_model::ocean_data_readnl ( character(len=*), intent(in)  nlfile)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omfrac_accu_aitk()

subroutine seasalt_model::omfrac_accu_aitk ( real(r8), dimension(:), intent(in)  om_ssa_in,
real(r8), dimension(:,:), intent(inout)  om_ssa 
)
Here is the caller graph for this function:

◆ seasalt_emis()

subroutine, public seasalt_model::seasalt_emis ( real(r8), dimension(pcols), intent(in)  u10,
real(r8), dimension(pcols), intent(in)  u10cubed,
integer, intent(in)  lchnk,
real(r8), dimension(pcols), intent(in)  srf_temp,
real(r8), dimension(pcols), intent(in)  ocnfrc,
integer, intent(in)  ncol,
real(r8), dimension(:,:), intent(inout)  cflx,
real(r8), intent(in)  emis_scale,
real(r8), dimension(pcols)  F_eff 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ seasalt_init()

subroutine, public seasalt_model::seasalt_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ alpha_org

real(r8), dimension(n_org_burrows), parameter seasalt_model::alpha_org = (/ 90.58_r8, 25175._r8, 18205._r8 /)
private

◆ aw_carbon

real(r8), parameter seasalt_model::aw_carbon = 12.0107_r8
private

◆ data_cycle_yr

integer seasalt_model::data_cycle_yr = 0
private

◆ datapath

character(len=256) seasalt_model::datapath = ' '
private

◆ datatype

character(len=32) seasalt_model::datatype = 'CYCLICAL'
private

◆ debug_mam_mom

logical seasalt_model::debug_mam_mom = .false.
private

◆ f_eff_out

logical, parameter, public seasalt_model::f_eff_out = .false.

◆ fields

type(trfld), dimension(:), pointer seasalt_model::fields
private

◆ file

type(trfile) seasalt_model::file
private

◆ filelist

character(len=256) seasalt_model::filelist = ' '
private

◆ filename

character(len=256) seasalt_model::filename = ' '
private

◆ fixed_tod

integer seasalt_model::fixed_tod = 0
private

◆ fixed_ymd

integer seasalt_model::fixed_ymd = 0
private

◆ fmoa

integer seasalt_model::fmoa = 1
private

◆ g_per_m2_nacl_bub

real(r8) seasalt_model::g_per_m2_nacl_bub
private

◆ g_per_m2_org

real(r8), dimension(n_org_burrows), parameter seasalt_model::g_per_m2_org = (/ 0.1376_r8, 0.00219_r8, 0.002593_r8 /)
private

◆ g_per_m3_nacl_bulk

real(r8), parameter seasalt_model::g_per_m3_nacl_bulk = 35875._r8
private

◆ has_mam_mom

logical, public seasalt_model::has_mam_mom = .true.

◆ l_bub

real(r8) seasalt_model::l_bub = 0.1e-6_r8
private

◆ mixing_state

integer seasalt_model::mixing_state = 1
private

◆ mw_org

real(r8), dimension(n_org_burrows), parameter seasalt_model::mw_org = (/ 250000._r8, 66463._r8, 284._r8 /)
private

◆ n_ocean_data

integer, parameter, public seasalt_model::n_ocean_data = 4

◆ n_org

integer seasalt_model::n_org
private

◆ n_org_burrows

integer, parameter seasalt_model::n_org_burrows = 3
private

◆ n_org_gantt

integer, parameter seasalt_model::n_org_gantt = 1
private

◆ n_org_max

integer, parameter seasalt_model::n_org_max = 3
private

◆ n_org_quinn

integer, parameter seasalt_model::n_org_quinn = 1
private

◆ n_org_rinaldi

integer, parameter seasalt_model::n_org_rinaldi = 1
private

◆ nnum

integer, parameter seasalt_model::nnum = nslt
private

◆ nnum_om

integer, parameter seasalt_model::nnum_om = 1
private

◆ nslt

integer, parameter seasalt_model::nslt = max(3, ntot_amode-3)
private

◆ nslt_om

integer, parameter, public seasalt_model::nslt_om = 3

◆ om_num_ind

integer, dimension(om_num_modes), parameter seasalt_model::om_num_ind = (/ 1, 2, 4 /)
private

◆ om_num_modes

integer, parameter seasalt_model::om_num_modes = 3
private

◆ om_to_oc_in

real(r8), dimension(n_org_burrows), parameter seasalt_model::om_to_oc_in = (/ 2.3_r8, 2.2_r8, 1.3_r8 /)
private

◆ rmv_file

logical seasalt_model::rmv_file = .false.
private

◆ seasalt_active

logical, public seasalt_model::seasalt_active = .false.

◆ seasalt_indices

integer, dimension(seasalt_nbin+seasalt_nnum), public seasalt_model::seasalt_indices

◆ seasalt_names

character(len=6), dimension(nslt+nslt_om+nnum+nnum_om), parameter, public seasalt_model::seasalt_names = (/ 'ncl_a1', 'ncl_a2', 'ncl_a3', 'mom_a1', 'mom_a2', 'mom_a4', 'num_a1', 'num_a2', 'num_a3', 'num_a4'/)

◆ seasalt_nbin

integer, parameter, public seasalt_model::seasalt_nbin = nslt+nslt_om

◆ seasalt_nnum

integer, parameter, public seasalt_model::seasalt_nnum = nnum+nnum_om

◆ small_oceanorg

real(r8), parameter seasalt_model::small_oceanorg = 1.0e-30
private

◆ specifier

character(len=32), dimension(n_ocean_data) seasalt_model::specifier = ''
private

◆ sst_sz_range_hi

real(r8), dimension (nslt+nslt_om), parameter seasalt_model::sst_sz_range_hi = (/ 1.0e-6_r8, 0.08e-6_r8, 10.0e-6_r8, 1.0e-6_r8, 0.08e-6_r8, 1.0e-6_r8 /)
private

◆ sst_sz_range_lo

real(r8), dimension (nslt+nslt_om), parameter seasalt_model::sst_sz_range_lo = (/ 0.08e-6_r8, 0.02e-6_r8, 1.0e-6_r8, 0.08e-6_r8, 0.02e-6_r8, 0.08e-6_r8 /)
private