module ATMOSPHERE / Physics Chemistry
More...
module ATMOSPHERE / Physics Chemistry
- Description
- Atmospheric lightning driver
- Author
- Team SCALE
- NAMELIST
-
PARAM_ATMOS_PHY_LT
name | type | default value | comment |
LT_FORCE_WITH_SUZUKI10 | logical | .false. | experimental use only |
- History Output
name | description | unit | variable |
CRGD_TOT | Charge density of QHYD | nC/m3 | CRGD_TOT |
◆ atmos_phy_lt_driver_tracer_setup()
subroutine, public mod_atmos_phy_lt_driver::atmos_phy_lt_driver_tracer_setup |
Config.
Definition at line 72 of file mod_atmos_phy_lt_driver.F90.
93 character(len=H_SHORT),
allocatable :: NAME(:)
94 character(len=H_MID ),
allocatable :: DESC(:)
95 character(len=H_SHORT),
allocatable :: UNIT(:)
100 log_info(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'Setup'
105 case (
'OFF',
'NONE' )
106 log_info(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'this component is never called.'
109 case (
'TOMITA08',
'SN14' )
114 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'nccn in SUZUKI10 should be 0 for lithgning component(',
atmos_phy_mp_suzuki10_nccn,
'). CHECK!'
118 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'ICEFLG in SUZUKI10 should be 1 for lithgning component. CHECK!'
122 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'ATMOS_PHY_MP_TYPE should be TOMITA08, or SN14, or SUZUKI10 (',
atmos_phy_mp_type,
'). CHECK!'
126 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'invalid lithgning type(',
atmos_phy_lt_type,
'). CHECK!'
134 name(iq) =
'QCRG_'//trim(tracer_name(
qhs+iq-1)(2:))
135 desc(iq) =
'Ratio of charge density of '//trim(tracer_name(
qhs+iq-1))
143 deallocate( name, desc, unit )
References mod_atmos_admin::atmos_phy_lt_type, 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_nwaters, mod_atmos_admin::atmos_phy_mp_type, mod_atmos_admin::atmos_sw_phy_lt, scale_prc::prc_abort(), mod_atmos_phy_lt_vars::qa_lt, mod_atmos_phy_lt_vars::qe_lt, scale_atmos_hydrometeor::qha, scale_atmos_hydrometeor::qhs, mod_atmos_phy_lt_vars::qs_lt, and scale_tracer::tracer_regist().
Referenced by mod_atmos_driver::atmos_driver_tracer_setup().
◆ atmos_phy_lt_driver_setup()
subroutine, public mod_atmos_phy_lt_driver::atmos_phy_lt_driver_setup |
Setup.
Definition at line 159 of file mod_atmos_phy_lt_driver.F90.
181 logical :: LT_force_with_SUZUKI10 = .false.
183 namelist / param_atmos_phy_lt / &
184 lt_force_with_suzuki10
191 log_info(
"ATMOS_PHY_LT_driver_setup",*)
'Setup'
195 read(io_fid_conf,nml=param_atmos_phy_lt,iostat=ierr)
197 log_info(
"ATMOS_PHY_LT_driver_setup",*)
'Not found namelist. Default used.'
198 elseif ( ierr > 0 )
then
199 log_error(
"ATMOS_PHY_LT_dirver_setup",*)
'Not appropriate names in namelist PARAM_ATMOS_PHY_LT. Check!'
202 log_nml(param_atmos_phy_lt)
208 log_warn(
"ATMOS_PHY_LT_driver_setup",*)
'At this moment, ATMOS_PHY_MP_TYPE of SUZUKI10 with SATO2019 scheme is for experimental use only.'
209 if ( .not. lt_force_with_suzuki10 )
then
210 log_error(
"ATMOS_PHY_LT_driver_setup",*)
'At this moment, ATMOS_PHY_MP_TYPE of SUZUKI10 with SATO2019 scheme is for experimental use only.'
242 log_info(
"ATMOS_PHY_LT_driver_setup",*)
'This component is never called.'
References scale_atmos_grid_cartesc::atmos_grid_cartesc_cdx, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lat, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lon, mod_atmos_phy_lt_vars::atmos_phy_lt_sarea, scale_atmos_phy_lt_sato2019::atmos_phy_lt_sato2019_setup(), mod_atmos_admin::atmos_phy_lt_type, mod_atmos_admin::atmos_phy_mp_type, scale_file_history::file_history_reg(), mod_atmos_phy_lt_vars::flg_lt, history(), scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::imaxg, 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::jmaxg, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::kmax, scale_atmos_grid_cartesc_index::ks, scale_prc::prc_abort(), and scale_atmos_hydrometeor::qha.
Referenced by mod_atmos_driver::atmos_driver_setup().
◆ atmos_phy_lt_driver_finalize()
subroutine, public mod_atmos_phy_lt_driver::atmos_phy_lt_driver_finalize |
◆ atmos_phy_lt_driver_adjustment()
subroutine, public mod_atmos_phy_lt_driver::atmos_phy_lt_driver_adjustment |
Driver.
Definition at line 282 of file mod_atmos_phy_lt_driver.F90.
288 atmos_vars_get_diagnostic
299 real(RP) :: QHYD(KA,IA,JA)
306 call atmos_vars_get_diagnostic(
"QHYD", qhyd(:,:,:) )
309 ka, ks, ke, ia, is, ie, ja, js, je, kijmax, imax, jmax,
qa_lt, &
310 dens(:,:,:),
rhot(:,:,:), qhyd(:,:,:), sarea(:,:,:,:), &
References mod_atmos_phy_lt_vars::atmos_phy_lt_epot, mod_atmos_phy_lt_vars::atmos_phy_lt_sarea, scale_atmos_phy_lt_sato2019::atmos_phy_lt_sato2019_adjustment(), mod_atmos_vars::dens, mod_atmos_vars::dens_av, history(), scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::imax, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::jmax, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::kijmax, scale_atmos_grid_cartesc_index::ks, mod_atmos_phy_lt_vars::qa_lt, mod_atmos_phy_lt_vars::qe_lt, mod_atmos_phy_lt_vars::qs_lt, mod_atmos_vars::qtrc, mod_atmos_vars::qtrc_av, mod_atmos_vars::rhot, mod_atmos_vars::rhot_av, and scale_time::time_dtsec_atmos_phy_lt.
Referenced by mod_atmos_driver::atmos_driver_update().
◆ history()
subroutine mod_atmos_phy_lt_driver::history |
Definition at line 323 of file mod_atmos_phy_lt_driver.F90.
332 file_history_query, &
335 real(RP) :: work(KA,IA,JA)
336 logical :: HIST_sw(w_nmax)
337 integer :: k, i, j, n, ip
342 call file_history_query( hist_id(ip), hist_sw(ip) )
345 if ( hist_sw(i_crgd_liq) )
then
353 work(k,i,j) = work(k,i,j) +
qtrc(k,i,j,n)
355 work(k,i,j) = work(k,i,j) *
dens(k,i,j) * 1.e-6_rp
360 call file_history_put( hist_id(i_crgd_liq), work(:,:,:) )
362 if ( hist_sw(i_crgd_ice) )
then
370 work(k,i,j) = work(k,i,j) +
qtrc(k,i,j,n)
372 work(k,i,j) = work(k,i,j) *
dens(k,i,j) * 1.e-6_rp
377 call file_history_put( hist_id(i_crgd_ice), work(:,:,:) )
379 if ( hist_sw(i_crgd_tot) )
then
387 work(k,i,j) = work(k,i,j) +
qtrc(k,i,j,n)
389 work(k,i,j) = work(k,i,j) *
dens(k,i,j) * 1.e-6_rp
394 call file_history_put( hist_id(i_crgd_tot), work(:,:,:) )
References mod_atmos_vars::dens, mod_atmos_vars::dens_av, 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_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, mod_atmos_phy_lt_vars::qe_lt, scale_atmos_hydrometeor::qla, mod_atmos_phy_lt_vars::qs_lt, mod_atmos_vars::qtrc, and mod_atmos_vars::qtrc_av.
Referenced by atmos_phy_lt_driver_adjustment(), and atmos_phy_lt_driver_setup().
subroutine, public prc_abort
Abort Process.
subroutine, public atmos_phy_lt_sato2019_setup(KA, KS, KE, IA, IS, IE, JA, JS, JE, IMAXG, JMAXG, KMAX, MP_TYPE, CDX, CDY)
Setup.
real(rp), dimension(:,:,:,:), pointer, public qtrc_av
subroutine, public atmos_phy_lt_sato2019_adjustment(KA, KS, KE, IA, IS, IE, JA, JS, JE, KIJMAX, IMAX, JMAX, QA_LT, DENS, RHOT, QHYD, Sarea, dt_LT, QTRC, Epot)
Update of charge density.
subroutine, public atmos_phy_lt_sato2019_finalize
finalize
module Atmosphere / Physics Chemistry
real(rp), dimension(:,:,:), pointer, public rhot_av
module atmosphere / hydrometeor
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cdy
y-length of control volume [m]
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_lt_sarea
real(rp), dimension(:,:,:), allocatable, target, public rhot
module Atmosphere GRID CartesC Real(real space)
real(rp), dimension(:,:,:,:), allocatable, target, public qtrc
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_lon
longitude [rad,0-2pi]
real(rp), dimension(:,:,:), allocatable, target, public dens
character(len=h_short), public atmos_phy_lt_type
integer, public atmos_phy_mp_suzuki10_nwaters
logical, public atmos_sw_phy_lt
module Spectran Bin Microphysics
subroutine, public tracer_regist(QS, NQ, NAME, DESC, UNIT, CV, CP, R, ENGI0, ADVC, MASS)
Regist tracer.
real(rp), dimension(:,:,:), pointer, public dens_av
module ATMOSPHERIC Variables
module atmosphere / physics / lightninh / SATO2019
character(len=h_short), public atmos_phy_mp_type
subroutine, public file_history_reg(name, desc, unit, itemid, standard_name, ndims, dim_type, cell_measures, fill_halo)
Register/Append variable to history file.
real(dp), public time_dtsec_atmos_phy_lt
time interval of physics(lightning ) [sec]
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cdx
x-length of control volume [m]
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_lat
latitude [rad,-pi,pi]
module atmosphere / grid / cartesC
integer, public atmos_phy_mp_suzuki10_nices
integer, public atmos_phy_mp_suzuki10_nccn
real(rp), dimension(:,:,:), allocatable, public atmos_phy_lt_epot