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

module ATMOSPHERE / Physics Aerosol Microphysics More...

Data Types

interface  er
 

Functions/Subroutines

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

Variables

procedure(ae), pointer, public atmos_phy_ae => NULL()
 
procedure(er), pointer, public atmos_phy_ae_effectiveradius => NULL()
 
real(rp), dimension(:), pointer, public 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_setup()

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

Setup.

Definition at line 95 of file scale_atmos_phy_ae.F90.

References atmos_phy_ae, scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy(), scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_effectiveradius(), scale_atmos_phy_ae_dummy::atmos_phy_ae_dummy_setup(), atmos_phy_ae_effectiveradius, scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13(), scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_effectiveradius(), scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_setup(), and scale_process::prc_mpistop().

Referenced by mod_atmos_phy_ae_driver::atmos_phy_ae_driver_setup().

95  use scale_process, only: &
97 #define EXTM(pre, name, post) pre ## name ## post
98 #define NAME(pre, name, post) EXTM(pre, name, post)
99 #ifdef AE
100  use name(scale_atmos_phy_ae_, ae,), only: &
101  name(atmos_phy_ae_, ae, _setup), &
102  name(atmos_phy_ae_, ae,)
103  name(atmos_phy_ae_, ae, _effectiveradius)
104 #else
105  use scale_atmos_phy_ae_dummy, only: &
109  use scale_atmos_phy_ae_kajino13, only: &
113 #endif
114  implicit none
115 
116  character(len=*), intent(in) :: ae_type
117  !---------------------------------------------------------------------------
118 
119  select case( ae_type )
120  case ( 'DUMMY', 'NONE' )
121  call atmos_phy_ae_dummy_setup( ae_type )
123  atmos_phy_ae_effectiveradius => atmos_phy_ae_dummy_effectiveradius
124  case ( 'KAJINO13' )
125  call atmos_phy_ae_kajino13_setup( ae_type )
127  atmos_phy_ae_effectiveradius => atmos_phy_ae_kajino13_effectiveradius
128  write(*,*) '### aerosol type(', ae_type, '). is not recommended in current version!'
129  case default
130  write(*,*) 'xxx invalid aerosol type(', ae_type, '). CHECK!'
131  call prc_mpistop
132  end select
133 
134  return
subroutine, public atmos_phy_ae_dummy_effectiveradius(Re, QTRC, RH)
Calculate Effective Radius.
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_phy_ae_kajino13(DENS, MOMZ, MOMX, MOMY, RHOT, EMIT, NREG, QTRC, CN, CCN, RHOQ_t_AE)
Aerosol Microphysics.
procedure(ae), pointer, public atmos_phy_ae
subroutine, public atmos_phy_ae_kajino13_setup(AE_TYPE)
Setup.
module ATMOSPHERE / Physics Aerosol Microphysics
module PROCESS
subroutine, public atmos_phy_ae_dummy_setup(AE_TYPE)
Setup.
subroutine, public atmos_phy_ae_kajino13_effectiveradius(Re, QTRC, RH)
Calculate Effective Radius.
subroutine, public atmos_phy_ae_dummy(DENS, MOMZ, MOMX, MOMY, RHOT, EMIT, NREG, QTRC, CN, CCN, RHOQ_t_AE)
Aerosol Microphysics.
module ATMOSPHERE / Physics Aerosol Microphysics
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 76 of file scale_atmos_phy_ae.F90.

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

76  procedure(ae), pointer :: atmos_phy_ae => null()
procedure(ae), pointer, public atmos_phy_ae

◆ atmos_phy_ae_effectiveradius

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

Definition at line 77 of file scale_atmos_phy_ae.F90.

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

77  procedure(er), pointer :: atmos_phy_ae_effectiveradius => null()

◆ ae_dens

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

Definition at line 81 of file scale_atmos_phy_ae.F90.

Referenced by scale_atmos_phy_rd_mstrnx::atmos_phy_rd_mstrnx().

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