SCALE-RM
|
module Spectran Bin Microphysics More...
Functions/Subroutines | |
subroutine, public | atmos_phy_mp_suzuki10_config (MP_TYPE, QA, QS) |
Config. More... | |
subroutine, public | atmos_phy_mp_suzuki10_setup |
Setup. More... | |
subroutine, public | atmos_phy_mp_suzuki10 (DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, CCN, EVAPORATE, SFLX_rain, SFLX_snow) |
Cloud Microphysics. More... | |
subroutine | mp_suzuki10 (ijkmax, ijkmax_cold, ijkmax_warm, index_cold, index_warm, dens, pres, ccn, temp, qvap, ghyd, gaer, evaporate, dt) |
subroutine | r_collcoag (ijkmax, swgt, temp, gc, dtime) |
subroutine, public | atmos_phy_mp_suzuki10_cloudfraction (cldfrac, QTRC, mask_criterion) |
Calculate Cloud Fraction. More... | |
subroutine, public | atmos_phy_mp_suzuki10_effectiveradius (Re, QTRC0, DENS0, TEMP0) |
Calculate Effective Radius. More... | |
subroutine, public | atmos_phy_mp_suzuki10_mixingratio (Qe, QTRC0) |
Calculate mixing ratio of each category. More... | |
subroutine | mkpara |
Variables | |
character(len=h_short), dimension(:), allocatable, target, public | atmos_phy_mp_suzuki10_name |
character(len=h_mid), dimension(:), allocatable, target, public | atmos_phy_mp_suzuki10_desc |
character(len=h_short), dimension(:), allocatable, target, public | atmos_phy_mp_suzuki10_unit |
real(rp), dimension(n_hyd), target, public | atmos_phy_mp_suzuki10_dens |
integer, public | nbin = 33 |
integer, public | nspc = 7 |
integer, public | nccn = 0 |
integer, public | nccn1 = 0 |
integer, public | kphase = 0 |
integer, public | iceflg = 1 |
module Spectran Bin Microphysics
name | type | default value | comment |
---|---|---|---|
NBIN | integer | 33 | |
NCCN | integer | 0 | |
ICEFLG | integer | 1 | |
KPHASE | integer | 0 |
name | type | default value | comment |
---|---|---|---|
MP_DOPRECIPITATION | logical | .true. | apply sedimentation of hydrometeor ? |
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 | maxinum fractional step |
MP_DOAUTOCONVERSION | logical | .true. | apply collision process ? |
MP_COUPLE_AEROSOL | logical | .false. | apply CCN effect? |
name | type | default value | comment |
---|---|---|---|
RHO_AERO | real(RP) | — density of aerosol | |
R_MIN | real(RP) | — minimum radius of aerosol (um) | |
R_MAX | real(RP) | — maximum radius of aerosol (um) | |
R0_AERO | real(RP) | — center radius of aerosol (um) | |
S10_EMAER | real(RP) | — moleculer weight of aerosol | |
S10_FLAG_REGENE | logical | — flag of regeneration | |
S10_FLAG_NUCLEAT | logical | — flag of regeneration | |
S10_FLAG_ICENUCLEAT | logical | — flag of regeneration | |
S10_FLAG_SFAERO | logical | — flag of surface flux of aeorol | |
S10_RNDM_FLGP | integer | — flag of surface flux of aeorol | |
S10_RNDM_MSPC | integer | ||
S10_RNDM_MBIN | integer | ||
C_CCN | real(RP) | 100.E+6_RP | N0 of Nc = N0*s^kappa |
KAPPA | real(RP) | 0.462_RP | kappa of Nc = N0*s^kappa |
SIGMA | real(RP) | 7.5E-02_RP | water surface tension N/m2 |
VHFCT | real(RP) | 2.0_RP | van't hoff factor (i in eq.(A.11) of Suzuki (2004)) |
name | description | unit | variable |
---|---|---|---|
QC | Mixing ratio of QC | kg/kg | QHYD_out |
QG | Mixing ratio of QG | kg/kg | QHYD_out |
QH | Mixing ratio of QH | kg/kg | QHYD_out |
QI | Mixing ratio of QI | kg/kg | QHYD_out |
QR | Mixing ratio of QR | kg/kg | QHYD_out |
QS | Mixing ratio of QS | kg/kg | QHYD_out |
subroutine, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_config | ( | character(len=*), intent(in) | MP_TYPE, |
integer, intent(out) | QA, | ||
integer, intent(out) | QS | ||
) |
Config.
Definition at line 281 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_atmos_hydrometeor::atmos_hydrometeor_regist(), atmos_phy_mp_suzuki10_desc, atmos_phy_mp_suzuki10_name, atmos_phy_mp_suzuki10_unit, iceflg, scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_fid_nml, scale_stdio::io_l, scale_stdio::io_nml, kphase, nbin, nccn, nccn1, nspc, scale_process::prc_mpistop(), and scale_tracer::tracer_regist().
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_setup | ( | ) |
Setup.
Definition at line 408 of file scale_atmos_phy_mp_suzuki10.F90.
References atmos_phy_mp_suzuki10_dens, scale_comm::comm_datatype, scale_comm::comm_world, scale_const::const_dice, scale_const::const_dwatr, scale_grid::grid_cdz, scale_grid::grid_cz, scale_atmos_hydrometeor::i_hc, scale_atmos_hydrometeor::i_hg, scale_atmos_hydrometeor::i_hh, scale_atmos_hydrometeor::i_hi, scale_atmos_hydrometeor::i_hr, scale_atmos_hydrometeor::i_hs, scale_grid_index::ia, scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_fid_nml, scale_stdio::io_get_available_fid(), scale_stdio::io_l, scale_stdio::io_nml, scale_grid_index::ja, scale_grid_index::ka, mkpara(), nbin, nccn, nspc, scale_process::prc_ismaster, scale_process::prc_masterrank, scale_process::prc_mpistop(), scale_tracer::qa, and scale_time::time_dtsec_atmos_phy_mp.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10 | ( | 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 854 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_atmos_phy_mp_common::atmos_phy_mp_negative_fixer(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation(), scale_const::const_tem00, 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, mp_suzuki10(), nbin, nccn, nspc, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_tracer::qa, 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 scale_atmos_phy_mp_suzuki10::mp_suzuki10 | ( | integer, intent(in) | ijkmax, |
integer, intent(in) | ijkmax_cold, | ||
integer, intent(in) | ijkmax_warm, | ||
integer, dimension(ijkmax), intent(in) | index_cold, | ||
integer, dimension(ijkmax), intent(in) | index_warm, | ||
real(rp), dimension (ijkmax), intent(in) | dens, | ||
real(rp), dimension (ijkmax), intent(in) | pres, | ||
real(rp), dimension (ijkmax), intent(in) | ccn, | ||
real(rp), dimension (ijkmax), intent(inout) | temp, | ||
real(rp), dimension (ijkmax), intent(inout) | qvap, | ||
real(rp), dimension (nbin,nspc,ijkmax), intent(inout) | ghyd, | ||
real(rp), dimension (nccn1, ijkmax), intent(inout) | gaer, | ||
real(rp), dimension (ijkmax), intent(out) | evaporate, | ||
real(dp), intent(in) | dt | ||
) |
Definition at line 1452 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_const::const_psat0, scale_const::const_tem00, scale_atmos_saturation::cpovr_ice, scale_atmos_saturation::cpovr_liq, scale_atmos_saturation::lovr_ice, scale_atmos_saturation::lovr_liq, nbin, nccn, scale_process::prc_mpistop(), scale_prof::prof_rapend(), scale_prof::prof_rapstart(), r_collcoag(), and scale_random::random_get().
Referenced by atmos_phy_mp_suzuki10().
subroutine scale_atmos_phy_mp_suzuki10::r_collcoag | ( | integer, intent(in) | ijkmax, |
real(rp), intent(in) | swgt, | ||
real(rp), dimension(ijkmax), intent(in) | temp, | ||
real(rp), dimension (nbin,nspc,ijkmax), intent(inout) | gc, | ||
real(dp), intent(in) | dtime | ||
) |
Definition at line 3855 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_grid_index::ia, scale_grid_index::ja, scale_grid_index::ka, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), and scale_random::random_get().
Referenced by mp_suzuki10().
subroutine, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_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 4054 of file scale_atmos_phy_mp_suzuki10.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, nbin, nspc, and scale_tracer::qa.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_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 4107 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_const::const_eps, scale_atmos_hydrometeor::i_hc, scale_atmos_hydrometeor::i_hg, scale_atmos_hydrometeor::i_hh, scale_atmos_hydrometeor::i_hi, scale_atmos_hydrometeor::i_hr, scale_atmos_hydrometeor::i_hs, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_atmos_hydrometeor::n_hyd, nbin, nspc, and scale_tracer::qa.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_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 4238 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_const::const_eps, scale_atmos_hydrometeor::i_hc, scale_atmos_hydrometeor::i_hg, scale_atmos_hydrometeor::i_hh, scale_atmos_hydrometeor::i_hi, scale_atmos_hydrometeor::i_hr, scale_atmos_hydrometeor::i_hs, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_atmos_hydrometeor::n_hyd, nbin, nspc, and scale_tracer::qa.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().
subroutine scale_atmos_phy_mp_suzuki10::mkpara | ( | ) |
Definition at line 4337 of file scale_atmos_phy_mp_suzuki10.F90.
References scale_stdio::io_fid_log, scale_stdio::io_l, kphase, and nbin.
Referenced by atmos_phy_mp_suzuki10_setup().
character(len=h_short), dimension(:), allocatable, target, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_name |
Definition at line 103 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_suzuki10_config().
character(len=h_mid), dimension(:), allocatable, target, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_desc |
Definition at line 104 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_suzuki10_config().
character(len=h_short), dimension(:), allocatable, target, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_unit |
Definition at line 105 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_suzuki10_config().
real(rp), dimension(n_hyd), target, public scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_dens |
Definition at line 107 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_suzuki10_setup().
integer, public scale_atmos_phy_mp_suzuki10::nbin = 33 |
Definition at line 109 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by scale_atmos_phy_mp_convert::atmos_phy_mp_bulk2bin(), atmos_phy_mp_suzuki10(), atmos_phy_mp_suzuki10_cloudfraction(), atmos_phy_mp_suzuki10_config(), atmos_phy_mp_suzuki10_effectiveradius(), atmos_phy_mp_suzuki10_mixingratio(), atmos_phy_mp_suzuki10_setup(), mkpara(), mp_suzuki10(), and mod_mkinit::rect_setup().
integer, public scale_atmos_phy_mp_suzuki10::nspc = 7 |
Definition at line 110 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by scale_atmos_phy_mp_convert::atmos_phy_mp_bulk2bin(), atmos_phy_mp_suzuki10(), atmos_phy_mp_suzuki10_cloudfraction(), atmos_phy_mp_suzuki10_config(), atmos_phy_mp_suzuki10_effectiveradius(), atmos_phy_mp_suzuki10_mixingratio(), and atmos_phy_mp_suzuki10_setup().
integer, public scale_atmos_phy_mp_suzuki10::nccn = 0 |
Definition at line 111 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by atmos_phy_mp_suzuki10(), atmos_phy_mp_suzuki10_config(), atmos_phy_mp_suzuki10_setup(), mp_suzuki10(), mod_mkinit::read_sounding(), and mod_mkinit::rect_setup().
integer, public scale_atmos_phy_mp_suzuki10::nccn1 = 0 |
Definition at line 112 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by atmos_phy_mp_suzuki10_config().
integer, public scale_atmos_phy_mp_suzuki10::kphase = 0 |
Definition at line 113 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by atmos_phy_mp_suzuki10_config(), and mkpara().
integer, public scale_atmos_phy_mp_suzuki10::iceflg = 1 |
Definition at line 114 of file scale_atmos_phy_mp_suzuki10.F90.
Referenced by atmos_phy_mp_suzuki10_config().