CAM
|
Data Types | |
interface | mghydrometeorprops |
interface | rising_factorial |
interface | var_coef |
Functions/Subroutines | |
subroutine, public | micro_mg_utils_init (kind, rh2o, cpair, tmelt_in, latvap, latice, dcs, ice_sed_ai, errstring) |
type(mghydrometeorprops) function | newmghydrometeorprops (rho, eff_dim, lambda_bounds, min_mean_mass) |
pure real(r8) function | rising_factorial_r8 (x, n) |
pure real(r8) function | rising_factorial_integer (x, n) |
elemental real(r8) function | calc_ab (t, qv, xxl) |
elemental subroutine, public | size_dist_param_liq (props, qcic, ncic, rho, pgam, lamc) |
elemental subroutine, public | size_dist_param_basic (props, qic, nic, lam, n0) |
elemental subroutine, public | size_dist_param_ice (props, dcst, qic, nic, lam, n0) |
real(r8) elemental function, public | avg_diameter (q, n, rho_air, rho_sub) |
elemental real(r8) function | var_coef_r8 (relvar, a) |
elemental real(r8) function | var_coef_integer (relvar, a) |
elemental subroutine, public | ice_deposition_sublimation (t, qv, qi, ni, icldm, rho, dv, qvl, qvi, dcst, dcs_tdep, berg, vap_dep, ice_sublim) |
elemental subroutine, public | kk2000_liq_autoconversion (microp_uniform, qcic, ncic, rho, relvar, mg_prc_coeff_fix, prc_coef1, prc_exp, prc_exp1, prc, nprc, nprc1) |
elemental subroutine, public | ice_autoconversion (t, qiic, lami, n0i, dcs, dcst, dcs_tdep, prci, nprci) |
elemental subroutine, public | immersion_freezing (microp_uniform, t, pgam, lamc, qcic, ncic, relvar, mnuccc, nnuccc) |
pure subroutine, public | contact_freezing (microp_uniform, t, p, rndst, nacon, pgam, lamc, qcic, ncic, relvar, mnucct, nnucct) |
elemental subroutine, public | snow_self_aggregation (t, rho, asn, rhosn, qsic, nsic, nsagg) |
elemental subroutine, public | accrete_cloud_water_snow (t, rho, asn, uns, mu, qcic, ncic, qsic, pgam, lamc, lams, n0s, psacws, npsacws) |
elemental subroutine, public | secondary_ice_production (t, psacws, msacwi, nsacwi) |
elemental subroutine, public | accrete_rain_snow (t, rho, umr, ums, unr, uns, qric, qsic, lamr, n0r, lams, n0s, pracs, npracs) |
elemental subroutine, public | heterogeneous_rain_freezing (t, qric, nric, lamr, mnuccr, nnuccr) |
elemental subroutine, public | accrete_cloud_water_rain (microp_uniform, qric, qcic, ncic, relvar, accre_enhan, pra, npra) |
elemental subroutine, public | self_collection_rain (rho, qric, nric, nragg) |
elemental subroutine, public | accrete_cloud_ice_snow (t, rho, asn, qiic, niic, qsic, lams, n0s, prai, nprai) |
elemental subroutine, public | evaporate_sublimate_precip (t, rho, dv, mu, sc, q, qvl, qvi, lcldm, precip_frac, arn, asn, qcic, qiic, qric, qsic, lamr, n0r, lams, n0s, pre, prds) |
elemental subroutine, public | bergeron_process_snow (t, rho, dv, mu, sc, qvl, qvi, asn, qcic, qsic, lams, n0s, bergs) |
subroutine | get_dcst_sc (temp, dcst) |
pure real(r8) function | no_limiter () |
pure logical function | limiter_is_on (lim) |
Variables | |
integer, parameter, public | r8 = selected_real_kind(12) |
integer, parameter, public | i8 = selected_int_kind(18) |
type(mghydrometeorprops), public | mg_liq_props |
type(mghydrometeorprops), public | mg_ice_props |
type(mghydrometeorprops), public | mg_rain_props |
type(mghydrometeorprops), public | mg_snow_props |
real(r8), parameter, public | pi = 3.14159265358979323846_r8 |
real(r8), parameter, public | omsm = 1._r8 - 1.e-5_r8 |
real(r8), public | qsmall = huge(1.0_r8) |
real(r8), parameter, public | mincld = 0.0001_r8 |
real(r8), parameter, public | rhosn = 250._r8 |
real(r8), parameter, public | rhoi = 500._r8 |
real(r8), parameter, public | rhow = 1000._r8 |
real(r8), parameter, public | rhows = 917._r8 |
real(r8), parameter, public | ac = 3.e7_r8 |
real(r8), parameter, public | bc = 2._r8 |
real(r8), parameter, public | as = 11.72_r8 |
real(r8), parameter, public | bs = 0.41_r8 |
real(r8), public | ai = huge(1.0_r8) |
real(r8), parameter, public | bi = 1._r8 |
real(r8), parameter, public | ar = 841.99667_r8 |
real(r8), parameter, public | br = 0.8_r8 |
real(r8), parameter, public | mi0 = 4._r8/3._r8*pi*rhoi*(10.e-6_r8)**3 |
logical | pergro_mods = .false. |
integer(i8), parameter | limiter_off = int(Z'7FF1111111111111', i8) |
real(r8), parameter | icsmall = 1.e-8_r8 |
real(r8), parameter | dsph = 3._r8 |
real(r8), dimension(2), parameter | lam_bnd_rain = 1._r8/[500.e-6_r8, 20.e-6_r8] |
real(r8), dimension(2), parameter | lam_bnd_snow = 1._r8/[2000.e-6_r8, 10.e-6_r8] |
real(r8), parameter | min_mean_mass_liq = 1.e-20_r8 |
real(r8), parameter | min_mean_mass_ice = 1.e-20_r8 |
real(r8), parameter | f1s = 0.86_r8 |
real(r8), parameter | f2s = 0.28_r8 |
real(r8), parameter | f1r = 0.78_r8 |
real(r8), parameter | f2r = 0.308_r8 |
real(r8), parameter | eii = 0.5_r8 |
real(r8), parameter | bimm = 100._r8 |
real(r8), parameter | aimm = 0.66_r8 |
real(r8), parameter | droplet_mass_25um = 4._r8/3._r8*pi*rhow*(25.e-6_r8)**3 |
real(r8) | rv |
real(r8) | cpp |
real(r8) | tmelt |
real(r8) | xxlv |
real(r8) | xlf |
real(r8) | xxls |
real(r8) | gamma_bs_plus3 |
real(r8) | gamma_half_br_plus5 |
real(r8) | gamma_half_bs_plus5 |
elemental subroutine, public micro_mg_utils::accrete_cloud_ice_snow | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | asn, | ||
real(r8), intent(in) | qiic, | ||
real(r8), intent(in) | niic, | ||
real(r8), intent(in) | qsic, | ||
real(r8), intent(in) | lams, | ||
real(r8), intent(in) | n0s, | ||
real(r8), intent(out) | prai, | ||
real(r8), intent(out) | nprai | ||
) |
elemental subroutine, public micro_mg_utils::accrete_cloud_water_rain | ( | logical, intent(in) | microp_uniform, |
real(r8), intent(in) | qric, | ||
real(r8), intent(in) | qcic, | ||
real(r8), intent(in) | ncic, | ||
real(r8), intent(in) | relvar, | ||
real(r8), intent(in) | accre_enhan, | ||
real(r8), intent(out) | pra, | ||
real(r8), intent(out) | npra | ||
) |
elemental subroutine, public micro_mg_utils::accrete_cloud_water_snow | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | asn, | ||
real(r8), intent(in) | uns, | ||
real(r8), intent(in) | mu, | ||
real(r8), intent(in) | qcic, | ||
real(r8), intent(in) | ncic, | ||
real(r8), intent(in) | qsic, | ||
real(r8), intent(in) | pgam, | ||
real(r8), intent(in) | lamc, | ||
real(r8), intent(in) | lams, | ||
real(r8), intent(in) | n0s, | ||
real(r8), intent(out) | psacws, | ||
real(r8), intent(out) | npsacws | ||
) |
elemental subroutine, public micro_mg_utils::accrete_rain_snow | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | umr, | ||
real(r8), intent(in) | ums, | ||
real(r8), intent(in) | unr, | ||
real(r8), intent(in) | uns, | ||
real(r8), intent(in) | qric, | ||
real(r8), intent(in) | qsic, | ||
real(r8), intent(in) | lamr, | ||
real(r8), intent(in) | n0r, | ||
real(r8), intent(in) | lams, | ||
real(r8), intent(in) | n0s, | ||
real(r8), intent(out) | pracs, | ||
real(r8), intent(out) | npracs | ||
) |
real(r8) elemental function, public micro_mg_utils::avg_diameter | ( | real(r8), intent(in) | q, |
real(r8), intent(in) | n, | ||
real(r8), intent(in) | rho_air, | ||
real(r8), intent(in) | rho_sub | ||
) |
elemental subroutine, public micro_mg_utils::bergeron_process_snow | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | dv, | ||
real(r8), intent(in) | mu, | ||
real(r8), intent(in) | sc, | ||
real(r8), intent(in) | qvl, | ||
real(r8), intent(in) | qvi, | ||
real(r8), intent(in) | asn, | ||
real(r8), intent(in) | qcic, | ||
real(r8), intent(in) | qsic, | ||
real(r8), intent(in) | lams, | ||
real(r8), intent(in) | n0s, | ||
real(r8), intent(out) | bergs | ||
) |
|
private |
pure subroutine, public micro_mg_utils::contact_freezing | ( | logical, intent(in) | microp_uniform, |
real(r8), dimension(:), intent(in) | t, | ||
real(r8), dimension(:), intent(in) | p, | ||
real(r8), dimension(:,:), intent(in) | rndst, | ||
real(r8), dimension(:,:), intent(in) | nacon, | ||
real(r8), dimension(:), intent(in) | pgam, | ||
real(r8), dimension(:), intent(in) | lamc, | ||
real(r8), dimension(:), intent(in) | qcic, | ||
real(r8), dimension(:), intent(in) | ncic, | ||
real(r8), dimension(:), intent(in) | relvar, | ||
real(r8), dimension(:), intent(out) | mnucct, | ||
real(r8), dimension(:), intent(out) | nnucct | ||
) |
elemental subroutine, public micro_mg_utils::evaporate_sublimate_precip | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | dv, | ||
real(r8), intent(in) | mu, | ||
real(r8), intent(in) | sc, | ||
real(r8), intent(in) | q, | ||
real(r8), intent(in) | qvl, | ||
real(r8), intent(in) | qvi, | ||
real(r8), intent(in) | lcldm, | ||
real(r8), intent(in) | precip_frac, | ||
real(r8), intent(in) | arn, | ||
real(r8), intent(in) | asn, | ||
real(r8), intent(in) | qcic, | ||
real(r8), intent(in) | qiic, | ||
real(r8), intent(in) | qric, | ||
real(r8), intent(in) | qsic, | ||
real(r8), intent(in) | lamr, | ||
real(r8), intent(in) | n0r, | ||
real(r8), intent(in) | lams, | ||
real(r8), intent(in) | n0s, | ||
real(r8), intent(out) | pre, | ||
real(r8), intent(out) | prds | ||
) |
|
private |
elemental subroutine, public micro_mg_utils::heterogeneous_rain_freezing | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | qric, | ||
real(r8), intent(in) | nric, | ||
real(r8), intent(in) | lamr, | ||
real(r8), intent(out) | mnuccr, | ||
real(r8), intent(out) | nnuccr | ||
) |
elemental subroutine, public micro_mg_utils::ice_autoconversion | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | qiic, | ||
real(r8), intent(in) | lami, | ||
real(r8), intent(in) | n0i, | ||
real(r8), intent(in) | dcs, | ||
real(r8), intent(in) | dcst, | ||
logical, intent(in) | dcs_tdep, | ||
real(r8), intent(out) | prci, | ||
real(r8), intent(out) | nprci | ||
) |
elemental subroutine, public micro_mg_utils::ice_deposition_sublimation | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | qv, | ||
real(r8), intent(in) | qi, | ||
real(r8), intent(in) | ni, | ||
real(r8), intent(in) | icldm, | ||
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | dv, | ||
real(r8), intent(in) | qvl, | ||
real(r8), intent(in) | qvi, | ||
real(r8), intent(in) | dcst, | ||
logical, intent(in) | dcs_tdep, | ||
real(r8), intent(out) | berg, | ||
real(r8), intent(out) | vap_dep, | ||
real(r8), intent(out) | ice_sublim | ||
) |
elemental subroutine, public micro_mg_utils::immersion_freezing | ( | logical, intent(in) | microp_uniform, |
real(r8), intent(in) | t, | ||
real(r8), intent(in) | pgam, | ||
real(r8), intent(in) | lamc, | ||
real(r8), intent(in) | qcic, | ||
real(r8), intent(in) | ncic, | ||
real(r8), intent(in) | relvar, | ||
real(r8), intent(out) | mnuccc, | ||
real(r8), intent(out) | nnuccc | ||
) |
elemental subroutine, public micro_mg_utils::kk2000_liq_autoconversion | ( | logical, intent(in) | microp_uniform, |
real(r8), intent(in) | qcic, | ||
real(r8), intent(in) | ncic, | ||
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | relvar, | ||
logical, intent(in) | mg_prc_coeff_fix, | ||
real(r8), intent(in) | prc_coef1, | ||
real(r8), intent(in) | prc_exp, | ||
real(r8), intent(in) | prc_exp1, | ||
real(r8), intent(out) | prc, | ||
real(r8), intent(out) | nprc, | ||
real(r8), intent(out) | nprc1 | ||
) |
|
private |
subroutine, public micro_mg_utils::micro_mg_utils_init | ( | integer, intent(in) | kind, |
real(r8), intent(in) | rh2o, | ||
real(r8), intent(in) | cpair, | ||
real(r8), intent(in) | tmelt_in, | ||
real(r8), intent(in) | latvap, | ||
real(r8), intent(in) | latice, | ||
real(r8), intent(in) | dcs, | ||
real(r8), intent(in) | ice_sed_ai, | ||
character(128), intent(out) | errstring | ||
) |
type(mghydrometeorprops) function micro_mg_utils::newmghydrometeorprops | ( | real(r8), intent(in) | rho, |
real(r8), intent(in) | eff_dim, | ||
real(r8), dimension(2), intent(in), optional | lambda_bounds, | ||
real(r8), intent(in), optional | min_mean_mass | ||
) |
|
private |
|
private |
|
private |
elemental subroutine, public micro_mg_utils::secondary_ice_production | ( | real(r8), intent(in) | t, |
real(r8), intent(inout) | psacws, | ||
real(r8), intent(out) | msacwi, | ||
real(r8), intent(out) | nsacwi | ||
) |
elemental subroutine, public micro_mg_utils::self_collection_rain | ( | real(r8), intent(in) | rho, |
real(r8), intent(in) | qric, | ||
real(r8), intent(in) | nric, | ||
real(r8), intent(out) | nragg | ||
) |
elemental subroutine, public micro_mg_utils::size_dist_param_basic | ( | type(mghydrometeorprops), intent(in) | props, |
real(r8), intent(in) | qic, | ||
real(r8), intent(inout) | nic, | ||
real(r8), intent(out) | lam, | ||
real(r8), intent(out), optional | n0 | ||
) |
elemental subroutine, public micro_mg_utils::size_dist_param_ice | ( | type(mghydrometeorprops), intent(in) | props, |
real(r8), intent(in) | dcst, | ||
real(r8), intent(in) | qic, | ||
real(r8), intent(inout) | nic, | ||
real(r8), intent(out) | lam, | ||
real(r8), intent(out), optional | n0 | ||
) |
elemental subroutine, public micro_mg_utils::size_dist_param_liq | ( | type(mghydrometeorprops), intent(in) | props, |
real(r8), intent(in) | qcic, | ||
real(r8), intent(inout) | ncic, | ||
real(r8), intent(in) | rho, | ||
real(r8), intent(out) | pgam, | ||
real(r8), intent(out) | lamc | ||
) |
elemental subroutine, public micro_mg_utils::snow_self_aggregation | ( | real(r8), intent(in) | t, |
real(r8), intent(in) | rho, | ||
real(r8), intent(in) | asn, | ||
real(r8), intent(in) | rhosn, | ||
real(r8), intent(in) | qsic, | ||
real(r8), intent(in) | nsic, | ||
real(r8), intent(out) | nsagg | ||
) |
|
private |
|
private |
real(r8), parameter, public micro_mg_utils::ac = 3.e7_r8 |
real(r8), public micro_mg_utils::ai = huge(1.0_r8) |
|
private |
real(r8), parameter, public micro_mg_utils::ar = 841.99667_r8 |
real(r8), parameter, public micro_mg_utils::as = 11.72_r8 |
real(r8), parameter, public micro_mg_utils::bc = 2._r8 |
real(r8), parameter, public micro_mg_utils::bi = 1._r8 |
|
private |
real(r8), parameter, public micro_mg_utils::br = 0.8_r8 |
real(r8), parameter, public micro_mg_utils::bs = 0.41_r8 |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
integer, parameter, public micro_mg_utils::i8 = selected_int_kind(18) |
|
private |
|
private |
|
private |
|
private |
type(mghydrometeorprops), public micro_mg_utils::mg_ice_props |
type(mghydrometeorprops), public micro_mg_utils::mg_liq_props |
type(mghydrometeorprops), public micro_mg_utils::mg_rain_props |
type(mghydrometeorprops), public micro_mg_utils::mg_snow_props |
|
private |
|
private |
real(r8), parameter, public micro_mg_utils::mincld = 0.0001_r8 |
real(r8), parameter, public micro_mg_utils::omsm = 1._r8 - 1.e-5_r8 |
|
private |
real(r8), parameter, public micro_mg_utils::pi = 3.14159265358979323846_r8 |
real(r8), public micro_mg_utils::qsmall = huge(1.0_r8) |
integer, parameter, public micro_mg_utils::r8 = selected_real_kind(12) |
real(r8), parameter, public micro_mg_utils::rhoi = 500._r8 |
real(r8), parameter, public micro_mg_utils::rhosn = 250._r8 |
real(r8), parameter, public micro_mg_utils::rhow = 1000._r8 |
real(r8), parameter, public micro_mg_utils::rhows = 917._r8 |
|
private |
|
private |
|
private |
|
private |
|
private |