Oasis3-MCT
 All Classes Files Functions Variables Macros Pages
Data Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
mod_oasis_part Module Reference

OASIS partition data and methods. More...

Data Types

type  prism_part_type
 Partition (decomposition) data for variables. More...
 

Public Member Functions

subroutine, public oasis_def_partition (id_part, kparal, kinfo, ig_size, name)
 The OASIS user interface to define partitions. More...
 
subroutine, public oasis_part_setup ()
 Synchronize partitions across all tasks, called at oasis enddef. More...
 
subroutine, public oasis_part_create (id_part, TYPE, gsize, nx, ny, gridname, gscomm, mpicom)
 Create a new partition internally, needed for mapping. More...
 

Public Attributes

integer(kind=ip_intwp_p), public prism_npart = 0
 number of partitions defined More...
 
type(prism_part_type),
dimension(mpart), public 
prism_part
 list of defined partitions More...
 

Private Member Functions

subroutine oasis_part_zero (s_prism_part)
 Zero partition information. More...
 
subroutine oasis_part_write (s_prism_part, npart)
 Print parition information. More...
 

Private Attributes

integer(kind=ip_intwp_p), parameter mpart = 100
 maximum number of partitions allowed More...
 
integer(kind=ip_intwp_p) part_name_cnt = 0
 used to define partition names internally More...
 

Detailed Description

OASIS partition data and methods.

Definition at line 4 of file mod_oasis_part.F90.

Member Function/Subroutine Documentation

subroutine, public mod_oasis_part::oasis_def_partition ( integer(kind=ip_intwp_p), intent(out)  id_part,
integer(kind=ip_intwp_p), dimension(:), intent(in)  kparal,
integer(kind=ip_intwp_p), intent(out), optional  kinfo,
integer(kind=ip_intwp_p), intent(in), optional  ig_size,
character(len=*), intent(in), optional  name 
)

The OASIS user interface to define partitions.

Parameters
[out]id_partpartition id
[in]kparaldecomposition information
[out]kinforeturn code
[in]ig_sizetotal size of partition
[in]namename of partition
  • Increment partition number and store user values

Definition at line 58 of file mod_oasis_part.F90.

subroutine, public mod_oasis_part::oasis_part_create ( integer(ip_i4_p), intent(out)  id_part,
character(len=*), intent(in)  TYPE,
integer(ip_i4_p), intent(in)  gsize,
integer(ip_i4_p), intent(in)  nx,
integer(ip_i4_p), intent(in)  ny,
character(len=*), intent(in)  gridname,
integer(ip_i4_p), intent(in)  gscomm,
integer(ip_i4_p), intent(in)  mpicom 
)

Create a new partition internally, needed for mapping.

Parameters
[out]id_partpartition id
[in]typetype of decomposition specified
[in]gsizeglobal size of grid
[in]nxglobal nx size
[in]nyglobal ny size
[in]gridnamegrid name
[in]gscommglobal seg map communicator
[in]mpicomlocal mpi comm
  • Check if an existing gsmap can be reused
  • Check that all tasks agree and if so, return with that partition id
  • Instantiate a decomposition based on gsize and type
    • Create a new partition and set values
    • Initialize the partition gsmap and pgsmap

Definition at line 421 of file mod_oasis_part.F90.

subroutine, public mod_oasis_part::oasis_part_setup ( )

Synchronize partitions across all tasks, called at oasis enddef.

  • Generate reduced partname list
  • Define all partitions on all tasks
  • Convert kparal information to data for the gsmap
  • Initialize the local gsmap and partition gsmap

Definition at line 140 of file mod_oasis_part.F90.

subroutine mod_oasis_part::oasis_part_write ( type(prism_part_type), intent(in)  s_prism_part,
integer(ip_i4_p), intent(in)  npart 
)
private

Print parition information.

Definition at line 380 of file mod_oasis_part.F90.

subroutine mod_oasis_part::oasis_part_zero ( type(prism_part_type), intent(inout)  s_prism_part)
private

Zero partition information.

Definition at line 352 of file mod_oasis_part.F90.

Member Data Documentation

integer(kind=ip_intwp_p), parameter mod_oasis_part::mpart = 100
private

maximum number of partitions allowed

Definition at line 26 of file mod_oasis_part.F90.

integer(kind=ip_intwp_p) mod_oasis_part::part_name_cnt = 0
private

used to define partition names internally

Definition at line 50 of file mod_oasis_part.F90.

integer(kind=ip_intwp_p), public mod_oasis_part::prism_npart = 0

number of partitions defined

Definition at line 45 of file mod_oasis_part.F90.

type(prism_part_type), dimension(mpart), public mod_oasis_part::prism_part

list of defined partitions

Definition at line 46 of file mod_oasis_part.F90.


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