FV3DYCORE  Version 2.0.0
fv_cmp_mod Module Reference

The module 'fv_cmp' implements the fast procesesses in the GFDL microphysics > More...

Functions/Subroutines

subroutine, public fv_sat_adj (mdt, zvir, is, ie, js, je, ng, hydrostatic, consv_te, te0, qv, ql, qi, qr, qs, qg, hs, dpln, delz, pt, dp, q_con, cappa, area, dtdt, out_dt, last_step, do_qa, qa)
 The subroutine 'fv_sat_adj' performs the fast processes in the GFDL microphysics. More...
 
real function wqs1 (ta, den)
 the function 'wqs1' computes the saturated specific humidity for table ii More...
 
real function iqs1 (ta, den)
 the function 'wqs1' computes the saturated specific humidity for table iii More...
 
real function wqs2 (ta, den, dqdt)
 The function 'wqs2'computes the gradient of saturated specific humidity for table ii. More...
 
subroutine wqs2_vect (is, ie, ta, den, wqsat, dqdt)
 The function wqs2_vect computes the gradient of saturated specific humidity for table ii. It is the same as "wqs2", but written as vector function. More...
 
real function iqs2 (ta, den, dqdt)
 The function 'iqs2' computes the gradient of saturated specific humidity for table iii. More...
 
subroutine, public qs_init (kmp)
 The subroutine 'qs_init' initializes lookup tables for the saturation mixing ratio. More...
 
subroutine qs_table (n)
 
subroutine qs_tablew (n)
 
subroutine qs_table2 (n)
 

Variables

real, parameter cp_vap = 4.0 * rvgas
 1846.0, heat capacity of water vapor at constant pressure More...
 
real, parameter cv_air = cp_air - rdgas
 717.55, heat capacity of dry air at constant volume More...
 
real, parameter cv_vap = 3.0 * rvgas
 1384.5, heat capacity of water vapor at constant volume More...
 
real, parameter c_ice = 1972.0
 gfdl: heat capacity of ice at - 15 deg c More...
 
real, parameter c_liq = 4185.5
 gfdl: heat capacity of liquid at 15 deg c More...
 
real, parameter dc_vap = cp_vap - c_liq
 
real, parameter dc_ice = c_liq - c_ice
 2213.5, isobaric heating / colling More...
 
real, parameter tice = 273.16
 freezing temperature More...
 
real, parameter t_wfr = tice - 40.
 homogeneous freezing temperature More...
 
real, parameter lv0 = hlv - dc_vap * tice
 3.13905782e6, evaporation latent heat coefficient at 0 deg k More...
 
real, parameter li00 = hlf - dc_ice * tice
 
real(kind=r_grid), parameter e00 = 611.21
 ifs: saturation vapor pressure at 0 deg c More...
 
real(kind=r_grid), parameter d2ice = dc_vap + dc_ice
 
real(kind=r_grid), parameter li2 = lv0 + li00
 2.86799816e6, sublimation latent heat coefficient at 0 deg k More...
 
real, parameter lat2 = (hlv + hlf) ** 2
 used in bigg mechanism More...
 
real d0_vap
 the same as dc_vap, except that cp_vap can be cp_vap or cv_vap More...
 
real lv00
 the same as lv0, except that cp_vap can be cp_vap or cv_vap More...
 
real, dimension(:), allocatable table
 
real, dimension(:), allocatable table2
 
real, dimension(:), allocatable tablew
 
real, dimension(:), allocatable des2
 
real, dimension(:), allocatable desw
 
logical mp_initialized = .false.
 

Detailed Description

The module 'fv_cmp' implements the fast procesesses in the GFDL microphysics >

Author
Shian-Jiann Lin, Linjiong Zhou

Function/Subroutine Documentation

◆ fv_sat_adj()

subroutine, public fv_cmp_mod::fv_sat_adj ( real, intent(in)  mdt,
real, intent(in)  zvir,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  ng,
logical, intent(in)  hydrostatic,
logical, intent(in)  consv_te,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(out)  te0,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  qv,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  ql,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  qi,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  qr,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  qs,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  qg,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(in)  hs,
real, dimension (is:ie, js:je), intent(in)  dpln,
real, dimension (is:ie, js:je), intent(in)  delz,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(inout)  pt,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(in)  dp,
real, dimension (is - ng:, js - ng:), intent(inout)  q_con,
real, dimension (is - ng:, js - ng:), intent(inout)  cappa,
real (kind = r_grid), dimension (is - ng:ie + ng, js - ng:je + ng), intent(in)  area,
real, dimension (is:ie, js:je), intent(inout)  dtdt,
logical, intent(in)  out_dt,
logical, intent(in)  last_step,
logical, intent(in)  do_qa,
real, dimension (is - ng:ie + ng, js - ng:je + ng), intent(out)  qa 
)

The subroutine 'fv_sat_adj' performs the fast processes in the GFDL microphysics.

This is designed for single-moment 6-class cloud microphysics schemes. It handles the heat release due to in situ phase changes.

Definition at line 130 of file fv_cmp.F90.

◆ iqs1()

real function fv_cmp_mod::iqs1 ( real, intent(in)  ta,
real, intent(in)  den 
)
private

the function 'wqs1' computes the saturated specific humidity for table iii

Definition at line 903 of file fv_cmp.F90.

◆ iqs2()

real function fv_cmp_mod::iqs2 ( real, intent(in)  ta,
real, intent(in)  den,
real, intent(out)  dqdt 
)
private

The function 'iqs2' computes the gradient of saturated specific humidity for table iii.

Definition at line 997 of file fv_cmp.F90.

◆ qs_init()

subroutine, public fv_cmp_mod::qs_init ( integer, intent(in)  kmp)

The subroutine 'qs_init' initializes lookup tables for the saturation mixing ratio.

Definition at line 1029 of file fv_cmp.F90.

◆ qs_table()

subroutine fv_cmp_mod::qs_table ( integer, intent(in)  n)
private

Definition at line 1071 of file fv_cmp.F90.

◆ qs_table2()

subroutine fv_cmp_mod::qs_table2 ( integer, intent(in)  n)
private

Definition at line 1165 of file fv_cmp.F90.

◆ qs_tablew()

subroutine fv_cmp_mod::qs_tablew ( integer, intent(in)  n)
private

Definition at line 1133 of file fv_cmp.F90.

◆ wqs1()

real function fv_cmp_mod::wqs1 ( real, intent(in)  ta,
real, intent(in)  den 
)
private

the function 'wqs1' computes the saturated specific humidity for table ii

Definition at line 877 of file fv_cmp.F90.

◆ wqs2()

real function fv_cmp_mod::wqs2 ( real, intent(in)  ta,
real, intent(in)  den,
real, intent(out)  dqdt 
)
private

The function 'wqs2'computes the gradient of saturated specific humidity for table ii.

Definition at line 929 of file fv_cmp.F90.

◆ wqs2_vect()

subroutine fv_cmp_mod::wqs2_vect ( integer, intent(in)  is,
integer, intent(in)  ie,
real, dimension (is:ie), intent(in)  ta,
real, dimension (is:ie), intent(in)  den,
real, dimension (is:ie), intent(out)  wqsat,
real, dimension (is:ie), intent(out)  dqdt 
)
private

The function wqs2_vect computes the gradient of saturated specific humidity for table ii. It is the same as "wqs2", but written as vector function.

Definition at line 961 of file fv_cmp.F90.

Variable Documentation

◆ c_ice

real, parameter fv_cmp_mod::c_ice = 1972.0
private

gfdl: heat capacity of ice at - 15 deg c

Definition at line 90 of file fv_cmp.F90.

◆ c_liq

real, parameter fv_cmp_mod::c_liq = 4185.5
private

gfdl: heat capacity of liquid at 15 deg c

Definition at line 91 of file fv_cmp.F90.

◆ cp_vap

real, parameter fv_cmp_mod::cp_vap = 4.0 * rvgas
private

1846.0, heat capacity of water vapor at constant pressure

Definition at line 75 of file fv_cmp.F90.

◆ cv_air

real, parameter fv_cmp_mod::cv_air = cp_air - rdgas
private

717.55, heat capacity of dry air at constant volume

Definition at line 76 of file fv_cmp.F90.

◆ cv_vap

real, parameter fv_cmp_mod::cv_vap = 3.0 * rvgas
private

1384.5, heat capacity of water vapor at constant volume

Definition at line 77 of file fv_cmp.F90.

◆ d0_vap

real fv_cmp_mod::d0_vap
private

the same as dc_vap, except that cp_vap can be cp_vap or cv_vap

Definition at line 110 of file fv_cmp.F90.

◆ d2ice

real (kind = r_grid), parameter fv_cmp_mod::d2ice = dc_vap + dc_ice
private
  • 126, isobaric heating / cooling

Definition at line 105 of file fv_cmp.F90.

◆ dc_ice

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

2213.5, isobaric heating / colling

Definition at line 94 of file fv_cmp.F90.

◆ dc_vap

real, parameter fv_cmp_mod::dc_vap = cp_vap - c_liq
private
  • 2339.5, isobaric heating / cooling

Definition at line 93 of file fv_cmp.F90.

◆ des2

real, dimension (:), allocatable fv_cmp_mod::des2
private

Definition at line 113 of file fv_cmp.F90.

◆ desw

real, dimension (:), allocatable fv_cmp_mod::desw
private

Definition at line 113 of file fv_cmp.F90.

◆ e00

real (kind = r_grid), parameter fv_cmp_mod::e00 = 611.21
private

ifs: saturation vapor pressure at 0 deg c

Definition at line 103 of file fv_cmp.F90.

◆ lat2

real, parameter fv_cmp_mod::lat2 = (hlv + hlf) ** 2
private

used in bigg mechanism

Definition at line 108 of file fv_cmp.F90.

◆ li00

real, parameter fv_cmp_mod::li00 = hlf - dc_ice * tice
private
  • 2.7105966e5, fusion latent heat coefficient at 0 deg k

Definition at line 100 of file fv_cmp.F90.

◆ li2

real (kind = r_grid), parameter fv_cmp_mod::li2 = lv0 + li00
private

2.86799816e6, sublimation latent heat coefficient at 0 deg k

Definition at line 106 of file fv_cmp.F90.

◆ lv0

real, parameter fv_cmp_mod::lv0 = hlv - dc_vap * tice
private

3.13905782e6, evaporation latent heat coefficient at 0 deg k

Definition at line 99 of file fv_cmp.F90.

◆ lv00

real fv_cmp_mod::lv00
private

the same as lv0, except that cp_vap can be cp_vap or cv_vap

Definition at line 111 of file fv_cmp.F90.

◆ mp_initialized

logical fv_cmp_mod::mp_initialized = .false.
private

Definition at line 115 of file fv_cmp.F90.

◆ t_wfr

real, parameter fv_cmp_mod::t_wfr = tice - 40.
private

homogeneous freezing temperature

Definition at line 97 of file fv_cmp.F90.

◆ table

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

Definition at line 113 of file fv_cmp.F90.

◆ table2

real, dimension (:), allocatable fv_cmp_mod::table2
private

Definition at line 113 of file fv_cmp.F90.

◆ tablew

real, dimension (:), allocatable fv_cmp_mod::tablew
private

Definition at line 113 of file fv_cmp.F90.

◆ tice

real, parameter fv_cmp_mod::tice = 273.16
private

freezing temperature

Definition at line 96 of file fv_cmp.F90.