CAM
gw_common Module Reference

Functions/Subroutines

subroutine, public gw_common_init (pver_in, pgwv_in, dc_in, cref_in, do_molec_diff_in, tau_0_ubc_in, nbot_molec_in, ktop_in, kbotbg_in, fcrit2_in, kwv_in, gravit_in, rair_in, alpha_in, errstring)
 
subroutine, public gw_prof (ncol, cpair, t, pmid, pint, rhoi, ti, nm, ni)
 
subroutine, public momentum_energy_conservation (ncol, tend_level, dt, taucd, pint, pdel, u, v, dudt, dvdt, dsdt, utgw, vtgw, ttgw)
 
subroutine, public gw_drag_prof (ncol, ngwv, src_level, tend_level, do_taper, dt, lat, t, ti, pmid, pint, dpm, rdpm, piln, rhoi, nm, ni, ubm, ubi, xv, yv, effgw, c, kvtt, q, dse, tau, utgw, vtgw, ttgw, qtgw, taucd, egwdffi, gwut, dttdf, dttke)
 

Variables

logical, public orographic_only = .false.
 
integer, public, protected pver = 0
 
integer, public, protected pgwv = 0
 
real(r8), public, protected dc = huge(1._r8)
 
real(r8), dimension(:), allocatable, public, protected cref
 
logical, public, protected do_molec_diff = .false.
 
integer, public, protected nbot_molec = huge(1)
 
logical tau_0_ubc = .false.
 
integer, parameter, public west = 1
 
integer, parameter, public east = 2
 
integer, parameter, public south = 3
 
integer, parameter, public north = 4
 
real(r8), public, protected fcrit2 = huge(1._r8)
 
real(r8), public, protected kwv = huge(1._r8)
 
real(r8), public, protected gravit = huge(1._r8)
 
real(r8), public, protected rair = huge(1._r8)
 
integer ktop = huge(1)
 
integer kbotbg = huge(1)
 
real(r8) effkwv = huge(1._r8)
 
real(r8), parameter dback = 0.05_r8
 
real(r8) rog = huge(1._r8)
 
real(r8), dimension(:), allocatable alpha
 
real(r8), parameter taumin = 1.e-10_r8
 
real(r8) tndmax = huge(1._r8)
 
real(r8), parameter umcfac = 0.5_r8
 
real(r8), parameter ubmc2mn = 0.01_r8
 

Function/Subroutine Documentation

◆ gw_common_init()

subroutine, public gw_common::gw_common_init ( integer, intent(in)  pver_in,
integer, intent(in)  pgwv_in,
real(r8), intent(in)  dc_in,
real(r8), dimension(-pgwv_in:), intent(in)  cref_in,
logical, intent(in)  do_molec_diff_in,
logical, intent(in)  tau_0_ubc_in,
integer, intent(in)  nbot_molec_in,
integer, intent(in)  ktop_in,
integer, intent(in)  kbotbg_in,
real(r8), intent(in)  fcrit2_in,
real(r8), intent(in)  kwv_in,
real(r8), intent(in)  gravit_in,
real(r8), intent(in)  rair_in,
real(r8), dimension(0:), intent(in)  alpha_in,
character(len=*), intent(out)  errstring 
)
Here is the caller graph for this function:

◆ gw_drag_prof()

subroutine, public gw_common::gw_drag_prof ( integer, intent(in)  ncol,
integer, intent(in)  ngwv,
integer, dimension(ncol), intent(in)  src_level,
integer, dimension(ncol), intent(in)  tend_level,
logical, intent(in)  do_taper,
real(r8), intent(in)  dt,
real(r8), dimension(ncol), intent(in)  lat,
real(r8), dimension(ncol,pver), intent(in)  t,
real(r8), dimension(ncol,0:pver), intent(in)  ti,
real(r8), dimension(ncol,pver), intent(in)  pmid,
real(r8), dimension(ncol,0:pver), intent(in)  pint,
real(r8), dimension(ncol,pver), intent(in)  dpm,
real(r8), dimension(ncol,pver), intent(in)  rdpm,
real(r8), dimension(ncol,0:pver), intent(in)  piln,
real(r8), dimension(ncol,0:pver), intent(in)  rhoi,
real(r8), dimension(ncol,pver), intent(in)  nm,
real(r8), dimension(ncol,0:pver), intent(in)  ni,
real(r8), dimension(ncol,pver), intent(in)  ubm,
real(r8), dimension(ncol,0:pver), intent(in)  ubi,
real(r8), dimension(ncol), intent(in)  xv,
real(r8), dimension(ncol), intent(in)  yv,
real(r8), intent(in)  effgw,
real(r8), dimension(ncol,-pgwv:pgwv), intent(in)  c,
real(r8), dimension(ncol,0:pver), intent(in)  kvtt,
real(r8), dimension(:,:,:), intent(in)  q,
real(r8), dimension(ncol,pver), intent(in)  dse,
real(r8), dimension(ncol,-pgwv:pgwv,0:pver), intent(inout)  tau,
real(r8), dimension(ncol,pver), intent(out)  utgw,
real(r8), dimension(ncol,pver), intent(out)  vtgw,
real(r8), dimension(ncol,pver), intent(out)  ttgw,
real(r8), dimension(:,:,:), intent(out)  qtgw,
real(r8), dimension(ncol,0:pver,4), intent(out)  taucd,
real(r8), dimension(ncol,0:pver), intent(out)  egwdffi,
real(r8), dimension(ncol,pver,-ngwv:ngwv), intent(out)  gwut,
real(r8), dimension(ncol,pver), intent(out)  dttdf,
real(r8), dimension(ncol,pver), intent(out)  dttke 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gw_prof()

subroutine, public gw_common::gw_prof ( integer, intent(in)  ncol,
real(r8), intent(in)  cpair,
real(r8), dimension(ncol,pver), intent(in)  t,
real(r8), dimension(ncol,pver), intent(in)  pmid,
real(r8), dimension(ncol,0:pver), intent(in)  pint,
real(r8), dimension(ncol,0:pver), intent(out)  rhoi,
real(r8), dimension(ncol,0:pver), intent(out)  ti,
real(r8), dimension(ncol,pver), intent(out)  nm,
real(r8), dimension(ncol,0:pver), intent(out)  ni 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ momentum_energy_conservation()

subroutine, public gw_common::momentum_energy_conservation ( integer, intent(in)  ncol,
integer, dimension(ncol), intent(in)  tend_level,
real(r8), intent(in)  dt,
real(r8), dimension(ncol,0:pver,4), intent(in)  taucd,
real(r8), dimension(ncol,pver), intent(in)  pint,
real(r8), dimension(ncol,pver), intent(in)  pdel,
real(r8), dimension(ncol,pver), intent(in)  u,
real(r8), dimension(ncol,pver), intent(in)  v,
real(r8), dimension(:,:), intent(inout)  dudt,
real(r8), dimension(:,:), intent(inout)  dvdt,
real(r8), dimension(:,:), intent(inout)  dsdt,
real(r8), dimension(ncol,pver), intent(inout)  utgw,
real(r8), dimension(ncol,pver), intent(inout)  vtgw,
real(r8), dimension(ncol,pver), intent(inout)  ttgw 
)
Here is the caller graph for this function:

Variable Documentation

◆ alpha

real(r8), dimension(:), allocatable gw_common::alpha
private

◆ cref

real(r8), dimension(:), allocatable, public, protected gw_common::cref

◆ dback

real(r8), parameter gw_common::dback = 0.05_r8
private

◆ dc

real(r8), public, protected gw_common::dc = huge(1._r8)

◆ do_molec_diff

logical, public, protected gw_common::do_molec_diff = .false.

◆ east

integer, parameter, public gw_common::east = 2

◆ effkwv

real(r8) gw_common::effkwv = huge(1._r8)
private

◆ fcrit2

real(r8), public, protected gw_common::fcrit2 = huge(1._r8)

◆ gravit

real(r8), public, protected gw_common::gravit = huge(1._r8)

◆ kbotbg

integer gw_common::kbotbg = huge(1)
private

◆ ktop

integer gw_common::ktop = huge(1)
private

◆ kwv

real(r8), public, protected gw_common::kwv = huge(1._r8)

◆ nbot_molec

integer, public, protected gw_common::nbot_molec = huge(1)

◆ north

integer, parameter, public gw_common::north = 4

◆ orographic_only

logical, public gw_common::orographic_only = .false.

◆ pgwv

integer, public, protected gw_common::pgwv = 0

◆ pver

integer, public, protected gw_common::pver = 0

◆ rair

real(r8), public, protected gw_common::rair = huge(1._r8)

◆ rog

real(r8) gw_common::rog = huge(1._r8)
private

◆ south

integer, parameter, public gw_common::south = 3

◆ tau_0_ubc

logical gw_common::tau_0_ubc = .false.
private

◆ taumin

real(r8), parameter gw_common::taumin = 1.e-10_r8
private

◆ tndmax

real(r8) gw_common::tndmax = huge(1._r8)
private

◆ ubmc2mn

real(r8), parameter gw_common::ubmc2mn = 0.01_r8
private

◆ umcfac

real(r8), parameter gw_common::umcfac = 0.5_r8
private

◆ west

integer, parameter, public gw_common::west = 1