CCPP Scientific Documentation
v5.0.0
subroutine fv_sat_adj::fv_sat_adj_work ( real(kind=kind_dyn), intent(in)  mdt,
real(kind=kind_dyn), 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(kind=kind_dyn), dimension (is - ng:ie + ng, js - ng:je + ng), intent(out)  te0,
  ifdef,
  MULTI_GASES 
)
private

GFDL Cloud Fast Physics General Algorithm

  • Define conversion scalar / factor.
  • Define heat capacity of dry air and water vapor based on hydrostatical property.
  • Define air density based on hydrostatical property.
  • Define heat capacity and latend heat coefficient.
  • Fix energy conservation.
  • Fix negative cloud ice with snow.
  • Melting of cloud ice to cloud water and rain.
  • Update latend heat coefficient.
  • Fix negative snow with graupel or graupel with available snow.
  • Fix negative cloud water with rain or rain with available cloud water.
  • Enforce complete freezing of cloud water to cloud ice below - 48 c.
  • Update latend heat coefficient.
  • Condensation/evaporation between water vapor and cloud water.
  • Update latend heat coefficient.
  • condensation/evaporation between water vapor and cloud water, last time step enforce upper (no super_sat) & lower (critical rh) bounds.
  • Update latend heat coefficient.
  • Homogeneous freezing of cloud water to cloud ice.
  • Update latend heat coefficient.
  • bigg mechanism (heterogeneous freezing of cloud water to cloud ice).
  • Update latend heat coefficient.
  • Freezing of rain to graupel.
  • Update latend heat coefficient.
  • Melting of snow to rain or cloud water.
  • Autoconversion from cloud water to rain.
  • Update latend heat coefficient.
  • Sublimation/deposition between water vapor and cloud ice.
  • Virtual temperature updated.
  • Fix negative graupel with available cloud ice.
  • Autoconversion from cloud ice to snow.
  • Fix energy conservation.
  • Update latend heat coefficient.
  • Compute cloud fraction.
    • If it is the last step, combine water species.
    • Use the "liquid - frozen water temperature" (tin) to compute saturated specific humidity.
      • higher than 10 m is considered "land" and will have higher subgrid variability
      • "scale - aware" subgrid variability: 100 - km as the base
      • calculate partial cloudiness by pdf; assuming subgrid linear distribution in horizontal; this is effectively a smoother for the binary cloud scheme; qa = 0.5 if qstar (i) == qpz

References c_ice, c_liq, cp_vap, cv_air, cv_vap, d0_vap, dc_ice, gfdl_cloud_microphys_mod::dw_land, gfdl_cloud_microphys_mod::dw_ocean, iqs1(), iqs2(), lat2, li00, lv00, gfdl_cloud_microphys_mod::rad_graupel, gfdl_cloud_microphys_mod::rad_rain, gfdl_cloud_microphys_mod::rad_snow, t_wfr, tice, gfdl_cloud_microphys_mod::tintqs, wqs1(), and wqs2_vect().

Referenced by fv_sat_adj_run().

Here is the call graph for this function: