This is cloud microphysics package for GFDL global cloud resolving model. The algorithms are originally derived from Lin et al. (1983) [65]. most of the key elements have been simplified/improved. This code at this stage bears little to no similarity to the original Lin MP in zetac. therefore, it is best to be called GFDL microphysics (GFDL MP) . More...
The module contains the GFDL cloud microphysics (Chen and Lin (2013) [13] ). The module is paired with GFDL MP Fast Physics, which performs the "fast" processes.
The subroutine executes the full GFDL cloud microphysics.
local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
---|---|---|---|---|---|---|---|---|
levs | vertical_dimension | number of vertical levels | count | 0 | integer | in | F | |
im | horizontal_loop_extent | horizontal loop extent | count | 0 | integer | in | F | |
con_g | gravitational_acceleration | gravitational acceleration | m s-2 | 0 | real | kind_phys | in | F |
con_fvirt | ratio_of_vapor_to_dry_air_gas_constants_minus_one | rv/rd - 1 (rv = ideal gas constant for water vapor) | none | 0 | real | kind_phys | in | F |
con_rd | gas_constant_dry_air | ideal gas constant for dry air | J kg-1 K-1 | 0 | real | kind_phys | in | F |
frland | land_area_fraction | land area fraction | frac | 1 | real | kind_phys | in | F |
garea | cell_area | area of grid cell | m2 | 1 | real | kind_phys | in | F |
gq0 | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity updated by physics | kg kg-1 | 2 | real | kind_phys | inout | F |
gq0_ntcw | cloud_condensed_water_mixing_ratio_updated_by_physics | cloud condensed water mixing ratio updated by physics | kg kg-1 | 2 | real | kind_phys | inout | F |
gq0_ntrw | rain_water_mixing_ratio_updated_by_physics | moist mixing ratio of rain updated by physics | kg kg-1 | 2 | real | kind_phys | inout | F |
gq0_ntiw | ice_water_mixing_ratio_updated_by_physics | moist mixing ratio of cloud ice updated by physics | kg kg-1 | 2 | real | kind_phys | inout | F |
gq0_ntsw | snow_water_mixing_ratio_updated_by_physics | moist mixing ratio of snow updated by physics | kg kg-1 | 2 | real | kind_phys | inout | F |
gq0_ntgl | graupel_mixing_ratio_updated_by_physics | moist mixing ratio of graupel updated by physics | kg kg-1 | 2 | real | kind_phys | inout | F |
gq0_ntclamt | cloud_fraction_updated_by_physics | cloud fraction updated by physics | frac | 2 | real | kind_phys | inout | F |
gt0 | air_temperature_updated_by_physics | air temperature updated by physics | K | 2 | real | kind_phys | inout | F |
gu0 | x_wind_updated_by_physics | zonal wind updated by physics | m s-1 | 2 | real | kind_phys | inout | F |
gv0 | y_wind_updated_by_physics | meridional wind updated by physics | m s-1 | 2 | real | kind_phys | inout | F |
vvl | omega | layer mean vertical velocity | Pa s-1 | 2 | real | kind_phys | in | F |
prsl | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F |
phii | geopotential_at_interface | geopotential at model layer interfaces | m2 s-2 | 2 | real | kind_phys | in | F |
del | air_pressure_difference_between_midlayers | air pressure difference between mid-layers | Pa | 2 | real | kind_phys | in | F |
rain0 | lwe_thickness_of_explicit_rain_amount | explicit rain on physics timestep | m | 1 | real | kind_phys | out | F |
ice0 | lwe_thickness_of_ice_amount | ice fall on physics timestep | m | 1 | real | kind_phys | out | F |
snow0 | lwe_thickness_of_snow_amount | snow fall on physics timestep | m | 1 | real | kind_phys | out | F |
graupel0 | lwe_thickness_of_graupel_amount | graupel fall on physics timestep | m | 1 | real | kind_phys | out | F |
prcp0 | lwe_thickness_of_explicit_precipitation_amount | explicit precipitation (rain, ice, snow, graupel) on physics timestep | m | 1 | real | kind_phys | out | F |
sr | ratio_of_snowfall_to_rainfall | snow ratio: ratio of snow to total precipitation | frac | 1 | real | kind_phys | out | F |
dtp | time_step_for_physics | physics timestep | s | 0 | real | kind_phys | in | F |
hydrostatic | flag_for_hydrostatic_solver | flag indicating hydrostatic solver | flag | 0 | logical | in | F | |
phys_hydrostatic | flag_for_hydrostatic_heating_from_physics | flag indicating hydrostatic heating from physics | flag | 0 | logical | in | F | |
errmsg | ccpp_error_message | error message for error handling in CCPP | none | 0 | character | len=* | out | F |
errflg | ccpp_error_flag | error flag for error handling in CCPP | flag | 0 | integer | out | F |
Functions/Subroutines | |
subroutine, public | gfdl_cloud_microphys::gfdl_cloud_microphys_run ( levs, im, con_g, con_fvirt, con_rd, frland, garea, gq0, gq0_ntcw, gq0_ntrw, gq0_ntiw, gq0_ntsw, gq0_ntgl, gq0_ntclamt, gt0, gu0, gv0, vvl, prsl, phii, del, rain0, ice0, snow0, graupel0, prcp0, sr, dtp, hydrostatic, phys_hydrostatic, errmsg, errflg) |
subroutine | gfdl_cloud_microphys::gfdl_cloud_microphys_work (iis, iie, jjs, jje, kks, kke, ktop, kbot, qv, ql, qr, qi, qs, qg, qa, qn, qv_dt, ql_dt, qr_dt, qi_dt, qs_dt, qg_dt, qa_dt, pt_dt, pt, w, uin, vin, udt, vdt, dz, delp, area, dt_in, land, rain, snow, ice, graupel, hydrostatic, phys_hydrostatic) |
subroutine | gfdl_cloud_microphys::mpdrv (hydrostatic, uin, vin, w, delp, pt, qv, ql, qr, qi, qs, qg, qa, qn, dz, is, ie, js, je, ks, ke, ktop, kbot, j, dt_in, ntimes, rain, snow, graupel, ice, m2_rain, m2_sol, cond, area1, land, u_dt, v_dt, pt_dt, qv_dt, ql_dt, qr_dt, qi_dt, qs_dt, qg_dt, qa_dt, w_var, vt_r, vt_s, vt_g, vt_i, qn2) |
GFDL cloud microphysics, major program, and is based on Lin et al.(1983) [65] and Rutledge and Hobbs (1984) [92]. More... | |
subroutine | gfdl_cloud_microphys::sedi_heat (ktop, kbot, dm, m1, dz, tz, qv, ql, qr, qi, qs, qg, cw) |
This subroutine calculates sedimentation of heat. More... | |
subroutine | gfdl_cloud_microphys::warm_rain (dt, ktop, kbot, dp, dz, tz, qv, ql, qr, qi, qs, qg, den, denfac, ccn, c_praut, rh_rain, vtr, r1, m1_rain, w1, h_var) |
This subroutine includes warm rain cloud microphysics. More... | |
subroutine | gfdl_cloud_microphys::revap_racc (ktop, kbot, dt, tz, qv, ql, qr, qi, qs, qg, den, denfac, rh_rain, h_var) |
This subroutine calculates evaporation of rain and accretion of rain. More... | |
subroutine | gfdl_cloud_microphys::linear_prof (km, q, dm, z_var, h_var) |
Definition of vertical subgrid variability used for cloud ice and cloud water autoconversion. More... | |
subroutine | gfdl_cloud_microphys::icloud (ktop, kbot, tzk, p1, qvk, qlk, qrk, qik, qsk, qgk, dp1, den, denfac, vts, vtg, vtr, qak, rh_adj, rh_rain, dts, h_var) |
This subroutine includes cloud ice microphysics processes. More... | |
subroutine | gfdl_cloud_microphys::subgrid_z_proc (ktop, kbot, p1, den, denfac, dts, rh_adj, tz, qv, ql, qr, qi, qs, qg, qa, h_var, rh_rain) |
This subroutine calculates temperature sentive high vertical resolution processes. More... | |
subroutine | gfdl_cloud_microphys::revap_rac1 (hydrostatic, is, ie, dt, tz, qv, ql, qr, qi, qs, qg, den, hvar) |
This subroutine calculates rain evaporation. More... | |
subroutine | gfdl_cloud_microphys::terminal_fall (dtm, ktop, kbot, tz, qv, ql, qr, qg, qs, qi, dz, dp, den, vtg, vts, vti, r1, g1, s1, i1, m1_sol, w1) |
The subroutine 'terminal_fall' computes terminal fall speed. More... | |
subroutine | gfdl_cloud_microphys::check_column (ktop, kbot, q, no_fall) |
The subroutine 'check_column' checks if the water species is large enough to fall. More... | |
subroutine | gfdl_cloud_microphys::implicit_fall (dt, ktop, kbot, ze, vt, dp, q, precip, m1) |
The subroutine computes the time-implicit monotonic fall scheme. More... | |
subroutine | gfdl_cloud_microphys::lagrangian_fall_ppm (ktop, kbot, zs, ze, zt, dp, q, precip, m1, mono) |
Lagrangian scheme. More... | |
subroutine | gfdl_cloud_microphys::cs_profile (a4, del, km, do_mono) |
GFDL cloud microphysics, major program, and is based on Lin et al.(1983) [65] and Rutledge and Hobbs (1984) [92]. More... | |
subroutine | gfdl_cloud_microphys::cs_limiters (km, a4) |
This subroutine perform positive definite constraint. More... | |
subroutine | gfdl_cloud_microphys::fall_speed (ktop, kbot, den, qs, qi, qg, ql, tk, vts, vti, vtg) |
The subroutine calculates vertical fall speed of snow/ice/graupel. More... | |
subroutine | gfdl_cloud_microphys::setupm |
The subroutine sets up gfdl cloud microphysics parameters. More... | |
real function | gfdl_cloud_microphys::acr3d (v1, v2, q1, q2, c, cac, rho) |
The function is an accretion function (Lin et al.(1983) [65] ) More... | |
real function | gfdl_cloud_microphys::smlt (tc, dqs, qsrho, psacw, psacr, c, rho, rhofac) |
Melting of snow function (Lin et al.(1983) [65]) note: psacw and psacr must be calc before smlt is called. More... | |
real function | gfdl_cloud_microphys::gmlt (tc, dqs, qgrho, pgacw, pgacr, c, rho) |
Melting of graupel function (Eq.(47) in Lin et al. 1983 [65]) note: \(P_{gacw}\) and \(P_{gacr}\) must be calculated before gmlt is called. More... | |
subroutine | gfdl_cloud_microphys::qsmith_setup |
The subroutine 'qsmith_init' initializes lookup tables for saturation water vapor pressure for the following utility routines that are designed to return qs consistent with the assumptions in FV3. More... | |
real function | gfdl_cloud_microphys::wqs1 (ta, den) |
The function 'wqs1' returns the saturation vapor pressure over pure liquid water for a given temperature and air density. More... | |
real function | gfdl_cloud_microphys::wqs2 (ta, den, dqdt) |
The function 'wqs2' returns the saturation vapor pressure over pure liquid water for a given temperature and air density, as well as the analytic dqs/dT: rate of change of saturation vapor pressure WRT temperature. More... | |
real function | gfdl_cloud_microphys::wet_bulb (q, t, den) |
The function 'wet_bulb' uses 'wqs2' to compute the wet-bulb temperature from the mixing ratio and the temperature. More... | |
real function | gfdl_cloud_microphys::iqs1 (ta, den) |
The function 'iqs1' computes the saturated specific humidity for table iii. More... | |
real function | gfdl_cloud_microphys::iqs2 (ta, den, dqdt) |
The function 'iqs2' computes the gradient of saturated specific humidity for table iii. More... | |
real function | gfdl_cloud_microphys::qs1d_moist (ta, qv, pa, dqdt) |
The function 'qs1d_moist' computes the gradient of saturated specific humidity for table iii. More... | |
real function | gfdl_cloud_microphys::wqsat2_moist (ta, qv, pa, dqdt) |
The function 'wqsat2_moist' computes the saturated specific humidity for pure liquid water , as well as des/dT. More... | |
real function | gfdl_cloud_microphys::wqsat_moist (ta, qv, pa) |
The function 'wqsat_moist' computes the saturated specific humidity for pure liquid water. More... | |
real function | gfdl_cloud_microphys::qs1d_m (ta, qv, pa) |
The function 'qs1d_m' computes the saturated specific humidity for table iii. More... | |
real function | gfdl_cloud_microphys::d_sat (ta, den) |
The function 'd_sat' computes the difference in saturation vapor * density * between water and ice. More... | |
real function | gfdl_cloud_microphys::esw_table (ta) |
The function 'esw_table' computes the saturated water vapor pressure for table ii. More... | |
real function | gfdl_cloud_microphys::es2_table (ta) |
The function 'es2_table' computes the saturated water vapor pressure for table iii. More... | |
subroutine | gfdl_cloud_microphys::esw_table1d (ta, es, n) |
The subroutine 'esw_table1d' computes the saturated water vapor pressure for table ii. More... | |
subroutine | gfdl_cloud_microphys::es2_table1d (ta, es, n) |
The subroutine 'es3_table1d' computes the saturated water vapor pressure for table iii. More... | |
subroutine | gfdl_cloud_microphys::es3_table1d (ta, es, n) |
The subroutine 'es3_table1d' computes the saturated water vapor pressure for table iv. More... | |
subroutine | gfdl_cloud_microphys::qs_tablew (n) |
saturation water vapor pressure table ii More... | |
subroutine | gfdl_cloud_microphys::qs_table2 (n) |
saturation water vapor pressure table iii More... | |
subroutine | gfdl_cloud_microphys::qs_table3 (n) |
saturation water vapor pressure table iv More... | |
real function | gfdl_cloud_microphys::qs_blend (t, p, q) |
The function 'qs_blend' computes the saturated specific humidity with a blend of water and ice depending on the temperature. More... | |
subroutine | gfdl_cloud_microphys::qs_table (n) |
saturation water vapor pressure table i More... | |
subroutine | gfdl_cloud_microphys::qsmith (im, km, ks, t, p, q, qs, dqdt) |
The function 'qsmith' computes the saturated specific humidity with a blend of water and ice depending on the temperature in 3D. More... | |
subroutine | gfdl_cloud_microphys::neg_adj (ktop, kbot, pt, dp, qv, ql, qr, qi, qs, qg) |
The subroutine 'neg_adj' fixes negative water species. More... | |
subroutine | gfdl_cloud_microphys::interpolate_z (is, ie, js, je, km, zl, hgt, a3, a2) |
quick local sum algorithm More... | |
subroutine | gfdl_cloud_microphys::cloud_diagnosis (is, ie, js, je, den, qw, qi, qr, qs, qg, t, qcw, qci, qcr, qcs, qcg, rew, rei, rer, res, reg) |
The subroutine 'cloud_diagnosis' diagnoses the radius of cloud species. More... | |