SCALE-RM
|
module atmosphere / physics / cloud microphysics More...
Functions/Subroutines | |
subroutine, public | atmos_phy_mp_driver_tracer_setup |
Config. More... | |
subroutine, public | atmos_phy_mp_driver_setup |
Setup. More... | |
subroutine, public | atmos_phy_mp_driver_adjustment |
adjustment More... | |
subroutine, public | atmos_phy_mp_driver_calc_tendency (update_flag) |
calculate tendency More... | |
subroutine, public | atmos_phy_mp_driver_qhyd2qtrc (KA, KS, KE, IA, IS, IE, JA, JS, JE, QV, QHYD, QTRC, QNUM) |
subroutine, public | atmos_phy_mp_driver_qhyd2qtrc_onlyqv (KA, KS, KE, IA, IS, IE, JA, JS, JE, QV, QHYD, QTRC, QNUM) |
Variables | |
procedure(qhyd2qtrc), pointer, public | atmos_phy_mp_user_qhyd2qtrc => NULL() |
module atmosphere / physics / cloud microphysics
name | type | default value | comment |
---|---|---|---|
MP_DO_PRECIPITATION | logical | .true. | > apply sedimentation (precipitation)? |
MP_DO_NEGATIVE_FIXER | logical | .true. | > apply negative fixer? |
MP_LIMIT_NEGATIVE | real(RP) | 0.1_RP | > Abort if abs(fixed negative vaue) > abs(MP_limit_negative) |
MP_NTMAX_SEDIMENTATION | integer | 1 | > number of time step for sedimentation |
MP_MAX_TERM_VEL | real(RP) | 10.0_RP | > terminal velocity for calculate dt of sedimentation |
MP_CLDFRAC_THLESHOLD | real(RP) | > thleshold for cloud fraction |
name | description | unit | variable |
---|---|---|---|
"DENS_t_MP_NF" | "vapor supply by the negative fixer" | "kg/m3/s" | "DENS_t_MP_NF" |
"ENGI_t_MP_NF" | "internal energy supply by the negative fixer" | "J/m3/s" | "ENGI_t_MP_NF" |
"RHOH_MP_NF" | "sensible heat by the negative fixer" | "J/m3/s" | "RHOH_MP_NF" |
Vterm_{TRACER_NAME} | terminal velocity of {TRACER_NAME}; {TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR. | m/s | {'Vterm_'//trim} |
DENS_t_MP | tendency DENS in MP | kg/m3/s | DENS_t_MP |
EVAPORATE | evaporated cloud number | num/m3/s | EVAPORATE |
MOMZ_t_MP | tendency MOMZ in MP | kg/m2/s2 | MOMZ_t_MP |
PREC_MP | surface precipitation rate by MP | kg/m2/s | precip |
QSPLT_G | Charge split of QG by Non-inductive process | fC/m3/s | QSPLT_in |
QSPLT_I | Charge split of QI by Non-inductive process | fC/m3/s | QSPLT_in |
QSPLT_S | Charge split of QS by Non-inductive process | fC/m3/s | QSPLT_in |
RAIN_MP | surface rain rate by MP | kg/m2/s | SFLX_rain |
RHOH_MP | diabatic heating rate in MP | J/m3/s | RHOH_MP |
RHOU_t_MP | tendency RHOU in MP | kg/m2/s2 | RHOU_t_MP |
RHOV_t_MP | tendency RHOV in MP | kg/m2/s2 | RHOV_t_MP |
SNOW_MP | surface snow rate by MP | kg/m2/s | SFLX_snow |
{TRACER_NAME}_t_MP | tendency rho*{TRACER_NAME} in MP; {TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR. | fC/m3/s | RHOC_t_MP |
QCRG_H | Ratio of charge density of Hail | fC/kg | QCRG_H |
QH | Ratio of Hail Water mass to total mass | kg/kg | QH |
subroutine, public mod_atmos_phy_mp_driver::atmos_phy_mp_driver_tracer_setup |
Config.
Definition at line 93 of file mod_atmos_phy_mp_driver.F90.
References scale_atmos_hydrometeor::atmos_hydrometeor_regist(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_nices, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_ntracers, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_nwaters, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_tracer_descriptions, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_tracer_names, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_tracer_units, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_nices, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_ntracers, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_nwaters, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_tracer_descriptions, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_tracer_names, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_tracer_units, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_nccn, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_nices, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_ntracers, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_nwaters, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_tracer_descriptions, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_tracer_names, scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_tracer_setup(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_tracer_units, scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_nices, scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_ntracers, scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_nwaters, scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_tracer_descriptions, scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_tracer_names, scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_tracer_units, mod_atmos_admin::atmos_phy_mp_type, mod_atmos_admin::atmos_sw_phy_lt, mod_atmos_admin::atmos_sw_phy_mp, scale_prc::prc_abort(), mod_atmos_phy_mp_vars::qa_mp, mod_atmos_phy_mp_vars::qe_mp, mod_atmos_phy_mp_vars::qs_mp, and scale_tracer::tracer_regist().
Referenced by mod_atmos_driver::atmos_driver_tracer_setup().
subroutine, public mod_atmos_phy_mp_driver::atmos_phy_mp_driver_setup |
Setup.
Definition at line 226 of file mod_atmos_phy_mp_driver.F90.
References scale_atmos_grid_cartesc::atmos_grid_cartesc_cdz, mod_atmos_phy_mp_vars::atmos_phy_mp_cldfrac_thleshold, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_setup(), mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_engi, mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_rain, mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_snow, scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_setup(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_setup(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_setup(), mod_atmos_admin::atmos_phy_mp_type, mod_atmos_admin::atmos_sw_phy_mp, scale_const::const_eps, scale_file_history::file_history_reg(), mod_atmos_phy_lt_vars::flg_lt, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_io::io_fid_conf, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, scale_monitor::monitor_reg(), scale_atmos_hydrometeor::n_hyd, scale_prc::prc_abort(), mod_atmos_phy_mp_vars::qe_mp, mod_atmos_phy_mp_vars::qs_mp, scale_precision::rp, scale_time::time_dtsec_atmos_phy_mp, and scale_tracer::tracer_name.
Referenced by mod_atmos_driver::atmos_driver_setup().
subroutine, public mod_atmos_phy_mp_driver::atmos_phy_mp_driver_adjustment |
adjustment
Definition at line 441 of file mod_atmos_phy_mp_driver.F90.
References scale_atmos_hydrometeor::atmos_hydrometeor_dry, scale_atmos_phy_mp_common::atmos_phy_mp_negative_fixer(), scale_const::const_pre00, mod_atmos_vars::cptot, mod_atmos_vars::cvtot, mod_atmos_vars::dens, scale_atmos_hydrometeor::i_qv, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, mod_atmos_phy_mp_vars::qa_mp, scale_atmos_hydrometeor::qhe, scale_atmos_hydrometeor::qhs, scale_atmos_hydrometeor::qia, scale_atmos_hydrometeor::qla, mod_atmos_vars::qtrc, mod_atmos_vars::rhot, mod_atmos_vars::temp, and scale_time::time_dtsec.
Referenced by mod_atmos_driver::atmos_driver_update().
subroutine, public mod_atmos_phy_mp_driver::atmos_phy_mp_driver_calc_tendency | ( | logical, intent(in) | update_flag | ) |
calculate tendency
Definition at line 576 of file mod_atmos_phy_mp_driver.F90.
References scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvol, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolwxy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzxv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_vol, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volwxy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzxv, mod_atmos_phy_ae_vars::atmos_phy_ae_ccn_t, mod_atmos_phy_lt_vars::atmos_phy_lt_sarea, scale_atmos_phy_lt_sato2019::atmos_phy_lt_sato2019_select_dqcrg_from_lut(), mod_atmos_phy_mp_vars::atmos_phy_mp_dens_t, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_adjustment(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_terminal_velocity(), mod_atmos_phy_mp_vars::atmos_phy_mp_momz_t, scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_momentum(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_semilag(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_upwind(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_tendency(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_terminal_velocity(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_crg_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_tendency(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_terminal_velocity(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_adjustment(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_terminal_velocity(), mod_atmos_admin::atmos_phy_mp_type, mod_atmos_admin::atmos_phy_precip_type, scale_atmos_refstate::atmos_refstate_dens, mod_atmos_admin::atmos_sw_phy_lt, scale_const::const_pre00, mod_atmos_phy_lt_vars::d0_crg, mod_atmos_vars::dens, mod_atmos_vars::dens_av, mod_atmos_vars::dens_tp, mod_atmos_phy_lt_vars::flg_lt, scale_atmos_hydrometeor::i_qv, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::kijmax, scale_atmos_grid_cartesc_index::ks, scale_atmos_hydrometeor::lhf, mod_atmos_vars::momz, mod_atmos_vars::momz_av, mod_atmos_vars::momz_tp, scale_atmos_hydrometeor::n_hyd, mod_atmos_vars::pott, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), mod_atmos_phy_lt_vars::qa_lt, mod_atmos_phy_mp_vars::qa_mp, mod_atmos_phy_lt_vars::qe_lt, mod_atmos_phy_mp_vars::qe_mp, scale_atmos_hydrometeor::qha, scale_atmos_hydrometeor::qhe, scale_atmos_hydrometeor::qhs, scale_atmos_hydrometeor::qia, scale_atmos_hydrometeor::qla, scale_atmos_hydrometeor::qle, scale_atmos_hydrometeor::qls, mod_atmos_phy_lt_vars::qs_lt, mod_atmos_phy_mp_vars::qs_mp, mod_atmos_vars::qtrc, mod_atmos_vars::qtrc_av, mod_atmos_vars::rhou_tp, mod_atmos_vars::rhov_tp, scale_statistics::statistics_checktotal, scale_time::time_dtsec_atmos_phy_lt, scale_time::time_dtsec_atmos_phy_mp, scale_tracer::tracer_name, mod_atmos_vars::u, mod_atmos_vars::v, mod_atmos_phy_lt_vars::v0_crg, and mod_atmos_vars::w.
Referenced by mod_atmos_driver::atmos_driver_calc_tendency().
subroutine, public mod_atmos_phy_mp_driver::atmos_phy_mp_driver_qhyd2qtrc | ( | integer, intent(in) | KA, |
integer, intent(in) | KS, | ||
integer, intent(in) | KE, | ||
integer, intent(in) | IA, | ||
integer, intent(in) | IS, | ||
integer, intent(in) | IE, | ||
integer, intent(in) | JA, | ||
integer, intent(in) | JS, | ||
integer, intent(in) | JE, | ||
real(rp), dimension (ka,ia,ja), intent(in) | QV, | ||
real(rp), dimension(ka,ia,ja,n_hyd), intent(in) | QHYD, | ||
real(rp), dimension(ka,ia,ja,qa_mp), intent(out) | QTRC, | ||
real(rp), dimension(ka,ia,ja,n_hyd), intent(in), optional | QNUM | ||
) |
Definition at line 1361 of file mod_atmos_phy_mp_driver.F90.
References scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_qhyd2qtrc(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qhyd2qtrc(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qhyd2qtrc(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_qhyd2qtrc(), mod_atmos_admin::atmos_phy_mp_type, atmos_phy_mp_user_qhyd2qtrc, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, scale_atmos_hydrometeor::n_hyd, scale_prc::prc_abort(), and mod_atmos_phy_mp_vars::qa_mp.
Referenced by mod_atmos_bnd_driver::atmos_boundary_driver_send(), mod_atmos_phy_cp_driver::atmos_phy_cp_driver_calc_tendency(), mod_mkinit::mkinit(), mod_realinput_scale::parentatmosinputscale(), and mod_realinput::realinput_surface().
subroutine, public mod_atmos_phy_mp_driver::atmos_phy_mp_driver_qhyd2qtrc_onlyqv | ( | integer, intent(in) | KA, |
integer, intent(in) | KS, | ||
integer, intent(in) | KE, | ||
integer, intent(in) | IA, | ||
integer, intent(in) | IS, | ||
integer, intent(in) | IE, | ||
integer, intent(in) | JA, | ||
integer, intent(in) | JS, | ||
integer, intent(in) | JE, | ||
real(rp), dimension (ka,ia,ja), intent(in) | QV, | ||
real(rp), dimension(ka,ia,ja,n_hyd), intent(in) | QHYD, | ||
real(rp), dimension(ka,ia,ja,qa_mp), intent(out) | QTRC, | ||
real(rp), dimension(ka,ia,ja,n_hyd), intent(in), optional | QNUM | ||
) |
Definition at line 1461 of file mod_atmos_phy_mp_driver.F90.
References scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, scale_atmos_hydrometeor::n_hyd, and mod_atmos_phy_mp_vars::qa_mp.
Referenced by mod_atmos_driver::atmos_driver_tracer_setup().
procedure(qhyd2qtrc), pointer, public mod_atmos_phy_mp_driver::atmos_phy_mp_user_qhyd2qtrc => NULL() |
Definition at line 54 of file mod_atmos_phy_mp_driver.F90.
Referenced by mod_atmos_driver::atmos_driver_tracer_setup(), and atmos_phy_mp_driver_qhyd2qtrc().