|  | 
| subroutine, public | fv_sat_adj_init (do_sat_adj, kmp, nwat, ngas, rilist, cpilist, mpirank, mpiroot, errmsg, errflg) | 
|  | The subroutine 'fv_sat_adj_init' initializes lookup tables for the saturation mixing ratio. 
 | 
|  | 
| subroutine, public | fv_sat_adj_finalize (errmsg, errflg) | 
|  | The subroutine 'fv_sat_adj_finalize' deallocates lookup tables for the saturation mixing ratio. 
 | 
|  | 
| subroutine, public | fv_sat_adj_run (mdt, zvir, is, ie, isd, ied, isc1, iec1, isc2, iec2, kmp, km, kmdelz, js, je, jsd, jed, jsc1, jec1, jsc2, jec2, ng, hydrostatic, fast_mp_consv, te0_2d, te0, ngas, qvi, qv, ql, qi, qr, qs, qg, hs, peln, delz, delp, pt, pkz, q_con, akap, cappa, area, dtdt, out_dt, last_step, do_qa, qa, nthreads, errmsg, errflg) | 
|  | 
| real(kind=kind_dyn) function | wqs1 (ta, den) | 
|  | the function 'wqs1' computes the saturated specific humidity for table ii. 
 | 
|  | 
| real(kind=kind_dyn) function | iqs1 (ta, den) | 
|  | the function 'wqs1' computes the saturated specific humidity for table iii 
 | 
|  | 
| real(kind=kind_dyn) function | wqs2 (ta, den, dqdt) | 
|  | The function 'wqs2'computes the gradient of saturated specific humidity for table ii. 
 | 
|  | 
| 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. 
 | 
|  | 
| real(kind=kind_dyn) function | iqs2 (ta, den, dqdt) | 
|  | The function 'iqs2' computes the gradient of saturated specific humidity for table iii. 
 | 
|  | 
| subroutine | qs_table (n) | 
|  | saturation water vapor pressure table i 
 | 
|  | 
| subroutine | qs_tablew (n) | 
|  | saturation water vapor pressure table ii. 
 | 
|  | 
| subroutine | qs_table2 (n) | 
|  | saturation water vapor pressure table iii. 
 | 
|  | 
|  | 
| subroutine | fv_sat_adj_work (mdt, zvir, is, ie, js, je, ng, hydrostatic, consv_te, te0, ifdef multi_gases | 
|  | This subroutine includes the entity of the fast saturation adjustment processes. 
 | 
|  | 
|  | 
| logical | is_initialized = .false. | 
|  | 
| real(kind=kind_dyn), parameter | rrg = -rdgas/grav | 
|  | 
| real(kind=kind_dyn), parameter | cp_vap = 4.0 * rvgas | 
|  | 1846.0, heat capacity of water vapor at constant pressure 
 | 
|  | 
| real(kind=kind_dyn), parameter | cv_air = cp_air - rdgas | 
|  | 717.55, heat capacity of dry air at constant volume 
 | 
|  | 
| real(kind=kind_dyn), parameter | cv_vap = 3.0 * rvgas | 
|  | 1384.5, heat capacity of water vapor at constant volume 
 | 
|  | 
| real(kind=kind_dyn), parameter | c_ice = 1972.0 | 
|  | gfdl: heat capacity of ice at - 15 deg c 
 | 
|  | 
| real(kind=kind_dyn), parameter | c_liq = 4185.5 | 
|  | gfdl: heat capacity of liquid at 15 deg c 
 | 
|  | 
| real(kind=kind_dyn), parameter | dc_vap = cp_vap - c_liq | 
|  | 
| real(kind=kind_dyn), parameter | dc_ice = c_liq - c_ice | 
|  | 2213.5, isobaric heating / colling 
 | 
|  | 
| real(kind=kind_dyn), parameter | tice = 273.16 | 
|  | freezing temperature 
 | 
|  | 
| real(kind=kind_dyn), parameter | t_wfr = tice - 40. | 
|  | homogeneous freezing temperature 
 | 
|  | 
| real(kind=kind_dyn), parameter | lv0 = hlv - dc_vap * tice | 
|  | 3.13905782e6, evaporation latent heat coefficient at 0 deg k 
 | 
|  | 
| real(kind=kind_dyn), parameter | li00 = hlf - dc_ice * tice | 
|  | 
| real(kind_grid), parameter | e00 = 611.21 | 
|  | ifs: saturation vapor pressure at 0 deg c 
 | 
|  | 
| real(kind_grid), parameter | d2ice = dc_vap + dc_ice | 
|  | 
| real(kind_grid), parameter | li2 = lv0 + li00 | 
|  | 2.86799816e6, sublimation latent heat coefficient at 0 deg k 
 | 
|  | 
| real(kind=kind_dyn), parameter | lat2 = (hlv + hlf) ** 2 | 
|  | used in bigg mechanism 
 | 
|  | 
| real(kind=kind_dyn) | d0_vap | 
|  | the same as dc_vap, except that cp_vap can be cp_vap or cv_vap 
 | 
|  | 
| real(kind=kind_dyn) | lv00 | 
|  | the same as lv0, except that cp_vap can be cp_vap or cv_vap 
 | 
|  | 
| real(kind=kind_dyn), dimension(:), allocatable | table | 
|  | 
| real(kind=kind_dyn), dimension(:), allocatable | table2 | 
|  | 
| real(kind=kind_dyn), dimension(:), allocatable | tablew | 
|  | 
| real(kind=kind_dyn), dimension(:), allocatable | des2 | 
|  | 
| real(kind=kind_dyn), dimension(:), allocatable | desw | 
|  |