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

module ATMOSPHERE / Physics Aerosol Microphysics More...

Data Types

interface  su
 

Functions/Subroutines

subroutine, public atmos_phy_ae_config (AE_TYPE)
 Setup. More...
 

Variables

procedure(ae), pointer, public atmos_phy_ae => NULL()
 
procedure(su), pointer, public atmos_phy_ae_setup => NULL()
 
procedure(er), pointer, public atmos_phy_ae_effectiveradius => NULL()
 
integer, public qa_ae
 
integer, public qs_ae
 
integer, public qe_ae
 
character(len=h_short), dimension(:), pointer, public atmos_phy_ae_name
 
character(len=h_mid), dimension(:), pointer, public atmos_phy_ae_desc
 
character(len=h_short), dimension(:), pointer, public atmos_phy_ae_unit
 
real(rp), dimension(:), pointer, public atmos_phy_ae_dens
 

Detailed Description

module ATMOSPHERE / Physics Aerosol Microphysics

Description
Aerosol Microphysics process
Author
Team SCALE
History
  • 2013-12-06 (S.Nishizawa) [new]

Function/Subroutine Documentation

◆ atmos_phy_ae_config()

subroutine, public scale_atmos_phy_ae::atmos_phy_ae_config ( character(len=*), intent(in)  AE_TYPE)

Setup.

Definition at line 110 of file scale_atmos_phy_ae.F90.

References atmos_phy_ae, atmos_phy_ae_dens, atmos_phy_ae_desc, scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy(), scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_config(), scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_dens, scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_desc, scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_effectiveradius(), scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_name, scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_setup(), scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_unit, atmos_phy_ae_effectiveradius, scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13(), scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_config(), scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_dens, scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_desc, scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_effectiveradius(), scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_name, scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_setup(), scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_unit, atmos_phy_ae_name, atmos_phy_ae_setup, atmos_phy_ae_unit, scale_stdio::io_fid_log, scale_stdio::io_l, scale_process::prc_mpistop(), qa_ae, qe_ae, and qs_ae.

Referenced by mod_atmos_phy_ae_driver::atmos_phy_ae_driver_config().

110  use scale_process, only: &
112  use scale_atmos_phy_ae_dummy, only: &
121  use scale_atmos_phy_ae_kajino13, only: &
130  implicit none
131 
132  character(len=*), intent(in) :: AE_TYPE
133  !---------------------------------------------------------------------------
134 
135  if( io_l ) write(io_fid_log,*) '*** => ', trim(ae_type), ' is selected.'
136 
137  select case( ae_type )
138  case('DUMMY','NONE')
140  ae_type, &
141  qa_ae, qs_ae ) ! (out)
142  atmos_phy_ae_setup => atmos_phy_ae_dummy_setup
143  atmos_phy_ae => atmos_phy_ae_dummy
144  atmos_phy_ae_effectiveradius => atmos_phy_ae_dummy_effectiveradius
145  atmos_phy_ae_name => atmos_phy_ae_dummy_name
146  atmos_phy_ae_desc => atmos_phy_ae_dummy_desc
147  atmos_phy_ae_unit => atmos_phy_ae_dummy_unit
148  atmos_phy_ae_dens => atmos_phy_ae_dummy_dens
149  case('KAJINO13')
151  ae_type, &
152  qa_ae, qs_ae ) ! (out)
153  atmos_phy_ae_setup => atmos_phy_ae_kajino13_setup
154  atmos_phy_ae => atmos_phy_ae_kajino13
155  atmos_phy_ae_effectiveradius => atmos_phy_ae_kajino13_effectiveradius
156  atmos_phy_ae_name => atmos_phy_ae_kajino13_name
157  atmos_phy_ae_desc => atmos_phy_ae_kajino13_desc
158  atmos_phy_ae_unit => atmos_phy_ae_kajino13_unit
159  atmos_phy_ae_dens => atmos_phy_ae_kajino13_dens
160  write(*,*) '### aerosol type(', ae_type, '). is not recommended in current version!'
161  case default
162  write(*,*) 'xxx invalid aerosol type(', ae_type, '). CHECK!'
163  call prc_mpistop
164  end select
165 
166  qe_ae = qs_ae + qa_ae - 1
167 
168  return
subroutine, public atmos_phy_ae_dummy_effectiveradius(Re, QTRC, RH)
Calculate Effective Radius.
subroutine, public prc_mpistop
Abort MPI.
character(len=h_mid), dimension(:), allocatable, target, public atmos_phy_ae_kajino13_desc
subroutine, public atmos_phy_ae_kajino13_config(AE_TYPE, QA, QS)
Config.
real(rp), dimension(n_ae), target, public atmos_phy_ae_kajino13_dens
character(len=h_short), dimension(qa_ae), target, public atmos_phy_ae_dummy_name
character(len=h_short), dimension(:), allocatable, target, public atmos_phy_ae_kajino13_name
subroutine, public atmos_phy_ae_dummy(QQA, DENS, MOMZ, MOMX, MOMY, RHOT, EMIT, NREG, QTRC, CN, CCN, RHOQ_t_AE)
Aerosol Microphysics.
character(len=h_mid), dimension(qa_ae), target, public atmos_phy_ae_dummy_desc
real(rp), dimension(qa_ae), target, public atmos_phy_ae_dummy_dens
module ATMOSPHERE / Physics Aerosol Microphysics
character(len=h_short), dimension(qa_ae), target, public atmos_phy_ae_dummy_unit
subroutine, public atmos_phy_ae_kajino13_setup
Setup.
subroutine, public atmos_phy_ae_kajino13(QQA, DENS, MOMZ, MOMX, MOMY, RHOT, EMIT, NREG, QTRC, CN, CCN, RHOQ_t_AE)
Aerosol Microphysics.
character(len=h_short), dimension(:), allocatable, target, public atmos_phy_ae_kajino13_unit
module PROCESS
subroutine, public atmos_phy_ae_kajino13_effectiveradius(Re, QTRC, RH)
Calculate Effective Radius.
module ATMOSPHERE / Physics Aerosol Microphysics
subroutine, public atmos_phy_ae_dummy_setup
Setup.
subroutine, public atmos_phy_ae_dummy_config(AE_TYPE, QA_AE, QS_AE)
Config.
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_phy_ae

procedure(ae), pointer, public scale_atmos_phy_ae::atmos_phy_ae => NULL()

Definition at line 77 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config(), and mod_atmos_phy_ae_driver::atmos_phy_ae_driver().

77  procedure(ae), pointer :: ATMOS_PHY_AE => null()

◆ atmos_phy_ae_setup

procedure(su), pointer, public scale_atmos_phy_ae::atmos_phy_ae_setup => NULL()

Definition at line 78 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config(), and mod_atmos_phy_ae_driver::atmos_phy_ae_driver_setup().

78  procedure(su), pointer :: ATMOS_PHY_AE_setup => null()

◆ atmos_phy_ae_effectiveradius

procedure(er), pointer, public scale_atmos_phy_ae::atmos_phy_ae_effectiveradius => NULL()

Definition at line 79 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config(), and scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx().

79  procedure(er), pointer :: ATMOS_PHY_AE_EffectiveRadius => null()

◆ qa_ae

integer, public scale_atmos_phy_ae::qa_ae

Definition at line 89 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config(), mod_atmos_phy_ae_driver::atmos_phy_ae_driver(), mod_atmos_phy_ae_vars::atmos_phy_ae_vars_setup(), and scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx().

89  integer, public :: QA_AE ! number of aerosol microphysical tracers

◆ qs_ae

integer, public scale_atmos_phy_ae::qs_ae

◆ qe_ae

integer, public scale_atmos_phy_ae::qe_ae

Definition at line 91 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config(), mod_atmos_phy_ae_driver::atmos_phy_ae_driver(), and mod_atmos_phy_ae_vars::atmos_phy_ae_vars_setup().

91  integer, public :: QE_AE ! end index in QTRC

◆ atmos_phy_ae_name

character(len=h_short), dimension(:), pointer, public scale_atmos_phy_ae::atmos_phy_ae_name

Definition at line 93 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config().

93  character(len=H_SHORT), pointer, public :: ATMOS_PHY_AE_NAME(:)

◆ atmos_phy_ae_desc

character(len=h_mid), dimension(:), pointer, public scale_atmos_phy_ae::atmos_phy_ae_desc

Definition at line 94 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config().

94  character(len=H_MID), pointer, public :: ATMOS_PHY_AE_DESC(:)

◆ atmos_phy_ae_unit

character(len=h_short), dimension(:), pointer, public scale_atmos_phy_ae::atmos_phy_ae_unit

Definition at line 95 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config().

95  character(len=H_SHORT), pointer, public :: ATMOS_PHY_AE_UNIT(:)

◆ atmos_phy_ae_dens

real(rp), dimension(:), pointer, public scale_atmos_phy_ae::atmos_phy_ae_dens

Definition at line 96 of file scale_atmos_phy_ae.F90.

Referenced by atmos_phy_ae_config(), and scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx().

96  real(RP), pointer, public :: ATMOS_PHY_AE_DENS(:) ! aerosol density [kg/m3]=[g/L]