FE-Project
Loading...
Searching...
No Matches
mod_atmos_phy_mp_vars Module Reference

module Atmosphere / Physics / Cloud Microphysics More...

Data Types

type  atmosphympvars
 Derived type to manage variables with cloud microphysics component. More...

Functions/Subroutines

subroutine, public atmosphympvars_getlocalmeshfields_tend (domid, mesh, mp_tends_list, mp_dens_t, mp_momx_t, mp_momy_t, mp_momz_t, mp_rhot_t, mp_rhoh, mp_evap, mp_rhoq_t, lcmesh3d)
subroutine, public atmosphympvars_getlocalmeshfields_sfcflx (domid, mesh, sfcflx_list, sflx_rain, sflx_snow, sflx_engi)

Variables

integer, parameter, public atmos_phy_mp_dens_t_id = 1
integer, parameter, public atmos_phy_mp_momx_t_id = 2
integer, parameter, public atmos_phy_mp_momy_t_id = 3
integer, parameter, public atmos_phy_mp_momz_t_id = 4
integer, parameter, public atmos_phy_mp_rhot_t_id = 5
integer, parameter, public atmos_phy_mp_rhoh_id = 6
integer, parameter, public atmos_phy_mp_evaporate_id = 7
integer, parameter, public atmos_phy_mp_tends_num1 = 7
type(variableinfo), dimension(atmos_phy_mp_tends_num1), public atmos_phy_mp_tend_vinfo
integer, parameter, public atmos_phy_mp_aux2d_sflx_rain_id = 1
integer, parameter, public atmos_phy_mp_aux2d_sflx_snow_id = 2
integer, parameter, public atmos_phy_mp_aux2d_sflx_engi_id = 3
integer, parameter, public atmos_phy_mp_aux2d_num = 3
type(variableinfo), dimension(atmos_phy_mp_aux2d_num), public atmos_phy_mp_aux2d_vinfo

Detailed Description

module Atmosphere / Physics / Cloud Microphysics

Description
Container for variables with cloud microphysics component
Author
Yuta Kawai, Team SCALE
NAMELIST
  • No namelist group
History Output
namedescriptionunitvariable
MP_SFLX_RAINprecipitation flux (liquid) in MP processkg/m2/sMP_SFLX_RAIN
MP_SFLX_SNOWprecipitation flux (solid) in MP processkg/m2/sMP_SFLX_SNOW
MP_SFLX_ENGIinternal energy flux flux in MP processJ/m2/sMP_SFLX_ENGI
MP_DENS_ttendency of x-momentum in MP processkg/m3/sMP_DENS_t
MP_MOMX_ttendency of x-momentum in MP processkg/m2/s2MP_MOMX_t
MP_MOMY_ttendency of y-momentum in MP processkg/m2/s2MP_MOMY_t
MP_MOMZ_ttendency of z-momentum in MP processkg/m2/s2MP_MOMZ_t
MP_RHOT_ttendency of rho*PT in MP processkg/m3.K/sMP_RHOT_t
MP_RHOHdiabatic heating rate in MP processJ/kg/sMP_RHOH
mp_EVAPORATEnumber concentration of evaporated cloudm-3mp_EVAPORATE
MP_{TRACER_NAME}_ttendency of rho*{TRACER_NAME} in MP process;
{TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR.
TRACER_UNITTRACER_NAME
Vterm_{TRACER_NAME}terminal velocity of {TRACER_NAME};
{TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR.
TRACER_UNITTRACER_NAME

Function/Subroutine Documentation

◆ atmosphympvars_getlocalmeshfields_tend()

subroutine, public mod_atmos_phy_mp_vars::atmosphympvars_getlocalmeshfields_tend ( integer, intent(in) domid,
class(meshbase), intent(in) mesh,
class(modelvarmanager), intent(inout) mp_tends_list,
class(localmeshfieldbase), intent(out), pointer mp_dens_t,
class(localmeshfieldbase), intent(out), pointer mp_momx_t,
class(localmeshfieldbase), intent(out), pointer mp_momy_t,
class(localmeshfieldbase), intent(out), pointer mp_momz_t,
class(localmeshfieldbase), intent(out), pointer mp_rhot_t,
class(localmeshfieldbase), intent(out), pointer mp_rhoh,
class(localmeshfieldbase), intent(out), pointer mp_evap,
type(localmeshfieldbaselist), dimension(:), intent(out) mp_rhoq_t,
class(localmesh3d), intent(out), optional, pointer lcmesh3d )

Definition at line 289 of file mod_atmos_phy_mp_vars.F90.

294
295 use scale_mesh_base, only: meshbase
297 implicit none
298
299 integer, intent(in) :: domID
300 class(MeshBase), intent(in) :: mesh
301 class(ModelVarManager), intent(inout) :: mp_tends_list
302 class(LocalMeshFieldBase), pointer, intent(out) :: mp_DENS_t
303 class(LocalMeshFieldBase), pointer, intent(out) :: mp_MOMX_t
304 class(LocalMeshFieldBase), pointer, intent(out) :: mp_MOMY_t
305 class(LocalMeshFieldBase), pointer, intent(out) :: mp_MOMZ_t
306 class(LocalMeshFieldBase), pointer, intent(out) :: mp_RHOT_t
307 class(LocalMeshFieldBase), pointer, intent(out) :: mp_RHOH
308 class(LocalMeshFieldBase), pointer, intent(out) :: mp_EVAP
309 type(LocalMeshFieldBaseList), intent(out) :: mp_RHOQ_t(:)
310 class(LocalMesh3D), pointer, intent(out), optional :: lcmesh3D
311
312 class(MeshFieldBase), pointer :: field
313 class(LocalMeshBase), pointer :: lcmesh
314
315 integer :: iq
316 !-------------------------------------------------------
317
318 !--
319 call mp_tends_list%Get(atmos_phy_mp_dens_t_id, field)
320 call field%GetLocalMeshField(domid, mp_dens_t)
321
322 call mp_tends_list%Get(atmos_phy_mp_momx_t_id, field)
323 call field%GetLocalMeshField(domid, mp_momx_t)
324
325 call mp_tends_list%Get(atmos_phy_mp_momy_t_id, field)
326 call field%GetLocalMeshField(domid, mp_momy_t)
327
328 call mp_tends_list%Get(atmos_phy_mp_momz_t_id, field)
329 call field%GetLocalMeshField(domid, mp_momz_t)
330
331 call mp_tends_list%Get(atmos_phy_mp_rhot_t_id, field)
332 call field%GetLocalMeshField(domid, mp_rhot_t)
333
334 call mp_tends_list%Get(atmos_phy_mp_rhoh_id, field)
335 call field%GetLocalMeshField(domid, mp_rhoh)
336
337 call mp_tends_list%Get(atmos_phy_mp_evaporate_id, field)
338 call field%GetLocalMeshField(domid, mp_evap)
339
340 !---
341 do iq = 1, size(mp_rhoq_t)
342 call mp_tends_list%Get(atmos_phy_mp_tends_num1 + iq, field)
343 call field%GetLocalMeshField(domid, mp_rhoq_t(iq)%ptr)
344 end do
345
346
347 if (present(lcmesh3d)) then
348 call mesh%GetLocalMesh( domid, lcmesh )
349 nullify( lcmesh3d )
350
351 select type(lcmesh)
352 type is (localmesh3d)
353 if (present(lcmesh3d)) lcmesh3d => lcmesh
354 end select
355 end if
356
357 return
module FElib / Mesh / Base
module FElib / Data / base
Base type to manage a computational mesh.
Derived type representing a field (base type)

References atmos_phy_mp_dens_t_id, atmos_phy_mp_evaporate_id, atmos_phy_mp_momx_t_id, atmos_phy_mp_momy_t_id, atmos_phy_mp_momz_t_id, atmos_phy_mp_rhoh_id, atmos_phy_mp_rhot_t_id, and atmos_phy_mp_tends_num1.

Referenced by mod_atmos_phy_mp_vars::atmosphympvars::history().

◆ atmosphympvars_getlocalmeshfields_sfcflx()

subroutine, public mod_atmos_phy_mp_vars::atmosphympvars_getlocalmeshfields_sfcflx ( integer, intent(in) domid,
class(meshbase), intent(in) mesh,
class(modelvarmanager), intent(inout) sfcflx_list,
class(localmeshfieldbase), intent(out), pointer sflx_rain,
class(localmeshfieldbase), intent(out), pointer sflx_snow,
class(localmeshfieldbase), intent(out), pointer sflx_engi )

Definition at line 361 of file mod_atmos_phy_mp_vars.F90.

363
364 use scale_mesh_base, only: meshbase
366 implicit none
367
368 integer, intent(in) :: domID
369 class(MeshBase), intent(in) :: mesh
370 class(ModelVarManager), intent(inout) :: sfcflx_list
371 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_rain
372 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_snow
373 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_engi
374
375 class(MeshFieldBase), pointer :: field
376 !-------------------------------------------------------
377
378 call sfcflx_list%Get(atmos_phy_mp_aux2d_sflx_rain_id, field)
379 call field%GetLocalMeshField(domid, sflx_rain)
380
381 call sfcflx_list%Get(atmos_phy_mp_aux2d_sflx_snow_id, field)
382 call field%GetLocalMeshField(domid, sflx_snow)
383
384 call sfcflx_list%Get(atmos_phy_mp_aux2d_sflx_engi_id, field)
385 call field%GetLocalMeshField(domid, sflx_engi)
386
387 return

References atmos_phy_mp_aux2d_num, atmos_phy_mp_aux2d_sflx_engi_id, atmos_phy_mp_aux2d_sflx_rain_id, and atmos_phy_mp_aux2d_sflx_snow_id.

Referenced by mod_atmos_component::atmos_setup(), and mod_atmos_phy_mp_vars::atmosphympvars::history().

Variable Documentation

◆ atmos_phy_mp_dens_t_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_dens_t_id = 1

Definition at line 84 of file mod_atmos_phy_mp_vars.F90.

84 integer, public, parameter :: ATMOS_PHY_MP_DENS_t_ID = 1

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_momx_t_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_momx_t_id = 2

Definition at line 85 of file mod_atmos_phy_mp_vars.F90.

85 integer, public, parameter :: ATMOS_PHY_MP_MOMX_t_ID = 2

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_momy_t_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_momy_t_id = 3

Definition at line 86 of file mod_atmos_phy_mp_vars.F90.

86 integer, public, parameter :: ATMOS_PHY_MP_MOMY_t_ID = 3

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_momz_t_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_momz_t_id = 4

Definition at line 87 of file mod_atmos_phy_mp_vars.F90.

87 integer, public, parameter :: ATMOS_PHY_MP_MOMZ_t_ID = 4

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_rhot_t_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhot_t_id = 5

Definition at line 88 of file mod_atmos_phy_mp_vars.F90.

88 integer, public, parameter :: ATMOS_PHY_MP_RHOT_t_ID = 5

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_rhoh_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhoh_id = 6

Definition at line 89 of file mod_atmos_phy_mp_vars.F90.

89 integer, public, parameter :: ATMOS_PHY_MP_RHOH_ID = 6

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_evaporate_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_evaporate_id = 7

Definition at line 90 of file mod_atmos_phy_mp_vars.F90.

90 integer, public, parameter :: ATMOS_PHY_MP_EVAPORATE_ID = 7

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_tends_num1

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_tends_num1 = 7

Definition at line 91 of file mod_atmos_phy_mp_vars.F90.

91 integer, public, parameter :: ATMOS_PHY_MP_TENDS_NUM1 = 7

Referenced by atmosphympvars_getlocalmeshfields_tend().

◆ atmos_phy_mp_tend_vinfo

type(variableinfo), dimension(atmos_phy_mp_tends_num1), public mod_atmos_phy_mp_vars::atmos_phy_mp_tend_vinfo

Definition at line 93 of file mod_atmos_phy_mp_vars.F90.

93 type(VariableInfo), public :: ATMOS_PHY_MP_TEND_VINFO(ATMOS_PHY_MP_TENDS_NUM1)

◆ atmos_phy_mp_aux2d_sflx_rain_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_aux2d_sflx_rain_id = 1

Definition at line 111 of file mod_atmos_phy_mp_vars.F90.

111 integer, public, parameter :: ATMOS_PHY_MP_AUX2D_SFLX_RAIN_ID = 1

Referenced by atmosphympvars_getlocalmeshfields_sfcflx().

◆ atmos_phy_mp_aux2d_sflx_snow_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_aux2d_sflx_snow_id = 2

Definition at line 112 of file mod_atmos_phy_mp_vars.F90.

112 integer, public, parameter :: ATMOS_PHY_MP_AUX2D_SFLX_SNOW_ID = 2

Referenced by atmosphympvars_getlocalmeshfields_sfcflx().

◆ atmos_phy_mp_aux2d_sflx_engi_id

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_aux2d_sflx_engi_id = 3

Definition at line 113 of file mod_atmos_phy_mp_vars.F90.

113 integer, public, parameter :: ATMOS_PHY_MP_AUX2D_SFLX_ENGI_ID = 3

Referenced by atmosphympvars_getlocalmeshfields_sfcflx().

◆ atmos_phy_mp_aux2d_num

integer, parameter, public mod_atmos_phy_mp_vars::atmos_phy_mp_aux2d_num = 3

Definition at line 114 of file mod_atmos_phy_mp_vars.F90.

114 integer, public, parameter :: ATMOS_PHY_MP_AUX2D_NUM = 3

Referenced by atmosphympvars_getlocalmeshfields_sfcflx().

◆ atmos_phy_mp_aux2d_vinfo

type(variableinfo), dimension(atmos_phy_mp_aux2d_num), public mod_atmos_phy_mp_vars::atmos_phy_mp_aux2d_vinfo

Definition at line 116 of file mod_atmos_phy_mp_vars.F90.

116 type(VariableInfo), public :: ATMOS_PHY_MP_AUX2D_VINFO(ATMOS_PHY_MP_AUX2D_NUM)