SCALE-RM
Functions/Subroutines | Variables
scale_atmos_phy_mp_dry Module Reference

module ATMOSPHERE / Physics Cloud Microphysics More...

Functions/Subroutines

subroutine, public atmos_phy_mp_dry_config (MP_TYPE, QA, QS)
 Configure. More...
 
subroutine, public atmos_phy_mp_dry_setup
 Setup. More...
 
subroutine, public atmos_phy_mp_dry (DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, CCN, EVAPORATE, SFLX_rain, SFLX_snow)
 Cloud Microphysics. More...
 
subroutine, public atmos_phy_mp_dry_cloudfraction (cldfrac, QTRC, mask_criterion)
 Calculate Cloud Fraction. More...
 
subroutine, public atmos_phy_mp_dry_effectiveradius (Re, QTRC0, DENS0, TEMP0)
 Calculate Effective Radius. More...
 
subroutine, public atmos_phy_mp_dry_mixingratio (Qe, QTRC0)
 Calculate mixing ratio of each category. More...
 

Variables

integer, parameter, public qa_mp = 0
 
character(len=h_short), dimension(qa_mp), target, public atmos_phy_mp_dry_name
 
character(len=h_mid), dimension(qa_mp), target, public atmos_phy_mp_dry_desc
 
character(len=h_short), dimension(qa_mp), target, public atmos_phy_mp_dry_unit
 
real(rp), dimension(n_hyd), target, public atmos_phy_mp_dry_dens
 

Detailed Description

module ATMOSPHERE / Physics Cloud Microphysics

Description
Dummy Cloud Microphysics for dry atmosphere
Author
Team SCALE
History
  • 2012-10-18 (S.Nishizawa) [new]
  • 2015-09-08 (Y.Sato) [add] Add evaporated cloud number concentration

Function/Subroutine Documentation

◆ atmos_phy_mp_dry_config()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_config ( character(len=*), intent(in)  MP_TYPE,
integer, intent(out)  QA,
integer, intent(out)  QS 
)

Configure.

Definition at line 68 of file scale_atmos_phy_mp_dry.F90.

References scale_stdio::io_fid_log, scale_stdio::io_l, scale_process::prc_mpistop(), and qa_mp.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

68  use scale_process, only: &
70  implicit none
71 
72  character(len=*), intent(in) :: MP_TYPE
73  integer, intent(out) :: QA
74  integer, intent(out) :: QS
75  !---------------------------------------------------------------------------
76 
77  if( io_l ) write(io_fid_log,*)
78  if( io_l ) write(io_fid_log,*) '++++++ Module[Cloud Microphysics Tracer] / Categ[ATMOS PHYSICS] / Origin[SCALElib]'
79  if( io_l ) write(io_fid_log,*) '*** No tracers for dummy process (dry Atmosphere)'
80 
81  if ( mp_type /= 'DRY' ) then
82  write(*,*) 'xxx ATMOS_PHY_MP_TYPE is not DRY. Check!'
83  call prc_mpistop
84  endif
85 
86  qs = -1
87  qa = qa_mp
88 
89  return
subroutine, public prc_mpistop
Abort MPI.
module PROCESS
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_dry_setup()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_setup ( )

Setup.

Definition at line 95 of file scale_atmos_phy_mp_dry.F90.

References scale_stdio::io_fid_log, and scale_stdio::io_l.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

95  implicit none
96 
97  if( io_l ) write(io_fid_log,*)
98  if( io_l ) write(io_fid_log,*) '++++++ Module[Cloud Microphysics] / Categ[ATMOS PHYSICS] / Origin[SCALElib]'
99  if( io_l ) write(io_fid_log,*) '*** dummy process (dry Atmosphere)'
100 
101  return
Here is the caller graph for this function:

◆ atmos_phy_mp_dry()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry ( real(rp), dimension(ka,ia,ja), intent(inout)  DENS,
real(rp), dimension(ka,ia,ja), intent(inout)  MOMZ,
real(rp), dimension(ka,ia,ja), intent(inout)  MOMX,
real(rp), dimension(ka,ia,ja), intent(inout)  MOMY,
real(rp), dimension(ka,ia,ja), intent(inout)  RHOT,
real(rp), dimension(ka,ia,ja,qa), intent(inout)  QTRC,
real(rp), dimension(ka,ia,ja), intent(in)  CCN,
real(rp), dimension(ka,ia,ja), intent(out)  EVAPORATE,
real(rp), dimension(ia,ja), intent(out)  SFLX_rain,
real(rp), dimension(ia,ja), intent(out)  SFLX_snow 
)

Cloud Microphysics.

Definition at line 117 of file scale_atmos_phy_mp_dry.F90.

References atmos_phy_mp_dry_dens, scale_const::const_undef, scale_stdio::io_fid_log, scale_stdio::io_l, and scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

117  use scale_grid_index
118  use scale_tracer, only: &
119  qa
120  use scale_const, only: &
121  undef => const_undef
122  implicit none
123 
124  real(RP), intent(inout) :: DENS(KA,IA,JA)
125  real(RP), intent(inout) :: MOMZ(KA,IA,JA)
126  real(RP), intent(inout) :: MOMX(KA,IA,JA)
127  real(RP), intent(inout) :: MOMY(KA,IA,JA)
128  real(RP), intent(inout) :: RHOT(KA,IA,JA)
129  real(RP), intent(inout) :: QTRC(KA,IA,JA,QA)
130  real(RP), intent(in) :: CCN(KA,IA,JA)
131  real(RP), intent(out) :: EVAPORATE(KA,IA,JA)
132  real(RP), intent(out) :: SFLX_rain(IA,JA)
133  real(RP), intent(out) :: SFLX_snow(IA,JA)
134  !---------------------------------------------------------------------------
135 
136  if( io_l ) write(io_fid_log,*) '*** Atmos physics step: Cloud microphysics(dummy)'
137 
138  atmos_phy_mp_dry_dens(:) = undef
139 
140  evaporate(:,:,:) = 0.0_rp
141  sflx_rain(:,:) = 0.0_rp
142  sflx_snow(:,:) = 0.0_rp
143 
144  return
real(rp), public const_undef
Definition: scale_const.F90:43
module grid index
module TRACER
module CONSTANT
Definition: scale_const.F90:14
real(rp), dimension(n_hyd), target, public atmos_phy_mp_dry_dens
Here is the caller graph for this function:

◆ atmos_phy_mp_dry_cloudfraction()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_cloudfraction ( real(rp), dimension(ka,ia,ja), intent(out)  cldfrac,
real(rp), dimension (ka,ia,ja,qa), intent(in)  QTRC,
real(rp), intent(in)  mask_criterion 
)

Calculate Cloud Fraction.

Definition at line 153 of file scale_atmos_phy_mp_dry.F90.

References scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

153  use scale_grid_index
154  use scale_tracer, only: &
155  qa
156  implicit none
157 
158  real(RP), intent(out) :: cldfrac(KA,IA,JA)
159  real(RP), intent(in) :: QTRC (KA,IA,JA,QA)
160  real(RP), intent(in) :: mask_criterion ! not used
161  !---------------------------------------------------------------------------
162 
163  cldfrac(:,:,:) = 0.0_rp ! dummy
164 
165  return
module grid index
module TRACER
Here is the caller graph for this function:

◆ atmos_phy_mp_dry_effectiveradius()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_effectiveradius ( real(rp), dimension (ka,ia,ja,n_hyd), intent(out)  Re,
real(rp), dimension(ka,ia,ja,qa), intent(in)  QTRC0,
real(rp), dimension(ka,ia,ja), intent(in)  DENS0,
real(rp), dimension(ka,ia,ja), intent(in)  TEMP0 
)

Calculate Effective Radius.

Definition at line 175 of file scale_atmos_phy_mp_dry.F90.

References scale_atmos_hydrometeor::n_hyd, and scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

175  use scale_grid_index
176  use scale_tracer, only: &
177  qa
178  use scale_atmos_hydrometeor, only: &
179  n_hyd
180  implicit none
181 
182  real(RP), intent(out) :: Re (KA,IA,JA,N_HYD) ! effective radius [cm]
183  real(RP), intent(in) :: QTRC0(KA,IA,JA,QA) ! tracer mass concentration [kg/kg]
184  real(RP), intent(in) :: DENS0(KA,IA,JA) ! density [kg/m3]
185  real(RP), intent(in) :: TEMP0(KA,IA,JA) ! temperature [K]
186  !---------------------------------------------------------------------------
187 
188  re = 0.0_rp
189 
190  return
module grid index
module TRACER
Here is the caller graph for this function:

◆ atmos_phy_mp_dry_mixingratio()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_mixingratio ( real(rp), dimension (ka,ia,ja,n_hyd), intent(out)  Qe,
real(rp), dimension(ka,ia,ja,qa), intent(in)  QTRC0 
)

Calculate mixing ratio of each category.

Definition at line 197 of file scale_atmos_phy_mp_dry.F90.

References scale_atmos_hydrometeor::n_hyd, and scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

197  use scale_grid_index
198  use scale_tracer, only: &
199  qa
200  use scale_atmos_hydrometeor, only: &
201  n_hyd
202  implicit none
203 
204  real(RP), intent(out) :: Qe (KA,IA,JA,N_HYD) ! mixing ratio of each cateory [kg/kg]
205  real(RP), intent(in) :: QTRC0(KA,IA,JA,QA) ! tracer mass concentration [kg/kg]
206  !---------------------------------------------------------------------------
207 
208  qe = 0.0_rp
209 
210  return
module grid index
module TRACER
Here is the caller graph for this function:

Variable Documentation

◆ qa_mp

integer, parameter, public scale_atmos_phy_mp_dry::qa_mp = 0

Definition at line 45 of file scale_atmos_phy_mp_dry.F90.

Referenced by atmos_phy_mp_dry_config().

45  integer, public, parameter :: QA_MP = 0

◆ atmos_phy_mp_dry_name

character(len=h_short), dimension(qa_mp), target, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_name

Definition at line 47 of file scale_atmos_phy_mp_dry.F90.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

47  character(len=H_SHORT), public, target :: ATMOS_PHY_MP_dry_NAME(QA_MP)

◆ atmos_phy_mp_dry_desc

character(len=h_mid), dimension(qa_mp), target, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_desc

Definition at line 48 of file scale_atmos_phy_mp_dry.F90.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

48  character(len=H_MID) , public, target :: ATMOS_PHY_MP_dry_DESC(QA_MP)

◆ atmos_phy_mp_dry_unit

character(len=h_short), dimension(qa_mp), target, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_unit

Definition at line 49 of file scale_atmos_phy_mp_dry.F90.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config().

49  character(len=H_SHORT), public, target :: ATMOS_PHY_MP_dry_UNIT(QA_MP)

◆ atmos_phy_mp_dry_dens

real(rp), dimension(n_hyd), target, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_dens

Definition at line 51 of file scale_atmos_phy_mp_dry.F90.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_config(), and atmos_phy_mp_dry().

51  real(RP), public, target :: ATMOS_PHY_MP_dry_DENS(N_HYD)