FV3DYCORE  Version1.0.0
fv_sg_mod Module Reference

The module 'fv_sg' performs FV sub-grid mixing. More...

Functions/Subroutines

subroutine, public fv_subgrid_z (isd, ied, jsd, jed, is, ie, js, je, km, nq, dt, tau, nwat, delp, pe, peln, pkz, ta, qa, ua, va, hydrostatic, w, delz, u_dt, v_dt, t_dt, q_dt, k_bot)
 
subroutine qsmith_init
 
subroutine, public qsmith (im, km, k1, t, p, q, qs, dqdt)
 
subroutine qs_table (n, table)
 
subroutine qs_table_m (n, table)
 
subroutine, public neg_adj3 (is, ie, js, je, ng, kbot, hydrostatic, peln, delz, pt, dp, qv, ql, qr, qi, qs, qg, qa, check_negative)
 
subroutine, public neg_adj2 (is, ie, js, je, ng, kbot, hydrostatic, peln, delz, pt, dp, qv, ql, qr, qi, qs, qa, check_negative)
 
subroutine fillq (im, km, q, dp)
 
subroutine prt_negative (qname, q, is, ie, js, je, n_g, km, threshold)
 

Variables

real, parameter esl = 0.621971831
 
real, parameter tice = 273.16
 
real, parameter c_ice = 1972.
 -15 C More...
 
real, parameter c_liq = 4.1855e+3
 GFS. More...
 
real, parameter cv_vap = cp_vapor - rvgas
 1384.5 More...
 
real, parameter c_con = c_ice
 
real, parameter dc_vap = cv_vap - c_liq
 = -2368. More...
 
real, parameter dc_ice = c_liq - c_ice
 = 2112. More...
 
real, parameter hlv0 = 2.5e6
 
real, parameter hlf0 = 3.3358e5
 
real, parameter t_ice = 273.16
 
real, parameter ri_max = 1.
 
real, parameter ri_min = 0.25
 
real, parameter t1_min = 160.
 
real, parameter t2_min = 165.
 
real, parameter t2_max = 315.
 
real, parameter t3_max = 325.
 
real, parameter lv0 = hlv0 - dc_vap*t_ice
 = 3.147782e6 More...
 
real, parameter li0 = hlf0 - dc_ice*t_ice
 = -2.431928e5 More...
 
real, parameter zvir = rvgas/rdgas - 1.
 = 0.607789855 More...
 
real, dimension(:), allocatable table
 
real, dimension(:), allocatable des
 
real lv00
 
real d0_vap
 

Detailed Description

The module 'fv_sg' performs FV sub-grid mixing.

Function/Subroutine Documentation

◆ fillq()

subroutine fv_sg_mod::fillq ( integer, intent(in)  im,
integer, intent(in)  km,
real, dimension(im,km), intent(inout)  q,
real, dimension(im,km), intent(inout)  dp 
)
private

Definition at line 2186 of file fv_sg.F90.

◆ fv_subgrid_z()

subroutine, public fv_sg_mod::fv_subgrid_z ( integer, intent(in)  isd,
integer, intent(in)  ied,
integer, intent(in)  jsd,
integer, intent(in)  jed,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  km,
integer, intent(in)  nq,
real, intent(in)  dt,
integer, intent(in)  tau,
integer, intent(in)  nwat,
real, dimension(isd:ied,jsd:jed,km), intent(in)  delp,
real, dimension(is-1:ie+1,km+1,js-1:je+1), intent(in)  pe,
real, dimension(is :ie, km+1,js :je), intent(in)  peln,
real, dimension(is:ie,js:je,km), intent(in)  pkz,
real, dimension(isd:ied,jsd:jed,km), intent(inout)  ta,
real, dimension(isd:ied,jsd:jed,km,nq), intent(inout)  qa,
real, dimension(isd:ied,jsd:jed,km), intent(inout)  ua,
real, dimension(isd:ied,jsd:jed,km), intent(inout)  va,
logical, intent(in)  hydrostatic,
real, dimension(isd:,jsd:,1:), intent(inout)  w,
real, dimension(isd:,jsd:,1:), intent(in)  delz,
real, dimension(isd:ied,jsd:jed,km), intent(inout)  u_dt,
real, dimension(isd:ied,jsd:jed,km), intent(inout)  v_dt,
real, dimension(is:ie,js:je,km), intent(inout)  t_dt,
real, dimension(is:ie,js:je,km,nq), intent(inout)  q_dt,
integer, intent(in), optional  k_bot 
)
Parameters
[in]tauRelaxation time scale
[in]dtmodel time step
[in]delpDelta p at each model level
[in]delzDelta z at each model level
[in,out]taTemperature
[in,out]qaSpecific humidity & tracers

Definition at line 680 of file fv_sg.F90.

◆ neg_adj2()

subroutine, public fv_sg_mod::neg_adj2 ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  ng,
integer, intent(in)  kbot,
logical, intent(in)  hydrostatic,
real, dimension(is:ie,kbot+1,js:je), intent(in)  peln,
real, dimension(is-ng:,js-ng:,1:), intent(in)  delz,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  pt,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(in)  dp,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qv,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  ql,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qr,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qi,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qs,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout), optional  qa,
logical, intent(in), optional  check_negative 
)
Parameters
[in]dptotal delp-p
[in]pelnln(pe)

Definition at line 1867 of file fv_sg.F90.

◆ neg_adj3()

subroutine, public fv_sg_mod::neg_adj3 ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  ng,
integer, intent(in)  kbot,
logical, intent(in)  hydrostatic,
real, dimension(is:ie,kbot+1,js:je), intent(in)  peln,
real, dimension(is-ng:,js-ng:,1:), intent(in)  delz,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  pt,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(in)  dp,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qv,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  ql,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qr,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qi,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qs,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout)  qg,
real, dimension(is-ng:ie+ng,js-ng:je+ng,kbot), intent(inout), optional  qa,
logical, intent(in), optional  check_negative 
)
Parameters
[in]dptotal delp-p
[in]pelnln(pe)

Definition at line 1477 of file fv_sg.F90.

◆ prt_negative()

subroutine fv_sg_mod::prt_negative ( character(len=*), intent(in)  qname,
real, dimension(is-n_g:ie+n_g, js-n_g:je+n_g, km), intent(in)  q,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  n_g,
integer, intent(in)  km,
real, intent(in)  threshold 
)
private

Definition at line 2221 of file fv_sg.F90.

◆ qs_table()

subroutine fv_sg_mod::qs_table ( integer, intent(in)  n,
real, dimension (n)  table 
)
private

Definition at line 1386 of file fv_sg.F90.

◆ qs_table_m()

subroutine fv_sg_mod::qs_table_m ( integer, intent(in)  n,
real, dimension (n)  table 
)
private

Definition at line 1412 of file fv_sg.F90.

◆ qsmith()

subroutine, public fv_sg_mod::qsmith ( integer, intent(in)  im,
integer, intent(in)  km,
integer, intent(in)  k1,
real, dimension(im,km), intent(in)  t,
real, dimension(im,km), intent(in)  p,
real, dimension(im,km), intent(in)  q,
real, dimension(im,km), intent(out)  qs,
real, dimension(im,km), intent(out), optional  dqdt 
)

Definition at line 1320 of file fv_sg.F90.

◆ qsmith_init()

subroutine fv_sg_mod::qsmith_init ( )
private

Definition at line 1296 of file fv_sg.F90.

Variable Documentation

◆ c_con

real, parameter fv_sg_mod::c_con = c_ice
private

Definition at line 81 of file fv_sg.F90.

◆ c_ice

real, parameter fv_sg_mod::c_ice = 1972.
private

-15 C

Definition at line 77 of file fv_sg.F90.

◆ c_liq

real, parameter fv_sg_mod::c_liq = 4.1855e+3
private

GFS.

Definition at line 78 of file fv_sg.F90.

◆ cv_vap

real, parameter fv_sg_mod::cv_vap = cp_vapor - rvgas
private

1384.5

Definition at line 80 of file fv_sg.F90.

◆ d0_vap

real fv_sg_mod::d0_vap
private

Definition at line 103 of file fv_sg.F90.

◆ dc_ice

real, parameter fv_sg_mod::dc_ice = c_liq - c_ice
private

= 2112.

Definition at line 85 of file fv_sg.F90.

◆ dc_vap

real, parameter fv_sg_mod::dc_vap = cv_vap - c_liq
private

= -2368.

Definition at line 84 of file fv_sg.F90.

◆ des

real, dimension(:), allocatable fv_sg_mod::des
private

Definition at line 102 of file fv_sg.F90.

◆ esl

real, parameter fv_sg_mod::esl = 0.621971831
private

Definition at line 74 of file fv_sg.F90.

◆ hlf0

real, parameter fv_sg_mod::hlf0 = 3.3358e5
private

Definition at line 88 of file fv_sg.F90.

◆ hlv0

real, parameter fv_sg_mod::hlv0 = 2.5e6
private

Definition at line 87 of file fv_sg.F90.

◆ li0

real, parameter fv_sg_mod::li0 = hlf0 - dc_ice*t_ice
private

= -2.431928e5

Definition at line 99 of file fv_sg.F90.

◆ lv0

real, parameter fv_sg_mod::lv0 = hlv0 - dc_vap*t_ice
private

= 3.147782e6

Definition at line 98 of file fv_sg.F90.

◆ lv00

real fv_sg_mod::lv00
private

Definition at line 103 of file fv_sg.F90.

◆ ri_max

real, parameter fv_sg_mod::ri_max = 1.
private

Definition at line 92 of file fv_sg.F90.

◆ ri_min

real, parameter fv_sg_mod::ri_min = 0.25
private

Definition at line 93 of file fv_sg.F90.

◆ t1_min

real, parameter fv_sg_mod::t1_min = 160.
private

Definition at line 94 of file fv_sg.F90.

◆ t2_max

real, parameter fv_sg_mod::t2_max = 315.
private

Definition at line 96 of file fv_sg.F90.

◆ t2_min

real, parameter fv_sg_mod::t2_min = 165.
private

Definition at line 95 of file fv_sg.F90.

◆ t3_max

real, parameter fv_sg_mod::t3_max = 325.
private

Definition at line 97 of file fv_sg.F90.

◆ t_ice

real, parameter fv_sg_mod::t_ice = 273.16
private

Definition at line 91 of file fv_sg.F90.

◆ table

real, dimension(:), allocatable fv_sg_mod::table
private

Definition at line 102 of file fv_sg.F90.

◆ tice

real, parameter fv_sg_mod::tice = 273.16
private

Definition at line 75 of file fv_sg.F90.

◆ zvir

real, parameter fv_sg_mod::zvir = rvgas/rdgas - 1.
private

= 0.607789855

Definition at line 101 of file fv_sg.F90.