SCALE-RM
Data Types | Functions/Subroutines | Variables
scale_atmos_hydrometeor Module Reference

module atmosphere / hydrometeor More...

Functions/Subroutines

subroutine, public atmos_hydrometeor_setup
 Setup. More...
 
subroutine, public atmos_hydrometeor_finalize
 Finalize. More...
 
subroutine, public atmos_hydrometeor_regist (NL, NI, NAME, DESC, UNIT, Q0, ADVC)
 ATMOS_HYDROMETEOR_regist Regist tracer. More...
 
subroutine atmos_hydrometeor_lhv_0d (temp, lhv)
 
subroutine atmos_hydrometeor_lhv_1d (KA, KS, KE, temp, lhv)
 
subroutine atmos_hydrometeor_lhs_1d (KA, KS, KE, temp, lhs)
 
subroutine atmos_hydrometeor_lhf_1d (KA, KS, KE, temp, lhf)
 
subroutine atmos_hydrometeor_entr_2d (IA, IS, IE, JA, JS, JE, TEMP, PRES, QV, QI, Qdry, Rtot, CPtot, entr)
 calc temp, pres, q -> entropy (2D) More...
 

Variables

logical, public atmos_hydrometeor_ice_phase
 
integer, public i_qv = -1
 
integer, parameter, public n_hyd = 6
 
integer, parameter, public i_hc = 1
 liquid water cloud More...
 
integer, parameter, public i_hr = 2
 liquid water rain More...
 
integer, parameter, public i_hi = 3
 ice water cloud More...
 
integer, parameter, public i_hs = 4
 snow More...
 
integer, parameter, public i_hg = 5
 graupel More...
 
integer, parameter, public i_hh = 6
 hail More...
 
character(len=h_short), dimension(n_hyd), parameter, public hyd_name = (/ "QC", "QR", "QI", "QS", "QG", "QH" /)
 
character(len=h_mid), dimension(n_hyd), parameter, public hyd_desc = (/ "cloud ", "rain ", "ice water", "snow ", "graupel ", "hail " /)
 
character(len=h_short), dimension(n_hyd), parameter, public num_name = (/ "NC", "NR", "NI", "NS", "NG", "NH" /)
 
real(rp), dimension(n_hyd), public hyd_dens
 
logical, public atmos_hydrometeor_dry = .true.
 
integer, public qha = 0
 
integer, public qhs = -1
 
integer, public qhe = -2
 
integer, public qla = 0
 
integer, public qls = -1
 
integer, public qle = -2
 
integer, public qia = 0
 
integer, public qis = -1
 
integer, public qie = -2
 
real(rp), public lhv
 latent heat of vaporization for use [J/kg] More...
 
real(rp), public lhs
 latent heat of sublimation for use [J/kg] More...
 
real(rp), public lhf
 latent heat of fusion for use [J/kg] More...
 
real(rp), public cv_vapor
 CV for vapor [J/kg/K]. More...
 
real(rp), public cp_vapor
 CP for vapor [J/kg/K]. More...
 
real(rp), public cv_water
 CV for water [J/kg/K]. More...
 
real(rp), public cp_water
 CP for water [J/kg/K]. More...
 
real(rp), public cv_ice
 CV for ice [J/kg/K]. More...
 
real(rp), public cp_ice
 CP for ice [J/kg/K]. More...
 

Detailed Description

module atmosphere / hydrometeor

Description
Hydrometeor module
Author
Team SCALE

Function/Subroutine Documentation

◆ atmos_hydrometeor_setup()

subroutine, public scale_atmos_hydrometeor::atmos_hydrometeor_setup

Setup.

Definition at line 176 of file scale_atmos_hydrometeor.F90.

176  use scale_const, only: &
177  const_setup, &
178  cpvap => const_cpvap, &
179  cvvap => const_cvvap, &
180  cl => const_cl, &
181  ci => const_ci, &
182  lhv00 => const_lhv00, &
183  lhs00 => const_lhs00, &
184  lhf00 => const_lhf00, &
185  lhv0 => const_lhv0, &
186  lhs0 => const_lhs0, &
187  lhf0 => const_lhf0, &
188  dwatr => const_dwatr, &
189  dice => const_dice, &
190  thermodyn_type => const_thermodyn_type
191  use scale_prc, only: &
192  prc_abort
193  implicit none
194  !---------------------------------------------------------------------------
195 
196  if ( initialized ) return
197  initialized = .true.
198 
199  call const_setup
200 
201  log_newline
202  log_info("ATMOS_HYDROMETEOR_setup",*) 'Setup'
203 
204  if ( thermodyn_type == 'EXACT' ) then
205 
206  cv_vapor = cvvap
207  cp_vapor = cpvap
208  cv_water = cl
209  cp_water = cv_water
210  cv_ice = ci
211  cp_ice = cv_ice
212 
213  lhv = lhv00
214  lhs = lhs00
215  lhf = lhf00
216  thermodyn_emask = 1.0_rp
217 
218  elseif( thermodyn_type == 'SIMPLE' ) then
219 
220  cv_vapor = cvvap
221  cp_vapor = cpvap
222  cv_water = cvvap
223  cp_water = cv_water
224  cv_ice = cvvap
225  cp_ice = cv_ice
226 
227  lhv = lhv0
228  lhs = lhs0
229  lhf = lhf0
230  thermodyn_emask = 0.0_rp
231 
232  else
233  log_error("ATMOS_HYDROMETEOR_setup",*) 'Not appropriate ATMOS_THERMODYN_ENERGY_TYPE. Check!', trim(thermodyn_type)
234  call prc_abort
235  endif
236 
237  hyd_dens(:) = (/ dwatr, & ! HC
238  dwatr, & ! HR
239  dice, & ! HI
240  dice, & ! HS
241  dice, & ! HG
242  dice /) ! HH
243 
244  !$acc update device(HYD_DENS)
245  !$acc update device(LHV, LHS, LHF)
246  !$acc update device(CV_VAPOR,CP_VAPOR,CV_WATER,CP_WATER,CV_ICE,CP_ICE)
247  !$acc update device(THERMODYN_EMASK)
248 
249  return

References scale_const::const_ci, scale_const::const_cl, scale_const::const_cpvap, scale_const::const_cvvap, scale_const::const_dice, scale_const::const_dwatr, scale_const::const_lhf0, scale_const::const_lhf00, scale_const::const_lhs0, scale_const::const_lhs00, scale_const::const_lhv0, scale_const::const_lhv00, scale_const::const_setup(), scale_const::const_thermodyn_type, cp_ice, cp_vapor, cp_water, cv_ice, cv_vapor, cv_water, hyd_dens, lhf, lhs, lhv, and scale_prc::prc_abort().

Referenced by scale_atmos_adiabat::atmos_adiabat_setup(), scale_atmos_saturation::atmos_saturation_setup(), mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_hydrometeor_finalize()

subroutine, public scale_atmos_hydrometeor::atmos_hydrometeor_finalize

Finalize.

Definition at line 255 of file scale_atmos_hydrometeor.F90.

255  implicit none
256  !---------------------------------------------------------------------------
257 
258  log_newline
259  log_info("ATMOS_HYDROMETEOR_finalize",*) 'Finalize'
260 
261  atmos_hydrometeor_dry = .true.
262  initialized = .false.
263 
264  return

References atmos_hydrometeor_dry.

Referenced by mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

Here is the caller graph for this function:

◆ atmos_hydrometeor_regist()

subroutine, public scale_atmos_hydrometeor::atmos_hydrometeor_regist ( integer, intent(in)  NL,
integer, intent(in)  NI,
character(len=*), dimension(1+nl+ni), intent(in)  NAME,
character(len=*), dimension(1+nl+ni), intent(in)  DESC,
character(len=*), dimension(1+nl+ni), intent(in)  UNIT,
integer, intent(out)  Q0,
logical, dimension(1+nl+ni), intent(in), optional  ADVC 
)

ATMOS_HYDROMETEOR_regist Regist tracer.

Parameters
[in]nlnumber of liquid water tracers
[in]ninumber of ice water tracers

Definition at line 279 of file scale_atmos_hydrometeor.F90.

279  use scale_prc, only: &
280  prc_abort
281  use scale_tracer, only: &
283  use scale_const, only: &
284  rvap => const_rvap
285  implicit none
286  integer, intent(in) :: NL
287  integer, intent(in) :: NI
288  character(len=*), intent(in) :: NAME(1+NL+NI)
289  character(len=*), intent(in) :: DESC(1+NL+NI)
290  character(len=*), intent(in) :: UNIT(1+NL+NI)
291 
292  integer, intent(out) :: Q0
293 
294  logical, intent(in), optional :: ADVC(1+NL+NI)
295 
296  real(RP) :: CV (1+NL+NI)
297  real(RP) :: CP (1+NL+NI)
298  real(RP) :: R (1+NL+NI)
299  real(RP) :: EI0 (1+NL+NI)
300  logical :: MASS (1+NL+NI)
301  logical :: ADVC_(1+NL+NI)
302 
303  integer :: NQ
304  integer :: n
305  !---------------------------------------------------------------------------
306 
307  if ( .not. atmos_hydrometeor_dry ) then
308  log_error("ATMOS_HYDROMETEOR_regist",*) 'tracer for hydrometeor is already registerd'
309  call prc_abort
310  endif
311 
312  atmos_hydrometeor_dry = .false.
313 
314  nq = 0
315 
316  ! vapor
317  nq = nq + 1
318  cv(nq) = cv_vapor
319  cp(nq) = cp_vapor
320  r(nq) = rvap
321  ei0(nq) = lhv
322 
323  ! liquid
324  do n = 1, nl
325  nq = nq + 1
326  cv(nq) = cv_water
327  cp(nq) = cp_water
328  r(nq) = 0.0_rp
329  ei0(nq) = 0.0_rp
330  end do
331 
332  ! ice
333  do n = 1, ni
334  nq = nq + 1
335  cv(nq) = cv_ice
336  cp(nq) = cp_ice
337  r(nq) = 0.0_rp
338  ei0(nq) = - lhf
339  end do
340 
341  ! NQ = 1 + NL + NI, vapor + liqid + ice
342 
343  if ( present(advc) ) then
344  advc_(:) = advc(:)
345  else
346  advc_(:) = .true.
347  endif
348 
349  do n = 1, nq
350  mass(n) = .true.
351  end do
352 
353  call tracer_regist( q0, & ! [OUT]
354  nq, & ! [IN]
355  name, & ! [IN]
356  desc, & ! [IN]
357  unit, & ! [IN]
358  cv, cp, r, ei0, & ! [IN], optional
359  advc_, mass ) ! [IN], optional
360 
361  i_qv = q0
362 
363  if ( nq > 1 ) then
364  qhs = q0 + 1
365  qha = nl + ni
366  qhe = qhs + qha - 1
367  endif
368 
369  if ( nl > 0 ) then
370  qls = q0 + 1
371  qla = nl
372  qle = qls + nl - 1
373  endif
374 
375  if ( ni > 0 ) then
376  qis = qle + 1
377  qia = ni
378  qie = qis + ni - 1
379  endif
380 
381  atmos_hydrometeor_ice_phase = qia > 0
382 
383  !$acc update device(QHA, QHS, QHE, QLA, QLS, QLE, QIA, QIS, QIE)
384 
385  return

References atmos_hydrometeor_dry, atmos_hydrometeor_ice_phase, scale_const::const_rvap, cp_ice, cp_vapor, cp_water, cv_ice, cv_vapor, cv_water, i_qv, lhf, lhv, scale_prc::prc_abort(), qha, qhe, qhs, qia, qie, qis, qla, qle, qls, and scale_tracer::tracer_regist().

Referenced by mod_atmos_driver::atmos_driver_tracer_setup(), and mod_atmos_phy_mp_driver::atmos_phy_mp_driver_tracer_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_hydrometeor_lhv_0d()

subroutine scale_atmos_hydrometeor::atmos_hydrometeor_lhv_0d ( real(rp), intent(in)  temp,
real(rp), intent(out)  lhv 
)
Parameters
[in]temptemperature [K]
[out]lhvlatent heat of vaporization [J/kg]

Definition at line 392 of file scale_atmos_hydrometeor.F90.

392  !$acc routine
393  use scale_const, only: &
394  tem00 => const_tem00, &
395  lhv0 => const_lhv0
396  implicit none
397  real(RP), intent(in) :: temp
398  real(RP), intent(out) :: lhv
399  !---------------------------------------------------------------------------
400 
401  lhv = lhv0 + ( cp_vapor - cp_water ) * ( temp - tem00 ) * thermodyn_emask
402 
403  return

References scale_const::const_lhv0, scale_const::const_tem00, cp_vapor, and cp_water.

Referenced by atmos_hydrometeor_lhv_1d().

Here is the caller graph for this function:

◆ atmos_hydrometeor_lhv_1d()

subroutine scale_atmos_hydrometeor::atmos_hydrometeor_lhv_1d ( integer, intent(in)  KA,
integer, intent(in)  KS,
integer, intent(in)  KE,
real(rp), dimension(ka), intent(in)  temp,
real(rp), dimension (ka), intent(out)  lhv 
)
Parameters
[in]temptemperature [K]
[out]lhvlatent heat of vaporization [J/kg]

Definition at line 412 of file scale_atmos_hydrometeor.F90.

412  !$acc routine vector
413  implicit none
414  integer, intent(in) :: KA, KS, KE
415 
416  real(RP), intent(in) :: temp(KA)
417 
418  real(RP), intent(out) :: lhv (KA)
419 
420  integer :: k
421  !---------------------------------------------------------------------------
422 
423  do k = ks, ke
424  call atmos_hydrometeor_lhv_0d( temp(k), lhv(k) )
425  enddo
426 
427  return

References atmos_hydrometeor_lhv_0d(), scale_const::const_lhs0, scale_const::const_tem00, cp_ice, and cp_vapor.

Here is the call graph for this function:

◆ atmos_hydrometeor_lhs_1d()

subroutine scale_atmos_hydrometeor::atmos_hydrometeor_lhs_1d ( integer, intent(in)  KA,
integer, intent(in)  KS,
integer, intent(in)  KE,
real(rp), dimension(ka), intent(in)  temp,
real(rp), dimension (ka), intent(out)  lhs 
)
Parameters
[in]temptemperature [K]
[out]lhslatent heat of sublimation [J/kg]

Definition at line 537 of file scale_atmos_hydrometeor.F90.

537  !$acc routine vector
538  implicit none
539  integer, intent(in) :: KA, KS, KE
540 
541  real(RP), intent(in) :: temp(KA)
542 
543  real(RP), intent(out) :: lhs (KA)
544 
545  integer :: k
546  !---------------------------------------------------------------------------
547 
548  do k = ks, ke
549  call atmos_hydrometeor_lhs( temp(k), lhs(k) )
550  enddo
551 
552  return

References scale_const::const_lhf0, scale_const::const_tem00, cp_ice, and cp_water.

◆ atmos_hydrometeor_lhf_1d()

subroutine scale_atmos_hydrometeor::atmos_hydrometeor_lhf_1d ( integer, intent(in)  KA,
integer, intent(in)  KS,
integer, intent(in)  KE,
real(rp), dimension(ka), intent(in)  temp,
real(rp), dimension (ka), intent(out)  lhf 
)
Parameters
[in]temptemperature [K]
[out]lhflatent heat of fusion [J/kg]

Definition at line 662 of file scale_atmos_hydrometeor.F90.

662  !$acc routine vector
663  implicit none
664  integer, intent(in) :: KA, KS, KE
665 
666  real(RP), intent(in) :: temp(KA)
667  real(RP), intent(out) :: lhf (KA)
668 
669  integer :: k
670  !---------------------------------------------------------------------------
671 
672  do k = ks, ke
673  call atmos_hydrometeor_lhf( temp(k), lhf(k) )
674  enddo
675 
676  return

References scale_const::const_lhf0, scale_const::const_lhv0, scale_const::const_pre00, scale_const::const_psat0, scale_const::const_rdry, scale_const::const_rvap, and scale_const::const_tem00.

◆ atmos_hydrometeor_entr_2d()

subroutine scale_atmos_hydrometeor::atmos_hydrometeor_entr_2d ( 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 (ia,ja), intent(in)  TEMP,
real(rp), dimension (ia,ja), intent(in)  PRES,
real(rp), dimension (ia,ja), intent(in)  QV,
real(rp), dimension (ia,ja), intent(in)  QI,
real(rp), dimension (ia,ja), intent(in)  Qdry,
real(rp), dimension (ia,ja), intent(in)  Rtot,
real(rp), dimension(ia,ja), intent(in)  CPtot,
real(rp), dimension(ia,ja), intent(out)  entr 
)

calc temp, pres, q -> entropy (2D)

Parameters
[in]temptemperature [K]
[in]prespressure [Pa]
[in]qvwater vapor mass concentration [kg/kg]
[in]qiice water mass concentration [kg/kg]
[in]qdrydry air mass concentration [kg/kg]
[in]rtotgas constant
[in]cptotspecific heat
[out]entrentropy [J/K]

Definition at line 812 of file scale_atmos_hydrometeor.F90.

812  implicit none
813  integer, intent(in) :: IA, IS, IE
814  integer, intent(in) :: JA, JS, JE
815 
816  real(RP), intent(in) :: TEMP (IA,JA)
817  real(RP), intent(in) :: PRES (IA,JA)
818  real(RP), intent(in) :: QV (IA,JA)
819  real(RP), intent(in) :: QI (IA,JA)
820  real(RP), intent(in) :: Qdry (IA,JA)
821  real(RP), intent(in) :: Rtot (IA,JA)
822  real(RP), intent(in) :: CPtot(IA,JA)
823 
824  real(RP), intent(out) :: entr(IA,JA)
825 
826  integer :: i, j
827  !---------------------------------------------------------------------------
828 
829  !$omp parallel do OMP_SCHEDULE_ collapse(2)
830  !$acc kernels copyin(temp,pres,qv,qi,qdry,rtot,cptot) copyout(entr)
831  do j = js, je
832  do i = is, ie
833  call atmos_hydrometeor_entr_0d( &
834  temp(i,j), pres(i,j), & ! [IN]
835  qv(i,j), qi(i,j), qdry(i,j), & ! [IN]
836  rtot(i,j), cptot(i,j), & ! [IN]
837  entr(i,j) ) ! [OUT]
838  enddo
839  enddo
840  !$acc end kernels
841 
842  return

References scale_const::const_lhf0, scale_const::const_lhv0, scale_const::const_pre00, scale_const::const_psat0, scale_const::const_rdry, scale_const::const_rvap, and scale_const::const_tem00.

Variable Documentation

◆ atmos_hydrometeor_ice_phase

logical, public scale_atmos_hydrometeor::atmos_hydrometeor_ice_phase

Definition at line 90 of file scale_atmos_hydrometeor.F90.

90  logical, public :: ATMOS_HYDROMETEOR_ice_phase

Referenced by atmos_hydrometeor_regist(), and mod_atmos_phy_cp_driver::atmos_phy_cp_driver_setup().

◆ i_qv

integer, public scale_atmos_hydrometeor::i_qv = -1

◆ n_hyd

integer, parameter, public scale_atmos_hydrometeor::n_hyd = 6

Definition at line 95 of file scale_atmos_hydrometeor.F90.

95  integer, public, parameter :: N_HYD = 6

Referenced by mod_atmos_bnd_driver::atmos_boundary_driver_send(), mod_atmos_bnd_driver::atmos_boundary_set_online(), mod_atmos_phy_cp_driver::atmos_phy_cp_driver_calc_tendency(), scale_atmos_phy_cp_kf_jmapplib::atmos_phy_cp_kf_jmapplib_tendency(), scale_atmos_phy_cp_kf::atmos_phy_cp_kf_tendency(), mod_atmos_phy_cp_vars::atmos_phy_cp_vars_check(), mod_atmos_phy_cp_vars::atmos_phy_cp_vars_fillhalo(), mod_atmos_phy_cp_vars::atmos_phy_cp_vars_restart_def_var(), mod_atmos_phy_cp_vars::atmos_phy_cp_vars_restart_read(), mod_atmos_phy_cp_vars::atmos_phy_cp_vars_restart_write(), mod_atmos_phy_cp_vars::atmos_phy_cp_vars_setup(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_calc_tendency(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_qhyd2qtrc(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_qhyd2qtrc_onlyqv(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_setup(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_effective_radius(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_qhyd2qtrc(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_qtrc2qhyd(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_effective_radius(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qhyd2qtrc(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qtrc2nhyd(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_crg_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_effective_radius(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qhyd2qtrc(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2nhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2qhyd(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_adjustment(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_effective_radius(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_qhyd2qtrc(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_qtrc2qhyd(), mod_atmos_phy_mp_vars::atmos_phy_mp_vars_get_diagnostic(), mod_atmos_phy_mp_vars::atmos_phy_mp_vars_history(), mod_atmos_phy_mp_vars::atmos_phy_mp_vars_setup(), mod_atmos_phy_rd_driver::atmos_phy_rd_driver_calc_tendency(), scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx_flux(), scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx_setup(), mod_atmos_vars::atmos_vars_calc_diagnostics(), mod_atmos_vars::atmos_vars_setup(), scale_comm_cartesc_nest::comm_cartesc_nest_domain_shape(), mod_da_driver::da_driver_setup(), mod_mkinit::mkinit(), mod_realinput_grads::parentatmosinputgrads(), mod_realinput_netcdf::parentatmosinputnetcdf(), and mod_realinput::realinput_surface().

◆ i_hc

integer, parameter, public scale_atmos_hydrometeor::i_hc = 1

liquid water cloud

Definition at line 97 of file scale_atmos_hydrometeor.F90.

97  integer, public, parameter :: I_HC = 1

Referenced by scale_atmos_phy_cp_kf_jmapplib::atmos_phy_cp_kf_jmapplib_tendency(), scale_atmos_phy_cp_kf::atmos_phy_cp_kf_tendency(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_effective_radius(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_qhyd2qtrc(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_qtrc2qhyd(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_effective_radius(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qhyd2qtrc(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qtrc2nhyd(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_crg_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_effective_radius(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qhyd2qtrc(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2nhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_setup(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_effective_radius(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_qhyd2qtrc(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_qtrc2qhyd(), mod_atmos_phy_mp_vars::atmos_phy_mp_vars_get_diagnostic(), mod_atmos_phy_rd_driver::atmos_phy_rd_driver_calc_tendency(), scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx_flux(), mod_atmos_vars::atmos_vars_setup(), mod_da_driver::da_driver_update(), and mod_mkinit::mkinit().

◆ i_hr

integer, parameter, public scale_atmos_hydrometeor::i_hr = 2

◆ i_hi

integer, parameter, public scale_atmos_hydrometeor::i_hi = 3

◆ i_hs

integer, parameter, public scale_atmos_hydrometeor::i_hs = 4

◆ i_hg

integer, parameter, public scale_atmos_hydrometeor::i_hg = 5

◆ i_hh

integer, parameter, public scale_atmos_hydrometeor::i_hh = 6

◆ hyd_name

character(len=h_short), dimension(n_hyd), parameter, public scale_atmos_hydrometeor::hyd_name = (/ "QC", "QR", "QI", "QS", "QG", "QH" /)

◆ hyd_desc

character(len=h_mid), dimension(n_hyd), parameter, public scale_atmos_hydrometeor::hyd_desc = (/ "cloud ", "rain ", "ice water", "snow ", "graupel ", "hail " /)

Definition at line 106 of file scale_atmos_hydrometeor.F90.

106  character(len=H_MID), public, parameter :: HYD_DESC(N_HYD) = &
107  (/ "cloud ", "rain ", "ice water", "snow ", "graupel ", "hail " /)

Referenced by mod_atmos_phy_mp_vars::atmos_phy_mp_vars_setup().

◆ num_name

character(len=h_short), dimension(n_hyd), parameter, public scale_atmos_hydrometeor::num_name = (/ "NC", "NR", "NI", "NS", "NG", "NH" /)

Definition at line 108 of file scale_atmos_hydrometeor.F90.

108  character(len=H_SHORT), public, parameter :: NUM_NAME(N_HYD) = &
109  (/ "NC", "NR", "NI", "NS", "NG", "NH" /)

Referenced by mod_atmos_phy_mp_vars::atmos_phy_mp_vars_setup(), and mod_realinput_netcdf::parentatmosinputnetcdf().

◆ hyd_dens

real(rp), dimension(n_hyd), public scale_atmos_hydrometeor::hyd_dens

Definition at line 111 of file scale_atmos_hydrometeor.F90.

111  real(RP), public :: HYD_DENS(N_HYD)

Referenced by atmos_hydrometeor_setup(), and scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx_flux().

◆ atmos_hydrometeor_dry

logical, public scale_atmos_hydrometeor::atmos_hydrometeor_dry = .true.

◆ qha

integer, public scale_atmos_hydrometeor::qha = 0

◆ qhs

integer, public scale_atmos_hydrometeor::qhs = -1

◆ qhe

integer, public scale_atmos_hydrometeor::qhe = -2

◆ qla

integer, public scale_atmos_hydrometeor::qla = 0

◆ qls

integer, public scale_atmos_hydrometeor::qls = -1

◆ qle

integer, public scale_atmos_hydrometeor::qle = -2

◆ qia

integer, public scale_atmos_hydrometeor::qia = 0

◆ qis

integer, public scale_atmos_hydrometeor::qis = -1

Definition at line 140 of file scale_atmos_hydrometeor.F90.

140  integer, public :: QIS = -1

Referenced by atmos_hydrometeor_regist().

◆ qie

integer, public scale_atmos_hydrometeor::qie = -2

Definition at line 141 of file scale_atmos_hydrometeor.F90.

141  integer, public :: QIE = -2

Referenced by atmos_hydrometeor_regist().

◆ lhv

real(rp), public scale_atmos_hydrometeor::lhv

◆ lhs

real(rp), public scale_atmos_hydrometeor::lhs

latent heat of sublimation for use [J/kg]

Definition at line 145 of file scale_atmos_hydrometeor.F90.

145  real(RP), public :: LHS

Referenced by atmos_hydrometeor_setup(), and scale_atmos_phy_cp_kf::atmos_phy_cp_kf_tendency().

◆ lhf

real(rp), public scale_atmos_hydrometeor::lhf

◆ cv_vapor

real(rp), public scale_atmos_hydrometeor::cv_vapor

◆ cp_vapor

real(rp), public scale_atmos_hydrometeor::cp_vapor

CP for vapor [J/kg/K].

Definition at line 150 of file scale_atmos_hydrometeor.F90.

150  real(RP), public :: CP_VAPOR

Referenced by atmos_hydrometeor_lhv_0d(), atmos_hydrometeor_lhv_1d(), atmos_hydrometeor_regist(), atmos_hydrometeor_setup(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_0d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_rev_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_atmos_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_atmos_rev_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_real_3d(), scale_atmos_phy_bl_mynn_jmapplib::atmos_phy_bl_mynn_jmapplib_tendency(), scale_atmos_phy_bl_mynn::atmos_phy_bl_mynn_mkinit(), scale_atmos_phy_bl_mynn::atmos_phy_bl_mynn_tendency(), scale_atmos_phy_cp_kf::atmos_phy_cp_kf_tendency(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_adjustment(), scale_atmos_phy_mp_common::atmos_phy_mp_negative_fixer(), scale_atmos_phy_mp_common::atmos_phy_mp_saturation_adjustment_3d(), 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_tomita08::atmos_phy_mp_tomita08_adjustment(), scale_atmos_saturation::atmos_saturation_moist_conversion_dens_all_0d(), scale_atmos_saturation::atmos_saturation_moist_conversion_pres_liq_0d(), scale_atmos_saturation::atmos_saturation_pote_1d(), scale_atmos_phy_mp_sn14::freezing_water(), scale_atmos_phy_bl_mynn::get_phi(), and scale_atmos_phy_bl_mynn::partial_condensation().

◆ cv_water

real(rp), public scale_atmos_hydrometeor::cv_water

CV for water [J/kg/K].

Definition at line 151 of file scale_atmos_hydrometeor.F90.

151  real(RP), public :: CV_WATER

Referenced by atmos_hydrometeor_regist(), atmos_hydrometeor_setup(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_0d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_rev_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_atmos_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_atmos_rev_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_real_3d(), mod_atmos_phy_cp_driver::atmos_phy_cp_driver_calc_tendency(), scale_atmos_phy_cp_kf::atmos_phy_cp_kf_tendency(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_adjustment(), scale_atmos_phy_mp_common::atmos_phy_mp_negative_fixer(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_semilag(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_upwind(), scale_atmos_phy_mp_common::atmos_phy_mp_saturation_adjustment_3d(), 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_tomita08::atmos_phy_mp_tomita08_adjustment(), scale_atmos_saturation::atmos_saturation_moist_conversion_dens_all_0d(), scale_atmos_saturation::atmos_saturation_pote_1d(), scale_cpl_phy_sfc_skin::cpl_phy_sfc_skin(), mod_cpl_vars::cpl_putatm(), scale_atmos_phy_mp_sn14::freezing_water(), mod_land_driver::land_driver_calc_tendency(), scale_land_dyn_bucket::land_dyn_bucket(), scale_land_dyn_bucket::land_dyn_bucket_setup(), mod_land_vars::land_vars_monitor(), mod_ocean_driver::ocean_driver_calc_tendency(), scale_ocean_dyn_slab::ocean_dyn_slab(), scale_ocean_dyn_slab::ocean_dyn_slab_setup(), scale_ocean_phy_ice_simple::ocean_phy_ice_adjustment(), scale_ocean_phy_ice_simple::ocean_phy_ice_simple(), mod_ocean_vars::ocean_vars_monitor(), and mod_urban_vars::urban_vars_monitor().

◆ cp_water

real(rp), public scale_atmos_hydrometeor::cp_water

CP for water [J/kg/K].

Definition at line 152 of file scale_atmos_hydrometeor.F90.

152  real(RP), public :: CP_WATER

Referenced by scale_atmos_adiabat::atmos_adiabat_liftparcel_1d(), atmos_hydrometeor_lhs_1d(), atmos_hydrometeor_lhv_0d(), atmos_hydrometeor_regist(), atmos_hydrometeor_setup(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_0d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_atmos_rev_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_atmos_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_bytemp_atmos_rev_1d(), scale_atmos_hydrostatic::atmos_hydrostatic_buildrho_real_3d(), scale_atmos_phy_cp_kf::atmos_phy_cp_kf_tendency(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_adjustment(), scale_atmos_phy_mp_common::atmos_phy_mp_negative_fixer(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_semilag(), scale_atmos_phy_mp_common::atmos_phy_mp_precipitation_upwind(), scale_atmos_phy_mp_common::atmos_phy_mp_saturation_adjustment_3d(), 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_tomita08::atmos_phy_mp_tomita08_adjustment(), scale_atmos_saturation::atmos_saturation_moist_conversion_dens_all_0d(), scale_atmos_saturation::atmos_saturation_moist_conversion_pres_liq_0d(), scale_atmos_saturation::atmos_saturation_pote_1d(), and scale_atmos_phy_mp_sn14::freezing_water().

◆ cv_ice

real(rp), public scale_atmos_hydrometeor::cv_ice

◆ cp_ice

real(rp), public scale_atmos_hydrometeor::cp_ice
scale_const::const_lhv0
real(rp), parameter, public const_lhv0
latent heat of vaporizaion at 0C [J/kg]
Definition: scale_const.F90:82
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:350
scale_const::const_lhs00
real(rp), public const_lhs00
latent heat of sublimation at 0K [J/kg]
Definition: scale_const.F90:85
scale_const::const_lhv00
real(rp), public const_lhv00
latent heat of vaporizaion at 0K [J/kg]
Definition: scale_const.F90:83
scale_const::const_rvap
real(rp), parameter, public const_rvap
specific gas constant (water vapor) [J/kg/K]
Definition: scale_const.F90:68
scale_const::const_thermodyn_type
character(len=h_short), public const_thermodyn_type
internal energy type
Definition: scale_const.F90:111
scale_const::const_cpvap
real(rp), parameter, public const_cpvap
specific heat (water vapor, constant pressure) [J/kg/K]
Definition: scale_const.F90:69
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_const
module CONSTANT
Definition: scale_const.F90:11
scale_tracer::tracer_regist
subroutine, public tracer_regist(QS, NQ, NAME, DESC, UNIT, CV, CP, R, ENGI0, ADVC, MASS)
Regist tracer.
Definition: scale_tracer.F90:68
scale_tracer
module TRACER
Definition: scale_tracer.F90:12
scale_const::const_ci
real(rp), parameter, public const_ci
specific heat (ice) [J/kg/K]
Definition: scale_const.F90:72
scale_const::const_dwatr
real(rp), parameter, public const_dwatr
density of water [kg/m3]
Definition: scale_const.F90:89
scale_const::const_tem00
real(rp), parameter, public const_tem00
temperature reference (0C) [K]
Definition: scale_const.F90:99
scale_const::const_cl
real(rp), parameter, public const_cl
specific heat (liquid water) [J/kg/K]
Definition: scale_const.F90:71
scale_const::const_cvvap
real(rp), public const_cvvap
specific heat (water vapor, constant volume) [J/kg/K]
Definition: scale_const.F90:70
scale_const::const_lhf0
real(rp), public const_lhf0
latent heat of fusion at 0C [J/kg]
Definition: scale_const.F90:86
scale_const::const_lhs0
real(rp), parameter, public const_lhs0
latent heat of sublimation at 0C [J/kg]
Definition: scale_const.F90:84
scale_const::const_dice
real(rp), parameter, public const_dice
density of ice [kg/m3]
Definition: scale_const.F90:90
scale_const::const_setup
subroutine, public const_setup
Setup.
Definition: scale_const.F90:128
scale_const::const_lhf00
real(rp), public const_lhf00
latent heat of fusion at 0K [J/kg]
Definition: scale_const.F90:87