SCALE-RM
|
module ATMOSPHERE / Physics Cloud Microphysics More...
Functions/Subroutines | |
subroutine, public | atmos_phy_mp_kessler_config (MP_TYPE, QA, QS) |
Setup. More... | |
subroutine, public | atmos_phy_mp_kessler_setup |
Setup. More... | |
subroutine, public | atmos_phy_mp_kessler (DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, CCN, EVAPORATE, SFLX_rain, SFLX_snow) |
Cloud Microphysics. More... | |
subroutine, public | atmos_phy_mp_kessler_cloudfraction (cldfrac, QTRC, mask_criterion) |
Calculate Cloud Fraction. More... | |
subroutine, public | atmos_phy_mp_kessler_effectiveradius (Re, QTRC0, DENS0, TEMP0) |
Calculate Effective Radius. More... | |
subroutine, public | atmos_phy_mp_kessler_mixingratio (Qe, QTRC0) |
Calculate mixing ratio of each category. More... | |
Variables | |
integer, parameter, public | qa_mp = 3 |
character(len=h_short), dimension(qa_mp), target, public | atmos_phy_mp_kessler_name |
character(len=h_mid), dimension(qa_mp), target, public | atmos_phy_mp_kessler_desc |
character(len=h_short), dimension(qa_mp), target, public | atmos_phy_mp_kessler_unit |
real(rp), dimension(n_hyd), target, public | atmos_phy_mp_kessler_dens |
module ATMOSPHERE / Physics Cloud Microphysics
name | type | default value | comment |
---|---|---|---|
MP_DOPRECIPITATION | logical | .true. | apply sedimentation (precipitation)? |
MP_DONEGATIVE_FIXER | logical | .true. | apply negative fixer? |
MP_LIMIT_NEGATIVE | real(RP) | 1.0_RP | Abort if abs(fixed negative vaue) > abs(MP_limit_negative) |
MP_NTMAX_SEDIMENTATION | integer | 1 | number of time step for sedimentation |
MP_COUPLE_AEROSOL | logical | .false. | Consider CCN effect ? |
name | description | unit | variable |
---|---|---|---|
Pcsat | QC production term by satadjust | kg/kg/s | QC_t_sat |
Vterm_QR | terminal velocity of QR | m/s | vterm |
pflux_QR | precipitation flux of QR | kg/m2/s | FLX_hydro |
subroutine, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_config | ( | character(len=*), intent(in) | MP_TYPE, |
integer, intent(out) | QA, | ||
integer, intent(out) | QS | ||
) |
Setup.
Definition at line 117 of file scale_atmos_phy_mp_kessler.F90.
References scale_atmos_hydrometeor::atmos_hydrometeor_regist(), atmos_phy_mp_kessler_desc, atmos_phy_mp_kessler_name, atmos_phy_mp_kessler_unit, scale_stdio::io_fid_log, scale_stdio::io_l, scale_process::prc_mpistop(), and qa_mp.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_setup | ( | ) |
Setup.
Definition at line 157 of file scale_atmos_phy_mp_kessler.F90.
References atmos_phy_mp_kessler_dens, scale_const::const_dwatr, scale_const::const_undef, scale_grid::grid_cdz, scale_atmos_hydrometeor::i_hc, scale_atmos_hydrometeor::i_hr, scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_fid_nml, scale_stdio::io_l, scale_stdio::io_nml, scale_grid_index::ka, scale_process::prc_mpistop(), and scale_time::time_dtsec_atmos_phy_mp.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler | ( | real(rp), dimension (ka,ia,ja), intent(inout) | DENS, |
real(rp), dimension (ka,ia,ja), intent(inout) | MOMZ, | ||
real(rp), dimension (ka,ia,ja), intent(inout) | MOMX, | ||
real(rp), dimension (ka,ia,ja), intent(inout) | MOMY, | ||
real(rp), dimension (ka,ia,ja), intent(inout) | RHOT, | ||
real(rp), dimension (ka,ia,ja,qa), intent(inout) | QTRC, | ||
real(rp), dimension (ka,ia,ja), intent(in) | CCN, | ||
real(rp), dimension(ka,ia,ja), intent(out) | EVAPORATE, | ||
real(rp), dimension(ia,ja), intent(out) | SFLX_rain, | ||
real(rp), dimension(ia,ja), intent(out) | SFLX_snow | ||
) |
Cloud Microphysics.
Definition at line 239 of file scale_atmos_phy_mp_kessler.F90.
References scale_atmos_phy_mp_common::atmos_phy_mp_negative_fixer(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation(), scale_atmos_phy_mp_common::atmos_phy_mp_saturation_adjustment(), scale_atmos_refstate::atmos_refstate_dens, scale_comm::comm_horizontal_mean(), scale_const::const_dwatr, scale_const::const_pi, scale_atmos_hydrometeor::i_qc, scale_atmos_hydrometeor::i_qr, scale_atmos_hydrometeor::i_qv, scale_grid_index::ie, scale_stdio::io_fid_log, scale_stdio::io_l, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_atmos_hydrometeor::lhv, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_tracer::qa, qa_mp, scale_time::time_dtsec_atmos_phy_mp, scale_tracer::tracer_cv, scale_tracer::tracer_mass, and scale_tracer::tracer_r.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_cloudfraction | ( | real(rp), dimension(ka,ia,ja), intent(out) | cldfrac, |
real(rp), dimension (ka,ia,ja,qa), intent(in) | QTRC, | ||
real(rp), intent(in) | mask_criterion | ||
) |
Calculate Cloud Fraction.
Definition at line 639 of file scale_atmos_phy_mp_kessler.F90.
References scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, and scale_tracer::qa.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_effectiveradius | ( | real(rp), dimension (ka,ia,ja,n_hyd), intent(out) | Re, |
real(rp), dimension(ka,ia,ja,qa), intent(in) | QTRC0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | DENS0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | TEMP0 | ||
) |
Calculate Effective Radius.
Definition at line 674 of file scale_atmos_phy_mp_kessler.F90.
References scale_atmos_hydrometeor::n_hyd, and scale_tracer::qa.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_mixingratio | ( | real(rp), dimension (ka,ia,ja,n_hyd), intent(out) | Qe, |
real(rp), dimension(ka,ia,ja,qa), intent(in) | QTRC0 | ||
) |
Calculate mixing ratio of each category.
Definition at line 708 of file scale_atmos_phy_mp_kessler.F90.
References scale_atmos_hydrometeor::n_hyd, and scale_tracer::qa.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
integer, parameter, public scale_atmos_phy_mp_kessler::qa_mp = 3 |
Definition at line 55 of file scale_atmos_phy_mp_kessler.F90.
Referenced by atmos_phy_mp_kessler(), and atmos_phy_mp_kessler_config().
character(len=h_short), dimension(qa_mp), target, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_name |
Definition at line 57 of file scale_atmos_phy_mp_kessler.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_kessler_config().
character(len=h_mid), dimension(qa_mp), target, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_desc |
Definition at line 58 of file scale_atmos_phy_mp_kessler.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_kessler_config().
character(len=h_short), dimension(qa_mp), target, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_unit |
Definition at line 59 of file scale_atmos_phy_mp_kessler.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_kessler_config().
real(rp), dimension(n_hyd), target, public scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_dens |
Definition at line 61 of file scale_atmos_phy_mp_kessler.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_kessler_setup().