FE-Project
Loading...
Searching...
No Matches
mod_atmos_mesh_gm::atmosmeshgm Type Reference

Derived type to manage a computational mesh of global atmospheric model. More...

Inheritance diagram for mod_atmos_mesh_gm::atmosmeshgm:
mod_atmos_mesh::atmosmesh scale_model_mesh_manager::modelmesh3d scale_model_meshbase_manager::modelmeshbase3d scale_model_meshbase_manager::modelmeshbase

Public Member Functions

procedure init (this)
 Initialize an object to manage computational mesh.
procedure final (this)
 Finalize an object to manage computational mesh.
procedure create_communicator (this, sfield_num, hvfield_num, htensorfield_num, var_manager, field_list, commid)
 Create a communicator for data communication on global computational domain.
procedure setup_restartfile1 (this, restart_file, var_num)
procedure setup_restartfile2 (this, restart_file, in_basename, in_postfix_timelabel, out_basename, out_postfix_timelabel, out_dtype, out_title, var_num)
procedure calc_uvmet (this, u, v, umet, vmet)
 Calculate horizontal vector components in longitude-latitude coordinates.
procedure setup_vcoordinate (this)
 Setup the vertical coordinate.
Public Member Functions inherited from mod_atmos_mesh::atmosmesh
procedure atmosmesh_init (this, mesh)
 Setup an object to manage a computational mesh.
procedure atmosmesh_final (this)
 Finalize an object to manage a computational mesh.
procedure(atmosmesh_setup_restartfile1), deferred, public setup_restartfile1 atmosmesh_setup_restartfile1
procedure(atmosmesh_setup_restartfile2), deferred, public setup_restartfile2 atmosmesh_setup_restartfile2
procedure(atmosmesh_calc_uvmet), deferred, public calc_uvmet atmosmesh_calc_uvmet
generic setup_restartfile setup_restartfile1
generic setup_restartfile setup_restartfile2
procedure(atmosmesh_setup_vcoord), deferred, public setup_vcoordinate atmosmesh_setup_vcoord
Public Member Functions inherited from scale_model_mesh_manager::modelmesh3d
procedure, public modelmesh3d_init (this, mesh)
procedure, public modelmesh3d_final (this)
procedure(modelmesh3d_create_communicator), deferred, public create_communicator modelmesh3d_create_communicator
Public Member Functions inherited from scale_model_meshbase_manager::modelmeshbase3d
procedure, public modelmeshbase3d_init (this, mesh)
procedure, public modelmeshbase3d_final (this)
procedure, public prepairelementoperation (this, element_operation_type, spmv_storage_format_)
procedure, public getmodelmesh (this, ptr_mesh)
Public Member Functions inherited from scale_model_meshbase_manager::modelmeshbase
procedure modelmeshbase_init (this, ndim)
procedure modelmeshbase_final (this)
procedure get_communicatorid (this, max_communicator_num)
procedure(modelmeshbase_get_modelmesh), deferred, public getmodelmesh (this, ptr_mesh)

Public Attributes

type(meshcubedspheredom3dmesh
 Object for 3D cubed-sphere mesh.
type(meshfieldcommcubedspheredom3d), dimension(atm_mesh_max_commnuicator_num) comm_list
Public Attributes inherited from mod_atmos_mesh::atmosmesh
type(hexahedralelementelement
 Object to manage 3D reference element.
type(lineelementelement_v1d
 Object to manage 1D reference element for the vertical direction.
type(meshtopographytopography
 Object to manage topography.
integer vcoord_type_id
 ID of vertical coordinate type.
logical comm_use_mpi_pc
 Flag whether persistent communication in MPI is used.
logical comm_use_mpi_pc_fujitsu_ext
 Flag whether Fujitsu extension in MPI persistent communication is used.
Public Attributes inherited from scale_model_meshbase_manager::modelmeshbase3d
class(meshbase3d), pointer ptr_mesh
type(elementoperationgeneralelement_operation_general
class(elementoperationtensorprod3d), allocatable element_operation_tensorprod
logical initialized_element_operation
Public Attributes inherited from scale_model_meshbase_manager::modelmeshbase
type(sparsemat), dimension(:), allocatable doptrmat
type(sparsemat), dimension(:), allocatable soptrmat
type(sparsematliftoptrmat
class(elementoperationbase3d), pointer element3d_operation
integer communicator_num

Detailed Description

Derived type to manage a computational mesh of global atmospheric model.

Definition at line 48 of file mod_atmos_mesh_gm.F90.

Member Function/Subroutine Documentation

◆ init()

procedure mod_atmos_mesh_gm::atmosmeshgm::init ( class(atmosmeshgm), intent(inout), target this)

Initialize an object to manage computational mesh.

Definition at line 52 of file mod_atmos_mesh_gm.F90.

◆ final()

procedure mod_atmos_mesh_gm::atmosmeshgm::final ( class(atmosmeshgm), intent(inout) this)

Finalize an object to manage computational mesh.

Definition at line 53 of file mod_atmos_mesh_gm.F90.

◆ create_communicator()

procedure mod_atmos_mesh_gm::atmosmeshgm::create_communicator ( class(atmosmeshgm), intent(inout), target this,
integer, intent(in) sfield_num,
integer, intent(in) hvfield_num,
integer, intent(in) htensorfield_num,
class(modelvarmanager), intent(inout) var_manager,
class(meshfield3d), dimension(:), intent(in) field_list,
integer, intent(out) commid )

Create a communicator for data communication on global computational domain.

Parameters
[in]sfield_numNumber of scalar fields
[in]hvfield_numNumber of horizontal vector fields
[in]htensorfield_numNumber of horizontal tensor fields
[in,out]var_managerObject to manage variables
[in]field_listArray of 3D fields
[out]commidCommunicator ID

Definition at line 54 of file mod_atmos_mesh_gm.F90.

◆ setup_restartfile1()

procedure mod_atmos_mesh_gm::atmosmeshgm::setup_restartfile1 ( class(atmosmeshgm), intent(inout), target this,
class(file_restart_meshfield_component), intent(inout) restart_file,
integer, intent(in) var_num )

Definition at line 55 of file mod_atmos_mesh_gm.F90.

◆ setup_restartfile2()

procedure mod_atmos_mesh_gm::atmosmeshgm::setup_restartfile2 ( class(atmosmeshgm), intent(inout), target this,
class(file_restart_meshfield_component), intent(inout) restart_file,
character(*), intent(in) in_basename,
logical, intent(in) in_postfix_timelabel,
character(*), intent(in) out_basename,
logical, intent(in) out_postfix_timelabel,
character(*), intent(in) out_dtype,
character(*), intent(in) out_title,
integer, intent(in) var_num )

Definition at line 56 of file mod_atmos_mesh_gm.F90.

◆ calc_uvmet()

procedure mod_atmos_mesh_gm::atmosmeshgm::calc_uvmet ( class(atmosmeshgm), intent(in), target this,
type(meshfield3d), intent(in) u,
type(meshfield3d), intent(in) v,
type(meshfield3d), intent(inout) umet,
type(meshfield3d), intent(inout) vmet )

Calculate horizontal vector components in longitude-latitude coordinates.

Definition at line 57 of file mod_atmos_mesh_gm.F90.

◆ setup_vcoordinate()

procedure mod_atmos_mesh_gm::atmosmeshgm::setup_vcoordinate ( class(atmosmeshgm), intent(inout), target this)

Setup the vertical coordinate.

Definition at line 58 of file mod_atmos_mesh_gm.F90.

Member Data Documentation

◆ mesh

type(meshcubedspheredom3d) mod_atmos_mesh_gm::atmosmeshgm::mesh

Object for 3D cubed-sphere mesh.

Definition at line 49 of file mod_atmos_mesh_gm.F90.

49 type(MeshCubedSphereDom3D) :: mesh !< Object for 3D cubed-sphere mesh

◆ comm_list

type(meshfieldcommcubedspheredom3d), dimension(atm_mesh_max_commnuicator_num) mod_atmos_mesh_gm::atmosmeshgm::comm_list

Definition at line 50 of file mod_atmos_mesh_gm.F90.

50 type(MeshFieldCommCubedSphereDom3D) :: comm_list(ATM_MESH_MAX_COMMNUICATOR_NUM)

The documentation for this type was generated from the following file: