CAM
transportmod Module Reference

Data Types

interface  diffustransp
 
type  extra_type
 

Functions/Subroutines

subroutine, public set_debug_transp (yesno)
 
subroutine ode_rk2 (extra, y0, neq, t, dt, y)
 
class(extra_type) function, pointer create_extra_type ()
 
subroutine initallocate (this, lbj, ubj)
 
subroutine ddeallocate (this)
 
subroutine aassign (this, zi_t, us_t, bstatus)
 
real(r8) function, public get_cntheta ()
 
subroutine, public init_transportmod (lcntheta)
 
subroutine, public calc_interface_conductance (bounds, lbj, ubj, jtop, numfl, filter, bulkdiffus, dz, hmconductance, bstatus)
 
subroutine diffustransp_gw_tridiag (bounds, bstatus, lbj, ubj, jtop, numfl, filter, ntrcs, trcin_mobile, Rfactor, hmconductance, dtime, dz, source, trc_concflx_air, condc_toplay, topbc_type, bot_concflx, update_col, source_only, rt, at, bt, ct, botbc_type, condc_botlay)
 
subroutine diffustransp_gw (bounds, bstatus, lbj, ubj, jtop, numfl, filter, ntrcs, trcin_mobile, Rfactor, hmconductance, dtime, dz, source, trc_concflx_air, condc_toplay, topbc_type, bot_flux, update_col, dtracer, botbc_type, condc_botlay)
 
subroutine diffustransp_solid_tridiag (bounds, bstatus, lbj, ubj, lbn, numfl, filter, ntrcs, trcin, hmconductance, dtime_col, dz, source, update_col, at, bt, ct, rt)
 
subroutine diffustransp_solid (bounds, bstatus, lbj, ubj, lbn, numfl, filter, ntrcs, trcin, hmconductance, dtime_col, dz, source, update_col, dtracer)
 
real(r8) function, public calc_col_cfl (lbj, ubj, us, dx, dtime, bstatus)
 
subroutine, public semi_lagrange_adv_backward (bounds, bstatus, lbj, ubj, lbn, numfl, filter, ntrcs, dtime, dz, zi, us, inflx_top, inflx_bot, trc_bot, update_col, halfdt_col, trcin, trcou, leaching_mass, seep_mass)
 
subroutine cmass_mono_smoother (cmass, mass_thc)
 
logical function is_ascending_vec (zcor)
 
real(r8) function, public mass_curve_correct_ (mass_curve)
 
subroutine backward_advection (zi, us, dtime, zold, bstatus)
 
subroutine trajectory (extra, y0, dt, ti, neq, dxdt)
 

Variables

character(len= *), parameter, private filename = __FILE__
 
type(betr_status_type) extra_bstatus
 
real(r8), private cntheta
 
logical, private debug_loc =.false.
 

Function/Subroutine Documentation

◆ aassign()

subroutine transportmod::aassign ( class(gbetr_type), pointer  this,
real(r8), dimension(:), intent(in)  zi_t,
real(r8), dimension(:), intent(in)  us_t,
type(betr_status_type), intent(out)  bstatus 
)
private
Here is the caller graph for this function:

◆ backward_advection()

subroutine transportmod::backward_advection ( real(r8), dimension(:), intent(in)  zi,
real(r8), dimension(:), intent(in)  us,
real(r8), intent(in)  dtime,
real(r8), dimension(:), intent(out)  zold,
type(betr_status_type), intent(out)  bstatus 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_col_cfl()

real(r8) function, public transportmod::calc_col_cfl ( integer, intent(in)  lbj,
integer, intent(in)  ubj,
real(r8), dimension(lbj: ), intent(in)  us,
real(r8), dimension(lbj: ), intent(in)  dx,
real(r8), intent(in)  dtime,
type(betr_status_type), intent(out)  bstatus 
)

◆ calc_interface_conductance()

subroutine, public transportmod::calc_interface_conductance ( type(bounds_type), intent(in)  bounds,
integer, intent(in)  lbj,
integer, intent(in)  ubj,
integer, dimension(bounds%begc: ), intent(in)  jtop,
integer, intent(in)  numfl,
integer, dimension(:), intent(in)  filter,
real(r8), dimension(bounds%begc: ,lbj: ), intent(in)  bulkdiffus,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  dz,
real(r8), dimension(bounds%begc: , lbj: ), intent(inout)  hmconductance,
type(betr_status_type), intent(out)  bstatus 
)
Here is the caller graph for this function:

◆ cmass_mono_smoother()

subroutine transportmod::cmass_mono_smoother ( real(r8), dimension(:), intent(inout)  cmass,
real(r8), intent(in)  mass_thc 
)
Here is the caller graph for this function:

◆ create_extra_type()

class(extra_type) function, pointer transportmod::create_extra_type ( )
private

◆ ddeallocate()

subroutine transportmod::ddeallocate ( class(gbetr_type), pointer  this)
private
Here is the caller graph for this function:

◆ diffustransp_gw()

subroutine transportmod::diffustransp_gw ( type(bounds_type), intent(in)  bounds,
type(betr_status_type), intent(out)  bstatus,
integer, intent(in)  lbj,
integer, intent(in)  ubj,
integer, dimension(bounds%begc: ), intent(in)  jtop,
integer, intent(in)  numfl,
integer, dimension(:), intent(in)  filter,
integer, intent(in)  ntrcs,
real(r8), dimension(bounds%begc: , lbj: ,1: ), intent(in)  trcin_mobile,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  Rfactor,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  hmconductance,
real(r8), dimension(bounds%begc: ), intent(in)  dtime,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  dz,
real(r8), dimension(bounds%begc: , lbj: , 1: ), intent(in)  source,
real(r8), dimension(bounds%begc: , 1: , 1: ), intent(in)  trc_concflx_air,
real(r8), dimension(bounds%begc: ), intent(in)  condc_toplay,
integer, intent(in)  topbc_type,
real(r8), dimension(bounds%begc: , 1: , 1: ), intent(in)  bot_flux,
logical, dimension(bounds%begc: ), intent(in)  update_col,
real(r8), dimension(bounds%begc: , lbj: , 1: ), intent(inout)  dtracer,
integer, intent(in), optional  botbc_type,
real(r8), dimension(bounds%begc: ), intent(in), optional  condc_botlay 
)
Here is the call graph for this function:

◆ diffustransp_gw_tridiag()

subroutine transportmod::diffustransp_gw_tridiag ( type(bounds_type), intent(in)  bounds,
type(betr_status_type), intent(out)  bstatus,
integer, intent(in)  lbj,
integer, intent(in)  ubj,
integer, dimension(bounds%begc: ), intent(in)  jtop,
integer, intent(in)  numfl,
integer, dimension(:), intent(in)  filter,
integer, intent(in)  ntrcs,
real(r8), dimension (bounds%begc: , lbj: , 1: ), intent(in)  trcin_mobile,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  Rfactor,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  hmconductance,
real(r8), dimension(bounds%begc: ), intent(in)  dtime,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  dz,
real(r8), dimension (bounds%begc: , lbj: , 1: ), intent(in)  source,
real(r8), dimension(bounds%begc: , 1: , 1: ), intent(in)  trc_concflx_air,
real(r8), dimension(bounds%begc: ), intent(in)  condc_toplay,
integer, intent(in)  topbc_type,
real(r8), dimension (bounds%begc: , 1: , 1: ), intent(in)  bot_concflx,
logical, dimension(bounds%begc: ), intent(in)  update_col,
logical, intent(in)  source_only,
real(r8), dimension(bounds%begc: ,lbj: , 1: ), intent(out)  rt,
real(r8), dimension(bounds%begc: , lbj: ), intent(inout), optional  at,
real(r8), dimension(bounds%begc: , lbj: ), intent(inout), optional  bt,
real(r8), dimension(bounds%begc: , lbj: ), intent(inout), optional  ct,
integer, intent(in), optional  botbc_type,
real(r8), dimension(bounds%begc: ), intent(in), optional  condc_botlay 
)
Here is the caller graph for this function:

◆ diffustransp_solid()

subroutine transportmod::diffustransp_solid ( type(bounds_type), intent(in)  bounds,
type(betr_status_type), intent(out)  bstatus,
integer, intent(in)  lbj,
integer, intent(in)  ubj,
integer, dimension(bounds%begc: ), intent(in)  lbn,
integer, intent(in)  numfl,
integer, dimension(:), intent(in)  filter,
integer, intent(in)  ntrcs,
real(r8), dimension (bounds%begc: , lbj: , 1: ), intent(in)  trcin,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  hmconductance,
real(r8), dimension(bounds%begc: ), intent(in)  dtime_col,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  dz,
real(r8), dimension(bounds%begc: , lbj: , 1: ), intent(in)  source,
logical, dimension(bounds%begc: ), intent(in)  update_col,
real(r8), dimension(bounds%begc: , lbj: ,1: ), intent(inout)  dtracer 
)
Here is the call graph for this function:

◆ diffustransp_solid_tridiag()

subroutine transportmod::diffustransp_solid_tridiag ( type(bounds_type), intent(in)  bounds,
type(betr_status_type), intent(out)  bstatus,
integer, intent(in)  lbj,
integer, intent(in)  ubj,
integer, dimension(bounds%begc: ), intent(in)  lbn,
integer, intent(in)  numfl,
integer, dimension(:), intent(in)  filter,
integer, intent(in)  ntrcs,
real(r8), dimension(bounds%begc: , lbj: ,1: ), intent(in)  trcin,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  hmconductance,
real(r8), dimension(bounds%begc: ), intent(in)  dtime_col,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  dz,
real(r8), dimension(bounds%begc: , lbj: ,1: ), intent(in)  source,
logical, dimension(bounds%begc: ), intent(in)  update_col,
real(r8), dimension(bounds%begc: , lbj: ), intent(out)  at,
real(r8), dimension(bounds%begc: , lbj: ), intent(out)  bt,
real(r8), dimension(bounds%begc: , lbj: ), intent(out)  ct,
real(r8), dimension(bounds%begc: , lbj: ,1: ), intent(out)  rt 
)
Here is the caller graph for this function:

◆ get_cntheta()

real(r8) function, public transportmod::get_cntheta ( )
Here is the caller graph for this function:

◆ init_transportmod()

subroutine, public transportmod::init_transportmod ( real(r8), intent(in), optional  lcntheta)
Here is the caller graph for this function:

◆ initallocate()

subroutine transportmod::initallocate ( class(gbetr_type), pointer  this,
integer, intent(in)  lbj,
integer, intent(in)  ubj 
)
private
Here is the caller graph for this function:

◆ is_ascending_vec()

logical function transportmod::is_ascending_vec ( real(r8), dimension(:), intent(in)  zcor)
private
Here is the caller graph for this function:

◆ mass_curve_correct_()

real(r8) function, public transportmod::mass_curve_correct_ ( real(r8), intent(in)  mass_curve)
Here is the caller graph for this function:

◆ ode_rk2()

subroutine transportmod::ode_rk2 ( class(gbetr_type), pointer  extra,
real(r8), dimension(neq), intent(in)  y0,
integer, intent(in)  neq,
real(r8), intent(in)  t,
real(r8), intent(in)  dt,
real(r8), dimension(neq), intent(out)  y 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ semi_lagrange_adv_backward()

subroutine, public transportmod::semi_lagrange_adv_backward ( type(bounds_type), intent(in)  bounds,
type(betr_status_type), intent(out)  bstatus,
integer, intent(in)  lbj,
integer, intent(in)  ubj,
integer, dimension(bounds%begc: ), intent(in)  lbn,
integer, intent(in)  numfl,
integer, dimension(:), intent(in)  filter,
integer, intent(in)  ntrcs,
real(r8), dimension(bounds%begc: ), intent(in)  dtime,
real(r8), dimension(bounds%begc: , lbj: ), intent(in)  dz,
real(r8), dimension(bounds%begc: , lbj-1: ), intent(in)  zi,
real(r8), dimension(bounds%begc: , lbj-1: ), intent(in)  us,
real(r8), dimension(bounds%begc: , 1: ), intent(in)  inflx_top,
real(r8), dimension(bounds%begc: , 1: ), intent(in)  inflx_bot,
real(r8), dimension(bounds%begc: , 1: ), intent(in)  trc_bot,
logical, dimension(bounds%begc: ), intent(in)  update_col,
logical, dimension(bounds%begc:bounds%endc), intent(out)  halfdt_col,
real(r8), dimension(bounds%begc: , lbj: , 1: ), intent(in)  trcin,
real(r8), dimension(bounds%begc: , lbj: , 1: ), intent(out)  trcou,
real(r8), dimension(bounds%begc: , 1: ), intent(out), optional  leaching_mass,
real(r8), dimension(bounds%begc: , 1: ), intent(out), optional  seep_mass 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_debug_transp()

subroutine, public transportmod::set_debug_transp ( logical, intent(in)  yesno)
Here is the caller graph for this function:

◆ trajectory()

subroutine transportmod::trajectory ( class(gbetr_type), pointer  extra,
real(r8), dimension(neq), intent(in)  y0,
real(r8), intent(in)  dt,
real(r8), intent(in)  ti,
integer, intent(in)  neq,
real(r8), dimension(neq), intent(out)  dxdt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ cntheta

real(r8), private transportmod::cntheta
private

◆ debug_loc

logical, private transportmod::debug_loc =.false.
private

◆ extra_bstatus

type(betr_status_type) transportmod::extra_bstatus
private

◆ filename

character(len=*), parameter, private transportmod::filename = __FILE__
private