CAM
|
Functions/Subroutines | |
subroutine, public | micro_mg_init (kind, gravit, rair, rh2o, cpair, tmelt_in, latvap, latice, rhmini_in, micro_mg_dcs, micro_mg_dcs_tdep, microp_uniform_in, do_cldice_in, use_hetfrz_classnuc_in, micro_mg_precip_frac_method_in, micro_mg_berg_eff_factor_in, errstring) |
subroutine, public | micro_mg_tend (mgncol, nlev, deltatin, t, q, qcn, qin, ncn, nin, relvar, accre_enhan, p, pdel, pint, cldn, liqcldf, icecldf, qcsinksum_rate1ord, naai, npccn, rndst, nacon, tlat, qvlat, qctend, qitend, nctend, nitend, effc, effc_fn, effi, prect, preci, nevapr, evapsnow, prain, prodsnow, cmeout, deffi, pgamrad, lamcrad, qsout, dsout, rflx, sflx, qrout, reff_rain, reff_snow, qcsevap, qisevap, qvres, cmeitot, vtrmc, vtrmi, qcsedten, qisedten, pratot, prctot, mnuccctot, mnuccttot, msacwitot, psacwstot, bergstot, bergtot, melttot, homotot, qcrestot, prcitot, praitot, qirestot, mnuccrtot, pracstot, meltsdttot, frzrdttot, mnuccdtot, nrout, nsout, refl, arefl, areflz, frefl, csrfl, acsrfl, fcsrfl, rercld, ncai, ncal, qrout2, qsout2, nrout2, nsout2, drout2, dsout2, freqs, freqr, nfice, qcrat, errstring, tnd_qsnow, tnd_nsnow, re_ice, prer_evap, frzimm, frzcnt, frzdep) |
elemental real(r8) function | calc_ab (t, qv, xxl) |
elemental subroutine | size_dist_param_liq (qcic, ncic, cdnl, rho, nadjflag, pgam, lamc) |
elemental subroutine | size_dist_param_ice (qiic, dcst, niic, lami, n0i) |
elemental subroutine | size_dist_param_rain (qric, nric, lamr, n0r) |
elemental subroutine | size_dist_param_snow (qsic, nsic, lams, n0s) |
real(r8) elemental function | avg_diameter (q, n, rho_air, rho_sub) |
real(r8) elemental function | var_coef (relvar, a) |
elemental subroutine | ice_deposition_sublimation (deltat, t, qv, qc, qi, ni, lcldm, icldm, naai, rho, dv, qvl, qvi, dcst, berg, vap_dep, ice_sublim) |
elemental subroutine | kk2000_liq_autoconversion (qcic, ncic, rho, relvar, prc, nprc, nprc1) |
elemental subroutine | ice_autoconversion (t, qiic, lami, n0i, dcst, prci, nprci) |
elemental subroutine | immersion_freezing (t, pgam, lamc, cdist1, qcic, relvar, mnuccc, nnuccc) |
pure subroutine | contact_freezing (t, p, rndst, nacon, pgam, lamc, cdist1, qcic, relvar, mnucct, nnucct) |
elemental subroutine | snow_self_aggregation (t, rho, asn, qsic, nsic, nsagg) |
elemental subroutine | accrete_cloud_water_snow (t, rho, asn, uns, mu, qcic, ncic, qsic, pgam, lamc, lams, n0s, psacws, npsacws) |
elemental subroutine | secondary_ice_production (t, psacws, msacwi, nsacwi) |
elemental subroutine | accrete_rain_snow (t, rho, umr, ums, unr, uns, qric, qsic, lamr, n0r, lams, n0s, pracs, npracs) |
elemental subroutine | heterogeneous_rain_freezing (t, qric, nric, lamr, mnuccr, nnuccr) |
elemental subroutine | accrete_cloud_water_rain (qric, qcic, ncic, relvar, accre_enhan, pra, npra) |
elemental subroutine | self_collection_rain (rho, qric, nric, nragg) |
elemental subroutine | accrete_cloud_ice_snow (t, rho, asn, qiic, niic, qsic, lams, n0s, prai, nprai) |
elemental subroutine | evaporate_sublimate_precip (deltat, t, p, rho, dv, mu, sc, q, qvl, qvi, lcldm, cldmax, arn, asn, qcic, qiic, qric, qsic, lamr, n0r, lams, n0s, pre, prds) |
elemental subroutine | bergeron_process_snow (t, rho, dv, mu, sc, qvl, qvi, asn, qcic, qsic, lams, n0s, bergs) |
elemental subroutine | calc_rercld (lamr, n0r, lamc, cdist1, pgam, dumr, qcic, rercld) |
pure subroutine, public | micro_mg_get_cols (ncol, nlev, top_lev, qcn, qin, mgncol, mgcols) |
subroutine | get_dcst (ncol, pver, temp, dcst) |
pure real(r8) function, dimension(size(orig_val, 1), size(orig_val, 2) -1) | interp_to_mid (orig_val, weights) |
Variables | |
logical, parameter, public | nccons = .false. |
logical, parameter, public | nicons = .false. |
integer, parameter | r8 = selected_real_kind(12) |
real(r8), parameter | pi = 3.14159265358979323846_r8 |
real(r8), parameter | omsm = 0.99999_r8 |
real(r8), parameter | ncnst = 100.e6_r8 |
real(r8), parameter | ninst = 0.1e6_r8 |
real(r8), parameter | rhosn = 250._r8 |
real(r8), parameter | rhoi = 500._r8 |
real(r8), parameter | rhow = 1000._r8 |
real(r8), parameter | ac = 3.e7_r8 |
real(r8), parameter | bc = 2._r8 |
real(r8), parameter | as = 11.72_r8 |
real(r8), parameter | bs = 0.41_r8 |
real(r8), parameter | ai = 700._r8 |
real(r8), parameter | bi = 1._r8 |
real(r8), parameter | ar = 841.99667_r8 |
real(r8), parameter | br = 0.8_r8 |
real(r8), parameter | dsph = 3._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.1_r8 |
real(r8) | dcs |
logical | dcs_tdep |
real(r8), parameter | qsmall = 1.e-18_r8 |
real(r8), parameter | icsmall = 1.e-8_r8 |
real(r8), parameter | bimm = 100._r8 |
real(r8), parameter | aimm = 0.66_r8 |
real(r8), parameter | mi0 = 4._r8/3._r8*pi*rhoi*(10.e-6_r8)**3 |
real(r8), parameter | mi0l_min = 4._r8/3._r8*pi*rhow*(4.e-6_r8)**3 |
real(r8), parameter | csmin = -30._r8 |
real(r8), parameter | csmax = 26._r8 |
real(r8), parameter | mindbz = -99._r8 |
real(r8), parameter | minrefl = 1.26e-10_r8 |
real(r8) | g |
real(r8) | r |
real(r8) | rv |
real(r8) | cpp |
real(r8) | tmelt |
real(r8) | xxlv |
real(r8) | xlf |
real(r8) | xxls |
real(r8) | rhmini |
logical | microp_uniform |
logical | do_cldice |
logical | use_hetfrz_classnuc |
real(r8) | rhosu |
real(r8) | icenuct |
real(r8) | snowmelt |
real(r8) | rainfrze |
real(r8) | cons1 |
real(r8) | cons4 |
real(r8) | cons5 |
real(r8) | cons7 |
real(r8) | cons8 |
real(r8) | cons11 |
real(r8) | cons13 |
real(r8) | cons14 |
real(r8) | cons16 |
real(r8) | cons17 |
real(r8) | cons22 |
real(r8) | cons23 |
real(r8) | cons24 |
real(r8) | cons25 |
real(r8) | cons27 |
real(r8) | cons28 |
character(len=16) | micro_mg_precip_frac_method |
real(r8) | micro_mg_berg_eff_factor |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
pure subroutine, public micro_mg1_5::micro_mg_get_cols | ( | integer, intent(in) | ncol, |
integer, intent(in) | nlev, | ||
integer, intent(in) | top_lev, | ||
real(r8), dimension(:,:), intent(in) | qcn, | ||
real(r8), dimension(:,:), intent(in) | qin, | ||
integer, intent(out) | mgncol, | ||
integer, dimension(:), intent(out), allocatable | mgcols | ||
) |
subroutine, public micro_mg1_5::micro_mg_init | ( | integer, intent(in) | kind, |
real(r8), intent(in) | gravit, | ||
real(r8), intent(in) | rair, | ||
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) | rhmini_in, | ||
real(r8), intent(in) | micro_mg_dcs, | ||
logical, intent(in) | micro_mg_dcs_tdep, | ||
logical, intent(in) | microp_uniform_in, | ||
logical, intent(in) | do_cldice_in, | ||
logical, intent(in) | use_hetfrz_classnuc_in, | ||
character(len=16), intent(in) | micro_mg_precip_frac_method_in, | ||
real(r8), intent(in) | micro_mg_berg_eff_factor_in, | ||
character(128), intent(out) | errstring | ||
) |
subroutine, public micro_mg1_5::micro_mg_tend | ( | integer, intent(in) | mgncol, |
integer, intent(in) | nlev, | ||
real(r8), intent(in) | deltatin, | ||
real(r8), dimension(:,:), intent(in) | t, | ||
real(r8), dimension(:,:), intent(in) | q, | ||
real(r8), dimension(:,:), intent(in) | qcn, | ||
real(r8), dimension(:,:), intent(in) | qin, | ||
real(r8), dimension(:,:), intent(in) | ncn, | ||
real(r8), dimension(:,:), intent(in) | nin, | ||
real(r8), dimension(:,:), intent(in) | relvar, | ||
real(r8), dimension(:,:), intent(in) | accre_enhan, | ||
real(r8), dimension(:,:), intent(in) | p, | ||
real(r8), dimension(:,:), intent(in) | pdel, | ||
real(r8), dimension(:,:), intent(in) | pint, | ||
real(r8), dimension(:,:), intent(in) | cldn, | ||
real(r8), dimension(:,:), intent(in) | liqcldf, | ||
real(r8), dimension(:,:), intent(in) | icecldf, | ||
real(r8), dimension(:,:), intent(out) | qcsinksum_rate1ord, | ||
real(r8), dimension(:,:), intent(in) | naai, | ||
real(r8), dimension(:,:), intent(in) | npccn, | ||
real(r8), dimension(:,:,:), intent(in) | rndst, | ||
real(r8), dimension(:,:,:), intent(in) | nacon, | ||
real(r8), dimension(:,:), intent(out) | tlat, | ||
real(r8), dimension(:,:), intent(out) | qvlat, | ||
real(r8), dimension(:,:), intent(out) | qctend, | ||
real(r8), dimension(:,:), intent(out) | qitend, | ||
real(r8), dimension(:,:), intent(out) | nctend, | ||
real(r8), dimension(:,:), intent(out) | nitend, | ||
real(r8), dimension(:,:), intent(out) | effc, | ||
real(r8), dimension(:,:), intent(out) | effc_fn, | ||
real(r8), dimension(:,:), intent(out) | effi, | ||
real(r8), dimension(:), intent(out) | prect, | ||
real(r8), dimension(:), intent(out) | preci, | ||
real(r8), dimension(:,:), intent(out) | nevapr, | ||
real(r8), dimension(:,:), intent(out) | evapsnow, | ||
real(r8), dimension(:,:), intent(out) | prain, | ||
real(r8), dimension(:,:), intent(out) | prodsnow, | ||
real(r8), dimension(:,:), intent(out) | cmeout, | ||
real(r8), dimension(:,:), intent(out) | deffi, | ||
real(r8), dimension(:,:), intent(out) | pgamrad, | ||
real(r8), dimension(:,:), intent(out) | lamcrad, | ||
real(r8), dimension(:,:), intent(out) | qsout, | ||
real(r8), dimension(:,:), intent(out) | dsout, | ||
real(r8), dimension(:,:), intent(out) | rflx, | ||
real(r8), dimension(:,:), intent(out) | sflx, | ||
real(r8), dimension(:,:), intent(out) | qrout, | ||
real(r8), dimension(:,:), intent(out) | reff_rain, | ||
real(r8), dimension(:,:), intent(out) | reff_snow, | ||
real(r8), dimension(:,:), intent(out) | qcsevap, | ||
real(r8), dimension(:,:), intent(out) | qisevap, | ||
real(r8), dimension(:,:), intent(out) | qvres, | ||
real(r8), dimension(:,:), intent(out) | cmeitot, | ||
real(r8), dimension(:,:), intent(out) | vtrmc, | ||
real(r8), dimension(:,:), intent(out) | vtrmi, | ||
real(r8), dimension(:,:), intent(out) | qcsedten, | ||
real(r8), dimension(:,:), intent(out) | qisedten, | ||
real(r8), dimension(:,:), intent(out) | pratot, | ||
real(r8), dimension(:,:), intent(out) | prctot, | ||
real(r8), dimension(:,:), intent(out) | mnuccctot, | ||
real(r8), dimension(:,:), intent(out) | mnuccttot, | ||
real(r8), dimension(:,:), intent(out) | msacwitot, | ||
real(r8), dimension(:,:), intent(out) | psacwstot, | ||
real(r8), dimension(:,:), intent(out) | bergstot, | ||
real(r8), dimension(:,:), intent(out) | bergtot, | ||
real(r8), dimension(:,:), intent(out) | melttot, | ||
real(r8), dimension(:,:), intent(out) | homotot, | ||
real(r8), dimension(:,:), intent(out) | qcrestot, | ||
real(r8), dimension(:,:), intent(out) | prcitot, | ||
real(r8), dimension(:,:), intent(out) | praitot, | ||
real(r8), dimension(:,:), intent(out) | qirestot, | ||
real(r8), dimension(:,:), intent(out) | mnuccrtot, | ||
real(r8), dimension(:,:), intent(out) | pracstot, | ||
real(r8), dimension(:,:), intent(out) | meltsdttot, | ||
real(r8), dimension(:,:), intent(out) | frzrdttot, | ||
real(r8), dimension(:,:), intent(out) | mnuccdtot, | ||
real(r8), dimension(:,:), intent(out) | nrout, | ||
real(r8), dimension(:,:), intent(out) | nsout, | ||
real(r8), dimension(:,:), intent(out) | refl, | ||
real(r8), dimension(:,:), intent(out) | arefl, | ||
real(r8), dimension(:,:), intent(out) | areflz, | ||
real(r8), dimension(:,:), intent(out) | frefl, | ||
real(r8), dimension(:,:), intent(out) | csrfl, | ||
real(r8), dimension(:,:), intent(out) | acsrfl, | ||
real(r8), dimension(:,:), intent(out) | fcsrfl, | ||
real(r8), dimension(:,:), intent(out) | rercld, | ||
real(r8), dimension(:,:), intent(out) | ncai, | ||
real(r8), dimension(:,:), intent(out) | ncal, | ||
real(r8), dimension(:,:), intent(out) | qrout2, | ||
real(r8), dimension(:,:), intent(out) | qsout2, | ||
real(r8), dimension(:,:), intent(out) | nrout2, | ||
real(r8), dimension(:,:), intent(out) | nsout2, | ||
real(r8), dimension(:,:), intent(out) | drout2, | ||
real(r8), dimension(:,:), intent(out) | dsout2, | ||
real(r8), dimension(:,:), intent(out) | freqs, | ||
real(r8), dimension(:,:), intent(out) | freqr, | ||
real(r8), dimension(:,:), intent(out) | nfice, | ||
real(r8), dimension(:,:), intent(out) | qcrat, | ||
character(128), intent(out) | errstring, | ||
real(r8), dimension(:,:), intent(in), pointer | tnd_qsnow, | ||
real(r8), dimension(:,:), intent(in), pointer | tnd_nsnow, | ||
real(r8), dimension(:,:), intent(in), pointer | re_ice, | ||
real(r8), dimension(:,:), intent(out) | prer_evap, | ||
real(r8), dimension(:,:), intent(in), pointer | frzimm, | ||
real(r8), dimension(:,:), intent(in), pointer | frzcnt, | ||
real(r8), dimension(:,:), intent(in), pointer | frzdep | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
logical, parameter, public micro_mg1_5::nccons = .false. |
|
private |
logical, parameter, public micro_mg1_5::nicons = .false. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |