subroutine, public micro_mg3_0::micro_mg_tend | ( | integer, intent(in) | mgncol, |
integer, intent(in) | nlev, | ||
real(r8), intent(in) | deltatin, | ||
real(r8), dimension(mgncol,nlev), intent(in) | t, | ||
real(r8), dimension(mgncol,nlev), intent(in) | q, | ||
real(r8), dimension(mgncol,nlev), intent(in) | qcn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | qin, | ||
real(r8), dimension(mgncol,nlev), intent(in) | ncn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | nin, | ||
real(r8), dimension(mgncol,nlev), intent(in) | qrn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | qsn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | nrn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | nsn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | qgr, | ||
real(r8), dimension(mgncol,nlev), intent(in) | ngr, | ||
real(r8), dimension(mgncol,nlev) | relvar, | ||
real(r8), intent(in) | accre_enhan_i, | ||
real(r8), dimension(mgncol,nlev), intent(in) | p, | ||
real(r8), dimension(mgncol,nlev), intent(in) | pdel, | ||
real(r8), dimension(mgncol,nlev), intent(in) | cldn, | ||
real(r8), dimension(mgncol,nlev), intent(in) | liqcldf, | ||
real(r8), dimension(mgncol,nlev), intent(in) | icecldf, | ||
real(r8), dimension(mgncol,nlev), intent(in) | qsatfac, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qcsinksum_rate1ord, | ||
real(r8), dimension(mgncol,nlev), intent(inout) | naai, | ||
real(r8), dimension(mgncol,nlev), intent(in) | npccnin, | ||
real(r8), dimension(mgncol,nlev,10), intent(in) | rndst, | ||
real(r8), dimension(mgncol,nlev,10), intent(in) | nacon, | ||
real(r8), dimension(mgncol,nlev), intent(out) | tlat, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qvlat, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qctend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qitend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nctend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nitend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qrtend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qstend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nrtend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nstend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qgtend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ngtend, | ||
real(r8), dimension(mgncol,nlev), intent(out) | effc, | ||
real(r8), dimension(mgncol,nlev), intent(out) | effc_fn, | ||
real(r8), dimension(mgncol,nlev), intent(out) | effi, | ||
real(r8), dimension(mgncol,nlev), intent(out) | sadice, | ||
real(r8), dimension(mgncol,nlev), intent(out) | sadsnow, | ||
real(r8), dimension(mgncol), intent(out) | prect, | ||
real(r8), dimension(mgncol), intent(out) | preci, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nevapr, | ||
real(r8), dimension(mgncol,nlev), intent(out) | evapsnow, | ||
real(r8), dimension(mgncol,nlev), intent(out) | am_evp_st, | ||
real(r8), dimension(mgncol,nlev), intent(out) | prain, | ||
real(r8), dimension(mgncol,nlev), intent(out) | prodsnow, | ||
real(r8), dimension(mgncol,nlev), intent(out) | cmeout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | deffi, | ||
real(r8), dimension(mgncol,nlev), intent(out) | pgamrad, | ||
real(r8), dimension(mgncol,nlev), intent(out) | lamcrad, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qsout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | dsout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qgout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ngout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | dgout, | ||
real(r8), dimension(mgncol,2:nlev+1), intent(out) | lflx, | ||
real(r8), dimension(mgncol,2:nlev+1), intent(out) | iflx, | ||
real(r8), dimension(mgncol,2:nlev+1), intent(out) | gflx, | ||
real(r8), dimension(mgncol,2:nlev+1), intent(out) | rflx, | ||
real(r8), dimension(mgncol,2:nlev+1), intent(out) | sflx, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qrout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | reff_rain, | ||
real(r8), dimension(mgncol,nlev), intent(out) | reff_snow, | ||
real(r8), dimension(mgncol,nlev), intent(out) | reff_grau, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qcsevap, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qisevap, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qvres, | ||
real(r8), dimension(mgncol,nlev), intent(out) | cmeitot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | vtrmc, | ||
real(r8), dimension(mgncol,nlev), intent(out) | vtrmi, | ||
real(r8), dimension(mgncol,nlev), intent(out) | umr, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ums, | ||
real(r8), dimension(mgncol,nlev), intent(out) | umg, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qgsedten, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qcsedten, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qisedten, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qrsedten, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qssedten, | ||
real(r8), dimension(mgncol,nlev), intent(out) | pratot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | prctot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | mnuccctot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | mnuccttot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | msacwitot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | psacwstot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | bergstot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | bergtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | melttot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | homotot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qcrestot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | prcitot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | praitot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qirestot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | mnuccrtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | mnuccritot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | pracstot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | meltsdttot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | frzrdttot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | mnuccdtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | pracgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | psacwgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | pgsacwtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | pgracstot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | prdgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qmultgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qmultrgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | psacrtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | npracgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nscngtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ngracstot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nmultgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nmultrgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | npsacwgtot, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nrout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nsout, | ||
real(r8), dimension(mgncol,nlev), intent(out) | refl, | ||
real(r8), dimension(mgncol,nlev), intent(out) | arefl, | ||
real(r8), dimension(mgncol,nlev), intent(out) | areflz, | ||
real(r8), dimension(mgncol,nlev), intent(out) | frefl, | ||
real(r8), dimension(mgncol,nlev), intent(out) | csrfl, | ||
real(r8), dimension(mgncol,nlev), intent(out) | acsrfl, | ||
real(r8), dimension(mgncol,nlev), intent(out) | fcsrfl, | ||
real(r8), dimension(mgncol,nlev), intent(out) | rercld, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ncai, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ncal, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qrout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qsout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nrout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nsout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | drout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | dsout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qgout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | ngout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | dgout2, | ||
real(r8), dimension(mgncol,nlev), intent(out) | freqg, | ||
real(r8), dimension(mgncol,nlev), intent(out) | freqs, | ||
real(r8), dimension(mgncol,nlev), intent(out) | freqr, | ||
real(r8), dimension(mgncol,nlev), intent(out) | nfice, | ||
real(r8), dimension(mgncol,nlev), intent(out) | qcrat, | ||
real(r8), dimension(mgncol,nlev), intent(out) | prer_evap, | ||
real(r8), intent(in) | xlat, | ||
real(r8), intent(in) | xlon, | ||
logical, intent(in) | lprnt, | ||
logical, intent(in) | iccn, | ||
logical, intent(in) | aero_in, | ||
integer, dimension(mgncol), intent(in) | nlball | ||
) |
[in] | mgncol | number of microphysics columns |
[in] | nlev | number of layers |
[in] | nlball | sedimentation start level |
[in] | xlon | number of layers |
[in] | deltatin | time step (s) |
[in] | t | input temperature (K) |
[in] | q | input h20 vapor mixing ratio (kg/kg) |
[in] | qcn | cloud water mixing ratio (kg/kg) |
[in] | qin | cloud ice mixing ratio (kg/kg) |
[in] | ncn | cloud water number conc (1/kg) |
[in] | nin | cloud ice number conc (1/kg) |
[in] | qrn | rain mixing ratio (kg/kg) |
[in] | qsn | snow mixing ratio (kg/kg) |
[in] | nrn | rain number conc (1/kg) |
[in] | nsn | snow number conc (1/kg) |
[in] | qgr | graupel/hail mixing ratio (kg/kg) |
[in] | ngr | graupel/hail number conc (1/kg) |
relvar | cloud water relative variance (-) | |
[in] | accre_enhan_i | optional accretion enhancement factor (-) |
[in] | p | air pressure (pa) |
[in] | pdel | pressure difference across level (pa) |
[in] | cldn | cloud fraction (no units) |
[in] | liqcldf | liquid cloud fraction (no units) |
[in] | icecldf | ice cloud fraction (no units) |
[in] | qsatfac | subgrid cloud water saturation scaling factor (no units) |
[in] | lprnt | control flag for diagnostic print out |
[in] | iccn | flag for IN and CCN forcing for Morrison-Gettelman microphysics |
[in] | aero_in | flag for using aerosols in Morrison-Gettelman microphysics |
[in,out] | naai | ice nucleation number (from microp_aero_ts) (1/kg) |
[in] | npccnin | ccn activated number tendency (from microp_aero_ts) (1/kg*s) |
[in] | rndst | radius of each dust bin, for contact freezing (from microp_aero_ts) (m) |
[in] | nacon | number in each dust bin, for contact freezing (from microp_aero_ts) (1/m^3) |
[out] | qcsinksum_rate1ord | 1st order rate for direct cw to precip conversion |
[out] | tlat | latent heating rate (W/kg) |
[out] | qvlat | microphysical tendency qv (1/s) |
[out] | qctend | microphysical tendency qc (1/s) |
[out] | qitend | microphysical tendency qi (1/s) |
[out] | nctend | microphysical tendency nc (1/(kg*s)) |
[out] | nitend | microphysical tendency ni (1/(kg*s)) |
[out] | qrtend | microphysical tendency qr (1/s) |
[out] | qstend | microphysical tendency qs (1/s) |
[out] | nrtend | microphysical tendency nr (1/(kg*s)) |
[out] | nstend | microphysical tendency ns (1/(kg*s)) |
[out] | qgtend | microphysical tendency qg (1/s) |
[out] | ngtend | microphysical tendency ng (1/(kg*s)) |
[out] | effc | droplet effective radius (micron) |
[out] | effc_fn | droplet effective radius, assuming nc = 1.e8 kg-1 |
[out] | effi | cloud ice effective radius (micron) |
[out] | sadice | cloud ice surface area density (cm2/cm3) |
[out] | sadsnow | cloud snow surface area density (cm2/cm3) |
[out] | prect | surface precip rate (m/s) |
[out] | preci | cloud ice/snow precip rate (m/s) |
[out] | nevapr | evaporation rate of rain + snow (1/s) |
[out] | evapsnow | sublimation rate of snow (1/s) |
[out] | am_evp_st | stratiform evaporation area (frac) |
[out] | prain | production of rain + snow (1/s) |
[out] | prodsnow | production of snow (1/s) |
[out] | cmeout | evap/sub of cloud (1/s) |
[out] | deffi | ice effective diameter for optics (radiation) (micron) |
[out] | pgamrad | ice gamma parameter for optics (radiation) (no units) |
[out] | lamcrad | slope of droplet distribution for optics (radiation) (1/m) |
[out] | qsout | snow mixing ratio (kg/kg) |
[out] | dsout | snow diameter (m) |
[out] | lflx | grid-box average liquid condensate flux (kg m^-2 s^-1) |
[out] | iflx | grid-box average ice condensate flux (kg m^-2 s^-1) |
[out] | rflx | grid-box average rain flux (kg m^-2 s^-1) |
[out] | sflx | grid-box average snow flux (kg m^-2 s^-1) |
[out] | gflx | grid-box average graupel/hail flux (kg m^-2 s^-1) |
[out] | qrout | grid-box average rain mixing ratio (kg/kg) |
[out] | reff_rain | rain effective radius (micron) |
[out] | reff_snow | snow effective radius (micron) |
[out] | reff_grau | graupel effective radius (micron) |
[out] | qcsevap | cloud water evaporation due to sedimentation (1/s) |
[out] | qisevap | cloud ice sublimation due to sedimentation (1/s) |
[out] | qvres | residual condensation term to ensure RH < 100% (1/s) |
[out] | cmeitot | grid-mean cloud ice sub/dep (1/s) |
[out] | vtrmc | mass-weighted cloud water fallspeed (m/s) |
[out] | vtrmi | mass-weighted cloud ice fallspeed (m/s) |
[out] | umr | mass weighted rain fallspeed (m/s) |
[out] | ums | mass weighted snow fallspeed (m/s) |
[out] | umg | mass weighted graupel/hail fallspeed (m/s) |
[out] | qgsedten | qg sedimentation tendency (1/s) |
[out] | qcsedten | qc sedimentation tendency (1/s) |
[out] | qisedten | qi sedimentation tendency (1/s) |
[out] | qrsedten | qr sedimentation tendency (1/s) |
[out] | qssedten | qs sedimentation tendency (1/s) |
[out] | pratot | accretion of cloud by rain |
[out] | prctot | autoconversion of cloud to rain |
[out] | mnuccctot | mixing ratio tend due to immersion freezing |
[out] | mnuccttot | mixing ratio tend due to contact freezing |
[out] | msacwitot | mixing ratio tend due to H-M splintering |
[out] | psacwstot | collection of cloud water by snow |
[out] | bergstot | bergeron process on snow |
[out] | bergtot | bergeron process on cloud ice |
[out] | melttot | melting of cloud ice |
[out] | homotot | homogeneous freezing cloud water |
[out] | qcrestot | residual cloud condensation due to removal of excess supersat |
[out] | prcitot | autoconversion of cloud ice to snow |
[out] | praitot | accretion of cloud ice by snow |
[out] | qirestot | residual ice deposition due to removal of excess supersat |
[out] | mnuccrtot | mixing ratio tendency due to heterogeneous freezing of rain to snow (1/s) |
[out] | mnuccritot | mixing ratio tendency due to heterogeneous freezing of rain to ice (1/s) |
[out] | pracstot | mixing ratio tendency due to accretion of rain by snow (1/s) |
[out] | meltsdttot | latent heating rate due to melting of snow (W/kg) |
[out] | frzrdttot | latent heating rate due to homogeneous freezing of rain (W/kg) |
[out] | mnuccdtot | mass tendency from ice nucleation |
[out] | pracgtot | change in q collection rain by graupel (precipf) |
[out] | psacwgtot | change in q collection droplets by graupel (lcldm) |
[out] | pgsacwtot | conversion q to graupel due to collection droplets by snow (lcldm) |
[out] | pgracstot | conversion q to graupel due to collection rain by snow (precipf) |
[out] | prdgtot | dep of graupel (precipf) |
[out] | qmultgtot | change q due to ice mult droplets/graupel (lcldm) |
[out] | qmultrgtot | change q due to ice mult rain/graupel (precipf) |
[out] | psacrtot | conversion due to coll of snow by rain (precipf) |
[out] | npracgtot | change n collection rain by graupel (precipf) |
[out] | nscngtot | change n conversion to graupel due to collection droplets by snow (lcldm) |
[out] | ngracstot | change n conversion to graupel due to collection rain by snow (precipf) |
[out] | nmultgtot | ice mult due to acc droplets by graupel (lcldm) |
[out] | nmultrgtot | ice mult due to acc rain by graupel (precipf) |
[out] | npsacwgtot | change n collection droplets by graupel (lcldm?) |
[out] | nrout | rain number concentration (1/m3) |
[out] | nsout | snow number concentration (1/m3) |
[out] | refl | analytic radar reflectivity |
[out] | arefl | average reflectivity will zero points outside valid range |
[out] | areflz | average reflectivity in z. |
[out] | frefl | fractional occurrence of radar reflectivity |
[out] | csrfl | cloudsat reflectivity |
[out] | acsrfl | cloudsat average |
[out] | fcsrfl | cloudsat fractional occurrence of radar reflectivity |
[out] | rercld | effective radius calculation for rain + cloud |
[out] | ncai | output number conc of ice nuclei available (1/m3) |
[out] | ncal | output number conc of CCN (1/m3) |
[out] | qrout2 | copy of qrout as used to compute drout2 |
[out] | qsout2 | copy of qsout as used to compute dsout2 |
[out] | nrout2 | copy of nrout as used to compute drout2 |
[out] | nsout2 | copy of nsout as used to compute dsout2 |
[out] | drout2 | mean rain particle diameter (m) |
[out] | dsout2 | mean snow particle diameter (m) |
[out] | freqs | fractional occurrence of snow |
[out] | freqr | fractional occurrence of rain |
[out] | nfice | fractional occurrence of ice |
[out] | qcrat | limiter for qc process rates (1=no limit –> 0. no qc) |
[out] | qgout | graupel/hail mixing ratio (kg/kg) |
[out] | dgout | graupel/hail diameter (m) |
[out] | ngout | graupel/hail number concentration (1/m3) |
[out] | qgout2 | copy of qgout as used to compute dgout2 |
[out] | ngout2 | copy of ngout as used to compute dgout2 |
[out] | dgout2 | mean graupel/hail particle diameter (m) |
[out] | freqg | fractional occurrence of graupel |
npccn
)References micro_mg_utils::accrete_cloud_ice_snow(), micro_mg_utils::accrete_cloud_water_rain(), micro_mg_utils::accrete_cloud_water_snow(), micro_mg_utils::accrete_rain_snow(), agtmp, allow_sed_supersat, micro_mg_utils::avg_diameter(), micro_mg_utils::bergeron_process_snow(), bgtmp, calc_rercld(), micro_mg_utils::contact_freezing(), cpp, csmax, csmin, dcs, do_cldice, do_ice_gmao, do_liq_liu, do_sb_physics, micro_mg_utils::evaporate_sublimate_precip(), four, funcphys::fpvsi(), funcphys::fpvsl(), g, gamma_bg_plus1, gamma_bg_plus4, gamma_bi_plus1, gamma_bi_plus4, gamma_bj_plus1, gamma_bj_plus4, gamma_br_plus1, gamma_br_plus4, gamma_bs_plus1, gamma_bs_plus4, half, micro_mg_utils::heterogeneous_rain_freezing(), micro_mg_utils::ice_autoconversion(), micro_mg_utils::ice_deposition_sublimation(), icenuct, micro_mg_utils::immersion_freezing(), micro_mg_utils::kk2000_liq_autoconversion(), micro_mg_utils::mg_ice_props, micro_mg_utils::mg_liq_props, micro_mg_utils::mg_rain_props, micro_mg_berg_eff_factor, micro_mg_precip_frac_method, microp_uniform, mindbz, minrefl, nccons, ncnst, ngcons, ngnst, nicons, ninst, omeps, one, oneo6, r, rainfrze, rhogtmp, rhosu, rv, micro_mg_utils::sb2001v2_accre_cld_water_rain(), micro_mg_utils::sb2001v2_liq_autoconversion(), micro_mg_utils::secondary_ice_production(), micro_mg_utils::self_collection_rain(), micro_mg_utils::snow_self_aggregation(), snowmelt, sublim_factor, ten, three, tmelt, ts_au, ts_au_min, two, use_hetfrz_classnuc, xlf, xxls, xxls_squared, xxlv, xxlv_squared, and zero.
Referenced by m_micro::m_micro_run().