pio_types Module

@file @brief Derived datatypes and constants for PIO

$Revision: 943 $ $LastChangedDate: 2014-02-14 10:20:17 -0600 (Fri, 14 Feb 2014) $


Uses


Variables

Type Visibility Attributes Name Initial
integer(kind=i4), public, parameter :: PIO_rearr_none = 0

@defgroup PIO_rearr_method PIO_rearr_method @public @brief The three choices to control rearrangement are: @details - PIO_rearr_none : Do not use any form of rearrangement - PIO_rearr_box : Use a PIO internal box rearrangement

integer(kind=i4), public, parameter :: PIO_rearr_box = 1
integer, public, parameter :: PIO_REARR_COMM_UNLIMITED_PEND_REQ = -1
integer(kind=i4), public, parameter :: PIO_iotype_pbinary = 1

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_direct_pbinary = 2

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_binary = 4

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_pnetcdf = 5

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_netcdf = 6

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_netcdf4c = 7

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_netcdf4p = 8

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: PIO_iotype_vdc2 = 10

@defgroup PIO_iotype PIO_iotype @public @brief An integer parameter which controls the iotype @details - PIO_iotype_pbinary : Use MPI-IO to read/write C like binary file - PIO_iotype_direct_pbinary: Use MPI-IO to read/write direct access binary files - PIO_iotype_binary : serial read/write of binary files using 'base_node' - PIO_iotype_pnetcdf : parallel read/write of pNetCDF files (netcdf3) - PIO_iotype_netcdf : serial read/write of NetCDF files using 'base_node' (netcdf3) - PIO_iotype_netcdf4c : parallel read/serial write of NetCDF4 (HDF5) files with data compression - PIO_iotype_netcdf4p : parallel read/write of NETCDF4 (HDF5) files

integer(kind=i4), public, parameter :: iotype_pbinary = PIO_iotype_pbinary
integer(kind=i4), public, parameter :: iotype_direct_pbinary = PIO_iotype_direct_pbinary
integer(kind=i4), public, parameter :: iotype_binary = PIO_iotype_binary
integer(kind=i4), public, parameter :: iotype_pnetcdf = PIO_iotype_pnetcdf
integer(kind=i4), public, parameter :: iotype_netcdf = PIO_iotype_netcdf
integer(kind=i4), public, parameter :: PIO_INTERNAL_ERROR = -51

@public @defgroup PIO_error_method error_methods @details The three types of error handling methods are: - PIO_INTERNAL_ERROR : abort on error from any task - PIO_BCAST_ERROR : broadcast an error from io_rank 0 to all tasks in comm - PIO_RETURN_ERROR : do nothing - allow the user to handle it

integer(kind=i4), public, parameter :: PIO_BCAST_ERROR = -52
integer(kind=i4), public, parameter :: PIO_RETURN_ERROR = -53
integer, public, parameter :: PIO_global = 0

@public @defgroup error_return error return codes @brief : The error return code; ierr != PIO_noerr indicates an error. (see @ref PIO_seterrorhandling )

@struct use_PIO_kinds @brief The type of variable(s) associated with this iodesc. @copydoc PIO_kinds

@public @defgroup PIO_kinds PIO_kinds @brief The base types supported by PIO are: @details - PIO_double : 8-byte reals or double precision - PIO_real : 4-byte reals - PIO_int : 4-byte integers - PIO_char : character

integer, public, parameter :: PIO_double = 6
integer, public, parameter :: PIO_real = 5
integer, public, parameter :: PIO_int = 4
integer, public, parameter :: PIO_char = 2
integer, public, parameter :: PIO_noerr = 0
integer, public, parameter :: PIO_MAX_NAME = 25
integer, public, parameter :: PIO_MAX_VAR_DIMS = 6
integer, public, parameter :: PIO_CLOBBER = 10
integer, public, parameter :: PIO_NOCLOBBER = 11
integer, public, parameter :: PIO_WRITE = 20
integer, public, parameter :: PIO_NOWRITE = 21
integer, public, parameter :: PIO_64BIT_OFFSET = 0
integer, public, parameter :: PIO_64BIT_DATA = 0
integer, public, parameter :: PIO_num_OST = 16

Enumerations

enum, bind(c)

Enumerators

enumerator:: PIO_rearr_comm_p2p = 0
enumerator:: PIO_rearr_comm_coll = 1

Description

@defgroup PIO_rearr_comm_t PIO_rearr_comm_t @public @brief The two choices for rearranger communication @details - PIO_rearr_comm_p2p : Point to point - PIO_rearr_comm_coll : Collective

enum, bind(c)

Enumerators

enumerator:: PIO_rearr_comm_fc_2d_enable = 0
enumerator:: PIO_rearr_comm_fc_1d_comp2io = 1
enumerator:: PIO_rearr_comm_fc_1d_io2comp = 2
enumerator:: PIO_rearr_comm_fc_2d_disable = 3

Description

@defgroup PIO_rearr_comm_dir PIO_rearr_comm_dir @public @brief The four choices for rearranger communication direction @details - PIO_rearr_comm_fc_2d_enable : COMM procs to IO procs and vice versa - PIO_rearr_comm_fc_1d_comp2io: COMM procs to IO procs only - PIO_rearr_comm_fc_1d_io2comp: IO procs to COMM procs only - PIO_rearr_comm_fc_2d_disable: Disable flow control


Derived Types

type, public ::  DecompMap_t

Components

Type Visibility Attributes Name Initial
integer(kind=i4), public :: start
integer(kind=i4), public :: length

type, public ::  PIO_rearr_comm_fc_opt_t

@defgroup PIO_rearr_comm_fc_options PIO_rearr_comm_fc_options @brief Type that defines the PIO rearranger options @details - enable_hs : Enable handshake (true/false) - enable_isend : Enable Isends (true/false) - max_pend_req : Maximum pending requests (To indicated unlimited number of requests use PIO_REARR_COMM_UNLIMITED_PEND_REQ)

Components

Type Visibility Attributes Name Initial
logical, public :: enable_hs
logical, public :: enable_isend
integer, public :: max_pend_req

type, public ::  PIO_rearr_opt_t

@defgroup PIO_rearr_options PIO_rearr_options @brief Type that defines the PIO rearranger options @details - comm_type : @copydoc PIO_rearr_comm_t - fcd : @copydoc PIO_rearr_comm_dir - comm_fc_opts : @copydoc PIO_rearr_comm_fc_options

Components

Type Visibility Attributes Name Initial
integer, public :: comm_type
integer, public :: fcd
type(PIO_rearr_comm_fc_opt_t), public :: comm_fc_opts_comp2io
type(PIO_rearr_comm_fc_opt_t), public :: comm_fc_opts_io2comp

type, public ::  IOSystem_desc_t

@public @defgroup iosystem_desc_t @brief A defined PIO system descriptor created by @ref PIO_init (see pio_types)

Components

Type Visibility Attributes Name Initial
integer(kind=i4), public :: union_comm = MPI_COMM_NULL
integer(kind=i4), public :: IO_comm = MPI_COMM_NULL
integer(kind=i4), public :: comp_comm = MPI_COMM_NULL
integer(kind=i4), public :: intercomm = MPI_COMM_NULL
integer(kind=i4), public :: my_comm = MPI_COMM_NULL
integer(kind=i4), public :: num_tasks
integer(kind=i4), public :: num_iotasks
integer(kind=i4), public :: num_aiotasks
integer(kind=i4), public :: num_comptasks
integer(kind=i4), public :: union_rank
integer(kind=i4), public :: comp_rank
integer(kind=i4), public :: io_rank
integer(kind=i4), public :: Info = MPI_INFO_NULL
integer(kind=i4), public :: numOST
integer(kind=i4), public :: IOMaster
integer(kind=i4), public :: compMaster
integer(kind=i4), public :: IOroot
integer(kind=i4), public :: comproot
logical(kind=log_kind), public :: IOproc
logical(kind=log_kind), public :: UseRearranger
logical(kind=log_kind), public :: async_interface = .false.
integer(kind=i4), public :: rearr
type(PIO_rearr_opt_t), public :: rearr_opts
integer(kind=i4), public :: error_handling
integer(kind=i4), public, pointer :: ioranks(:) => null()

type, public ::  io_data_list

@private @struct io_data_list @brief Linked list of buffers for pnetcdf non-blocking interface

Components

Type Visibility Attributes Name Initial
integer, public :: request
real(kind=r4), public, pointer :: data_real(:) => null()
integer(kind=i4), public, pointer :: data_int(:) => null()
real(kind=r8), public, pointer :: data_double(:) => null()
type(io_data_list), public, pointer :: next => null()

type, public ::  File_desc_t

@defgroup file_desc_t File descriptor returned by \ref PIO_openfile or \ref PIO_createfile (see pio_types)

Components

Type Visibility Attributes Name Initial
type(IOSystem_desc_t), public, pointer :: iosystem => null()
type(io_data_list), public, pointer :: data_list_top => null()
type(io_data_list), public, pointer :: data_list_end => null()
integer, public :: buffsize = 0
integer(kind=i4), public :: fh
integer(kind=PIO_OFFSET), public :: offset
integer(kind=i4), public :: iotype
logical, public :: file_is_open = .false.

type, public ::  IO_desc2_t

Components

Type Visibility Attributes Name Initial
integer(kind=i4), public :: fileTYPE
integer(kind=i4), public :: elemTYPE
integer(kind=i4), public :: n_words
integer(kind=pio_offset), public :: n_elemTYPE

type, public ::  io_desc_t

@private @defgroup iodesc_generate io descriptors, generating @brief The io descriptor structure in defined in this subroutine and subsequently used in @ref PIO_read_darray, @ref PIO_write_darray, @ref PIO_put_var, @ref PIO_get_var calls (see pio_types).

Read more…

Components

Type Visibility Attributes Name Initial
type(IO_desc2_t), public :: Read
type(IO_desc2_t), public :: Write
integer(kind=PIO_Offset), public, pointer :: start(:) => NULL()
integer(kind=PIO_Offset), public, pointer :: count(:) => NULL()

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

integer, public :: baseTYPE
integer, public, pointer :: dest_ioproc(:) => NULL()
integer(kind=pio_offset), public, pointer :: dest_ioindex(:) => NULL()
integer, public, pointer :: rfrom(:) => NULL()
integer, public, pointer :: rtype(:) => NULL()
integer, public, pointer :: scount(:) => NULL()
integer, public, pointer :: stype(:) => NULL()

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

integer(kind=i4), public :: async_id
type(DecompMap_t), public :: IOmap
type(DecompMap_t), public :: COMPmap
integer, public :: nrecvs
integer(kind=PIO_OFFSET), public :: glen
integer(kind=i4), public :: compsize
integer(kind=i4), public :: maxiobuflen
integer(kind=i4), public :: ndof
integer(kind=i4), public :: padding

type, public ::  Var_desc_t

@public @defgroup var_desc_t @brief A variable descriptor returned from @ref PIO_def_var (see pio_types)

Components

Type Visibility Attributes Name Initial
integer(kind=i4), public :: varID
integer(kind=i4), public :: rec
integer(kind=i4), public :: type
integer(kind=i4), public :: ndims
character(len=50), public :: name