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_setup (MP_TYPE)
 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)
 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

real(rp), dimension(mp_qa), target, public atmos_phy_mp_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_setup()

subroutine, public scale_atmos_phy_mp_dry::atmos_phy_mp_dry_setup ( character(len=*), intent(in)  MP_TYPE)

Setup.

Definition at line 59 of file scale_atmos_phy_mp_dry.F90.

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

Referenced by scale_atmos_phy_mp::atmos_phy_mp_setup().

59  use scale_process, only: &
61  implicit none
62 
63  character(len=*), intent(in) :: mp_type
64  !---------------------------------------------------------------------------
65 
66  if( io_l ) write(io_fid_log,*)
67  if( io_l ) write(io_fid_log,*) '++++++ Module[Cloud Microphysics] / Categ[ATMOS PHYSICS] / Origin[SCALElib]'
68  if( io_l ) write(io_fid_log,*) '*** dummy process (dry Atmosphere)'
69 
70  if ( mp_type /= 'DRY' ) then
71  write(*,*) 'xxx ATMOS_PHY_MP_TYPE is not DRY. Check!'
72  call prc_mpistop
73  endif
74 
75  atmos_phy_mp_dens(:) = 0.0_rp
76 
77  return
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
Definition: scale_stdio.F90:59
real(rp), dimension(mp_qa), target, public atmos_phy_mp_dens
module PROCESS
integer, public io_fid_log
Log file ID.
Definition: scale_stdio.F90:56
Here is the call graph for this function:
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,qad), 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 93 of file scale_atmos_phy_mp_dry.F90.

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

Referenced by scale_atmos_phy_mp::atmos_phy_mp_setup().

94  use scale_tracer, only: &
95  qad => qa
96  implicit none
97 
98  real(RP), intent(inout) :: dens(ka,ia,ja)
99  real(RP), intent(inout) :: momz(ka,ia,ja)
100  real(RP), intent(inout) :: momx(ka,ia,ja)
101  real(RP), intent(inout) :: momy(ka,ia,ja)
102  real(RP), intent(inout) :: rhot(ka,ia,ja)
103  real(RP), intent(inout) :: qtrc(ka,ia,ja,qad)
104  real(RP), intent(in) :: ccn(ka,ia,ja)
105  real(RP), intent(out) :: evaporate(ka,ia,ja)
106  real(RP), intent(out) :: sflx_rain(ia,ja)
107  real(RP), intent(out) :: sflx_snow(ia,ja)
108  !---------------------------------------------------------------------------
109 
110  if( io_l ) write(io_fid_log,*) '*** Physics step: Cloud microphysics(dummy)'
111 
112  evaporate(:,:,:) = 0.0_rp
113  sflx_rain(:,:) = 0.0_rp
114  sflx_snow(:,:) = 0.0_rp
115 
116  return
logical, public io_l
output log or not? (this process)
Definition: scale_stdio.F90:59
integer, public qa
module grid index
module TRACER
integer, public ia
of x whole cells (local, with HALO)
integer, public ka
of z whole cells (local, with HALO)
integer, public io_fid_log
Log file ID.
Definition: scale_stdio.F90:56
integer, public ja
of y whole cells (local, with HALO)
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,qad), intent(in)  QTRC 
)

Calculate Cloud Fraction.

Definition at line 124 of file scale_atmos_phy_mp_dry.F90.

References scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_setup().

124  use scale_grid_index
125  use scale_tracer, only: &
126  qad => qa
127  implicit none
128 
129  real(RP), intent(out) :: cldfrac(ka,ia,ja)
130  real(RP), intent(in) :: qtrc (ka,ia,ja,qad)
131  !---------------------------------------------------------------------------
132 
133  cldfrac(:,:,:) = 0.0_rp ! dummy
134 
135  return
integer, public qa
module grid index
module TRACER
integer, public ia
of x whole cells (local, with HALO)
integer, public ka
of z whole cells (local, with HALO)
integer, public ja
of y whole cells (local, with HALO)
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,mp_qad), intent(out)  Re,
real(rp), dimension(ka,ia,ja,qad), 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 145 of file scale_atmos_phy_mp_dry.F90.

References scale_tracer::mp_qa, and scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_setup().

145  use scale_grid_index
146  use scale_tracer, only: &
147  qad => qa, &
148  mp_qad => mp_qa
149  implicit none
150 
151  real(RP), intent(out) :: re (ka,ia,ja,mp_qad) ! effective radius [cm]
152  real(RP), intent(in) :: qtrc0(ka,ia,ja,qad) ! tracer mass concentration [kg/kg]
153  real(RP), intent(in) :: dens0(ka,ia,ja) ! density [kg/m3]
154  real(RP), intent(in) :: temp0(ka,ia,ja) ! temperature [K]
155 
156  real(RP), parameter :: um2cm = 100.0_rp
157  !---------------------------------------------------------------------------
158 
159  re(:,:,:,:) = 8.e-6_rp * um2cm ! dummy
160 
161  return
integer, public qa
module grid index
module TRACER
integer, public ia
of x whole cells (local, with HALO)
integer, public mp_qa
integer, public ka
of z whole cells (local, with HALO)
integer, public ja
of y whole cells (local, with HALO)
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,mp_qad), intent(out)  Qe,
real(rp), dimension(ka,ia,ja,qad), intent(in)  QTRC0 
)

Calculate mixing ratio of each category.

Definition at line 168 of file scale_atmos_phy_mp_dry.F90.

References scale_tracer::mp_qa, and scale_tracer::qa.

Referenced by scale_atmos_phy_mp::atmos_phy_mp_setup().

168  use scale_grid_index
169  use scale_tracer, only: &
170  qad => qa, &
171  mp_qad => mp_qa
172  implicit none
173 
174  real(RP), intent(out) :: qe (ka,ia,ja,mp_qad) ! mixing ratio of each cateory [kg/kg]
175  real(RP), intent(in) :: qtrc0(ka,ia,ja,qad) ! tracer mass concentration [kg/kg]
176 
177  integer :: ihydro
178  !---------------------------------------------------------------------------
179 
180  do ihydro = 1, mp_qa
181  qe(:,:,:,ihydro) = 8.e-6_rp ! dummy
182  enddo
183 
184  return
185 
integer, public qa
module grid index
module TRACER
integer, public ia
of x whole cells (local, with HALO)
integer, public mp_qa
integer, public ka
of z whole cells (local, with HALO)
integer, public ja
of y whole cells (local, with HALO)
Here is the caller graph for this function:

Variable Documentation

◆ atmos_phy_mp_dens

real(rp), dimension(mp_qa), target, public scale_atmos_phy_mp_dry::atmos_phy_mp_dens

Definition at line 44 of file scale_atmos_phy_mp_dry.F90.

Referenced by atmos_phy_mp_dry_setup().

44  real(RP), public, target :: atmos_phy_mp_dens(mp_qa) ! hydrometeor density [kg/m3]=[g/L]
integer, public mp_qa
real(rp), dimension(mp_qa), target, public atmos_phy_mp_dens