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

module Atmosphere / Physics / surface process More...

Data Types

type  atmosphysfcvars
 Derived type to manage variables with a surface component. More...

Functions/Subroutines

subroutine, public atmosphysfcvars_getlocalmeshfields (domid, mesh, svars_list, sflx_list, sfc_temp, sflx_mu, sflx_mv, sflx_mw, sflx_sh, sflx_lh, sflx_qv, lcmesh3d)
 Get local mesh fields for surface variables.

Variables

integer, parameter, public atmos_phy_sf_svar_temp_id = 1
integer, parameter, public atmos_phy_sf_svar_alb_id = 2
integer, parameter, public atmos_phy_sf_svar_num = 2
type(variableinfo), dimension(atmos_phy_sf_svar_num), public atmos_phy_sf_svar_vinfo
integer, parameter, public atmos_phy_sf_sflx_mu_id = 1
integer, parameter, public atmos_phy_sf_sflx_mv_id = 2
integer, parameter, public atmos_phy_sf_sflx_mw_id = 3
integer, parameter, public atmos_phy_sf_sflx_sh_id = 4
integer, parameter, public atmos_phy_sf_sflx_lh_id = 5
integer, parameter, public atmos_phy_sf_sflx_qv_id = 6
integer, parameter, public atmos_phy_sf_sflx_num1 = 6
type(variableinfo), dimension(atmos_phy_sf_sflx_num1), public atmos_phy_sf_sflx_vinfo

Detailed Description

module Atmosphere / Physics / surface process

Description
Container for variables with surface model
Author
Yuta Kawai, Team SCALE
NAMELIST
  • No namelist group
History Output
namedescriptionunitvariable
SFLX_MUx-momentum fluxm/s*kg/m2/sSFLX_MU
SFLX_MVy-momentum fluxm/s*kg/m2/sSFLX_MV
SFLX_MWz-momentum fluxm/s*kg/m2/sSFLX_MW
SFLX_SHsensible heat fluxJ/m2/sSFLX_SH
SFLX_LHlatent heat fluxJ/m2/sSFLX_LH
SFLX_QVwater vapor fluxkg/m2/sSFLX_QV
SFC_TEMPsurface skin temperatureKSFC_TEMP
SFC_ALBsurface albedo1SFC_ALB

Function/Subroutine Documentation

◆ atmosphysfcvars_getlocalmeshfields()

subroutine, public mod_atmos_phy_sfc_vars::atmosphysfcvars_getlocalmeshfields ( integer, intent(in) domid,
class(meshbase), intent(in) mesh,
class(modelvarmanager), intent(inout) svars_list,
class(modelvarmanager), intent(inout) sflx_list,
class(localmeshfieldbase), intent(out), pointer sfc_temp,
class(localmeshfieldbase), intent(out), pointer sflx_mu,
class(localmeshfieldbase), intent(out), pointer sflx_mv,
class(localmeshfieldbase), intent(out), pointer sflx_mw,
class(localmeshfieldbase), intent(out), pointer sflx_sh,
class(localmeshfieldbase), intent(out), pointer sflx_lh,
class(localmeshfieldbase), intent(out), pointer sflx_qv,
class(localmesh3d), intent(out), optional, pointer lcmesh3d )

Get local mesh fields for surface variables.

Definition at line 248 of file mod_atmos_phy_sfc_vars.F90.

252
253 use scale_mesh_base, only: meshbase
255 implicit none
256
257 integer, intent(in) :: domID
258 class(MeshBase), intent(in) :: mesh
259 class(ModelVarManager), intent(inout) :: svars_list
260 class(ModelVarManager), intent(inout) :: sflx_list
261 class(LocalMeshFieldBase), pointer, intent(out) :: SFC_TEMP
262 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_MU
263 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_MV
264 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_MW
265 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_SH
266 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_LH
267 class(LocalMeshFieldBase), pointer, intent(out) :: SFLX_QV
268 class(LocalMesh3D), pointer, intent(out), optional :: lcmesh3D
269
270 class(MeshFieldBase), pointer :: field
271 class(LocalMeshBase), pointer :: lcmesh
272 !-------------------------------------------------------
273
274 !--
275 call svars_list%Get(atmos_phy_sf_svar_temp_id, field)
276 call field%GetLocalMeshField(domid, sfc_temp)
277
278 call sflx_list%Get(atmos_phy_sf_sflx_mu_id, field)
279 call field%GetLocalMeshField(domid, sflx_mu)
280
281 call sflx_list%Get(atmos_phy_sf_sflx_mv_id, field)
282 call field%GetLocalMeshField(domid, sflx_mv)
283
284 call sflx_list%Get(atmos_phy_sf_sflx_mw_id, field)
285 call field%GetLocalMeshField(domid, sflx_mw)
286
287 call sflx_list%Get(atmos_phy_sf_sflx_sh_id, field)
288 call field%GetLocalMeshField(domid, sflx_sh)
289
290 call sflx_list%Get(atmos_phy_sf_sflx_lh_id, field)
291 call field%GetLocalMeshField(domid, sflx_lh)
292
293 call sflx_list%Get(atmos_phy_sf_sflx_qv_id, field)
294 call field%GetLocalMeshField(domid, sflx_qv)
295 !---
296
297 if (present(lcmesh3d)) then
298 call mesh%GetLocalMesh( domid, lcmesh )
299 nullify( lcmesh3d )
300
301 select type(lcmesh)
302 type is (localmesh3d)
303 if (present(lcmesh3d)) lcmesh3d => lcmesh
304 end select
305 end if
306
307 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_sf_sflx_lh_id, atmos_phy_sf_sflx_mu_id, atmos_phy_sf_sflx_mv_id, atmos_phy_sf_sflx_mw_id, atmos_phy_sf_sflx_qv_id, atmos_phy_sf_sflx_sh_id, and atmos_phy_sf_svar_temp_id.

Variable Documentation

◆ atmos_phy_sf_svar_temp_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_svar_temp_id = 1

Definition at line 71 of file mod_atmos_phy_sfc_vars.F90.

71 integer, public, parameter :: ATMOS_PHY_SF_SVAR_TEMP_ID = 1

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_svar_alb_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_svar_alb_id = 2

Definition at line 72 of file mod_atmos_phy_sfc_vars.F90.

72 integer, public, parameter :: ATMOS_PHY_SF_SVAR_ALB_ID = 2

Referenced by mod_atmos_component::atmos_setup().

◆ atmos_phy_sf_svar_num

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_svar_num = 2

Definition at line 73 of file mod_atmos_phy_sfc_vars.F90.

73 integer, public, parameter :: ATMOS_PHY_SF_SVAR_NUM = 2

◆ atmos_phy_sf_svar_vinfo

type(variableinfo), dimension(atmos_phy_sf_svar_num), public mod_atmos_phy_sfc_vars::atmos_phy_sf_svar_vinfo

Definition at line 74 of file mod_atmos_phy_sfc_vars.F90.

74 type(VariableInfo), public :: ATMOS_PHY_SF_SVAR_VINFO(ATMOS_PHY_SF_SVAR_NUM)

◆ atmos_phy_sf_sflx_mu_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_mu_id = 1

Definition at line 83 of file mod_atmos_phy_sfc_vars.F90.

83 integer, public, parameter :: ATMOS_PHY_SF_SFLX_MU_ID = 1

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_sflx_mv_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_mv_id = 2

Definition at line 84 of file mod_atmos_phy_sfc_vars.F90.

84 integer, public, parameter :: ATMOS_PHY_SF_SFLX_MV_ID = 2

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_sflx_mw_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_mw_id = 3

Definition at line 85 of file mod_atmos_phy_sfc_vars.F90.

85 integer, public, parameter :: ATMOS_PHY_SF_SFLX_MW_ID = 3

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_sflx_sh_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_sh_id = 4

Definition at line 86 of file mod_atmos_phy_sfc_vars.F90.

86 integer, public, parameter :: ATMOS_PHY_SF_SFLX_SH_ID = 4

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_sflx_lh_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_lh_id = 5

Definition at line 87 of file mod_atmos_phy_sfc_vars.F90.

87 integer, public, parameter :: ATMOS_PHY_SF_SFLX_LH_ID = 5

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_sflx_qv_id

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_qv_id = 6

Definition at line 88 of file mod_atmos_phy_sfc_vars.F90.

88 integer, public, parameter :: ATMOS_PHY_SF_SFLX_QV_ID = 6

Referenced by mod_atmos_component::atmos_setup(), and atmosphysfcvars_getlocalmeshfields().

◆ atmos_phy_sf_sflx_num1

integer, parameter, public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_num1 = 6

Definition at line 89 of file mod_atmos_phy_sfc_vars.F90.

89 integer, public, parameter :: ATMOS_PHY_SF_SFLX_NUM1 = 6

◆ atmos_phy_sf_sflx_vinfo

type(variableinfo), dimension(atmos_phy_sf_sflx_num1), public mod_atmos_phy_sfc_vars::atmos_phy_sf_sflx_vinfo

Definition at line 91 of file mod_atmos_phy_sfc_vars.F90.

91 type(VariableInfo), public :: ATMOS_PHY_SF_SFLX_VINFO(ATMOS_PHY_SF_SFLX_NUM1)