Go to the documentation of this file.
47 integer,
private,
parameter :: w_nmax = 3
48 integer,
private,
parameter :: I_CRGD_LIQ = 1
49 integer,
private,
parameter :: I_CRGD_ICE = 2
50 integer,
private,
parameter :: I_CRGD_TOT = 3
51 integer,
private :: HIST_id(w_nmax)
52 character(len=H_SHORT),
private :: w_name(w_nmax)
53 character(len=H_MID),
private :: w_longname(w_nmax)
54 character(len=H_SHORT),
private :: w_unit(w_nmax)
55 data w_name /
'CRGD_LIQ', &
58 data w_longname /
'Charge density of liquid water', &
59 'Charge density of ice water', &
60 'Charge density of QHYD' /
61 data w_unit /
'nC/m3', &
92 character(len=H_SHORT),
allocatable :: name(:)
93 character(len=H_MID ),
allocatable :: desc(:)
94 character(len=H_SHORT),
allocatable :: unit(:)
99 log_info(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'Setup'
104 case (
'OFF',
'NONE' )
105 log_info(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'this component is never called.'
108 case (
'TOMITA08',
'SN14' )
113 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'nccn in SUZUKI10 should be 0 for lithgning component(',
atmos_phy_mp_suzuki10_nccn,
'). CHECK!'
117 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'ICEFLG in SUZUKI10 should be 1 for lithgning component. CHECK!'
121 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'ATMOS_PHY_MP_TYPE should be TOMITA08, or SN14, or SUZUKI10 (',
atmos_phy_mp_type,
'). CHECK!'
125 log_error(
"ATMOS_PHY_LT_driver_tracer_setup",*)
'invalid lithgning type(',
atmos_phy_lt_type,
'). CHECK!'
133 name(iq) =
'QCRG_'//trim(tracer_name(
qhs+iq-1)(2:))
134 desc(iq) =
'Ratio of charge density of '//trim(tracer_name(
qhs+iq-1))
142 deallocate( name, desc, unit )
180 logical :: lt_force_with_suzuki10 = .false.
182 namelist / param_atmos_phy_lt / &
183 lt_force_with_suzuki10
190 log_info(
"ATMOS_PHY_LT_driver_setup",*)
'Setup'
194 read(
io_fid_conf,nml=param_atmos_phy_lt,iostat=ierr)
196 log_info(
"ATMOS_PHY_LT_driver_setup",*)
'Not found namelist. Default used.'
197 elseif ( ierr > 0 )
then
198 log_error(
"ATMOS_PHY_LT_dirver_setup",*)
'Not appropriate names in namelist PARAM_ATMOS_PHY_LT. Check!'
201 log_nml(param_atmos_phy_lt)
207 log_warn(
"ATMOS_PHY_LT_driver_setup",*)
'At this moment, ATMOS_PHY_MP_TYPE of SUZUKI10 with SATO2019 scheme is for experimental use only.'
208 if ( .not. lt_force_with_suzuki10 )
then
209 log_error(
"ATMOS_PHY_LT_driver_setup",*)
'At this moment, ATMOS_PHY_MP_TYPE of SUZUKI10 with SATO2019 scheme is for experimental use only.'
241 log_info(
"ATMOS_PHY_LT_driver_setup",*)
'This component is never called.'
257 atmos_vars_get_diagnostic
271 call atmos_vars_get_diagnostic(
"QHYD", qhyd(:,:,:) )
274 ka,
ks,
ke,
ia,
is,
ie,
ja,
js,
je,
kijmax,
imax,
jmax,
qa_lt, &
275 dens(:,:,:),
rhot(:,:,:), qhyd(:,:,:), sarea(:,:,:,:), &
295 file_history_query, &
298 real(RP) :: work(KA,IA,JA)
299 logical :: HIST_sw(w_nmax)
300 integer :: k, i, j, n, ip
303 call file_history_query( hist_id(ip), hist_sw(ip) )
306 if ( hist_sw(i_crgd_liq) )
then
313 work(k,i,j) = work(k,i,j) +
qtrc(k,i,j,n)
315 work(k,i,j) = work(k,i,j) *
dens(k,i,j) * 1.e-6_rp
319 call file_history_put( hist_id(i_crgd_liq), work(:,:,:) )
321 if ( hist_sw(i_crgd_ice) )
then
328 work(k,i,j) = work(k,i,j) +
qtrc(k,i,j,n)
330 work(k,i,j) = work(k,i,j) *
dens(k,i,j) * 1.e-6_rp
334 call file_history_put( hist_id(i_crgd_ice), work(:,:,:) )
336 if ( hist_sw(i_crgd_tot) )
then
343 work(k,i,j) = work(k,i,j) +
qtrc(k,i,j,n)
345 work(k,i,j) = work(k,i,j) *
dens(k,i,j) * 1.e-6_rp
349 call file_history_put( hist_id(i_crgd_tot), work(:,:,:) )
integer, public ke
end point of inner domain: z, local
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.
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]
integer, parameter, public rp
integer, public ie
end point of inner domain: x, local
real(rp), dimension(:,:,:), allocatable, target, public dens
module ATMOSPHERE / Physics Chemistry
module atmosphere / grid / cartesC index
character(len=h_short), public atmos_phy_lt_type
integer, public atmos_phy_mp_suzuki10_nwaters
subroutine, public atmos_phy_lt_driver_adjustment
Driver.
logical, public atmos_sw_phy_lt
integer, public is
start point of inner domain: x, local
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
integer, public ks
start point of inner domain: z, local
module ATMOSPHERIC Variables
integer, public js
start point of inner domain: y, local
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.
subroutine, public atmos_phy_lt_driver_tracer_setup
Config.
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 io_fid_conf
Config file ID.
integer, public je
end point of inner domain: y, local
integer, public atmos_phy_mp_suzuki10_nccn
real(rp), dimension(:,:,:), allocatable, public atmos_phy_lt_epot
subroutine, public atmos_phy_lt_driver_setup
Setup.