FE-Project
|
Derived type to manage a computational mesh of global atmospheric model. More...
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(meshcubedspheredom3d) | mesh |
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(hexahedralelement) | element |
Object to manage 3D reference element. | |
type(lineelement) | element_v1d |
Object to manage 1D reference element for the vertical direction. | |
type(meshtopography) | topography |
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(elementoperationgeneral) | element_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(sparsemat) | liftoptrmat |
class(elementoperationbase3d), pointer | element3d_operation |
integer | communicator_num |
Derived type to manage a computational mesh of global atmospheric model.
Definition at line 48 of file mod_atmos_mesh_gm.F90.
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.
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.
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.
[in] | sfield_num | Number of scalar fields |
[in] | hvfield_num | Number of horizontal vector fields |
[in] | htensorfield_num | Number of horizontal tensor fields |
[in,out] | var_manager | Object to manage variables |
[in] | field_list | Array of 3D fields |
[out] | commid | Communicator ID |
Definition at line 54 of file mod_atmos_mesh_gm.F90.
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.
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.
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.
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.
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.
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.