Go to the documentation of this file.
   24 #define PIO_OFFSET MPI_OFFSET 
   30 #define PIO_Offset MPI_Offset 
   33 #define PIO_MAX_VARS NC_MAX_VARS 
   36 #define PIO_MAX_DIMS NC_MAX_DIMS 
   40 #define PIO_DEFAULT (-1) 
   45 #define DECOMP_VERSION_ATT_NAME "PIO_library_version" 
   48 #define DECOMP_MAX_MAPLEN_ATT_NAME "max_maplen" 
   51 #define DECOMP_TITLE_ATT_NAME "title" 
   54 #define DECOMP_HISTORY_ATT_NAME "history" 
   57 #define DECOMP_SOURCE_ATT_NAME "source" 
   61 #define DECOMP_ORDER_ATT_NAME "array_order" 
   65 #define DECOMP_BACKTRACE_ATT_NAME "backtrace" 
   68 #define DECOMP_DIM_DIM "dims" 
   71 #define DECOMP_TASK_DIM_NAME "task" 
   74 #define DECOMP_MAPELEM_DIM_NAME "map_element" 
   77 #define DECOMP_NDIMS "ndims" 
   80 #define DECOMP_GLOBAL_SIZE_VAR_NAME "global_size" 
   84 #define DECOMP_MAPLEN_VAR_NAME "maplen" 
   87 #define DECOMP_MAP_VAR_NAME "map" 
   91 #define DECOMP_C_ORDER_STR "C" 
   95 #define DECOMP_FORTRAN_ORDER_STR "Fortran" 
   98 #define NC_PIO NC_UDF0 
  213 #define PIO_REARR_COMM_UNLIMITED_PEND_REQ -1 
  640 #define PIO_GLOBAL NC_GLOBAL 
  643 #define PIO_UNLIMITED NC_UNLIMITED 
  646 #define PIO_BYTE   NC_BYTE        
  647 #define PIO_CHAR   NC_CHAR        
  648 #define PIO_SHORT  NC_SHORT       
  649 #define PIO_INT    NC_INT         
  650 #define PIO_FLOAT  NC_FLOAT       
  651 #define PIO_REAL   NC_FLOAT       
  652 #define PIO_DOUBLE NC_DOUBLE      
  653 #define PIO_UBYTE  NC_UBYTE       
  654 #define PIO_USHORT NC_USHORT      
  655 #define PIO_UINT   NC_UINT        
  656 #define PIO_INT64  NC_INT64       
  657 #define PIO_UINT64 NC_UINT64      
  658 #define PIO_STRING NC_STRING      
  661 #define PIO_WRITE  NC_WRITE       
  662 #define PIO_NOWRITE  NC_NOWRITE   
  663 #define PIO_CLOBBER NC_CLOBBER    
  664 #define PIO_NOCLOBBER NC_NOCLOBBER   
  665 #define PIO_FILL NC_FILL          
  666 #define PIO_NOFILL NC_NOFILL      
  667 #define PIO_MAX_NAME NC_MAX_NAME  
  668 #define PIO_MAX_VAR_DIMS NC_MAX_VAR_DIMS  
  669 #define PIO_64BIT_OFFSET NC_64BIT_OFFSET  
  673 #define PIO_64BIT_DATA 0x0010  
  676 #define PIO_NOERR  NC_NOERR            
  677 #define PIO_EBADID NC_EBADID           
  678 #define PIO_ENFILE NC_ENFILE           
  679 #define PIO_EEXIST NC_EEXIST           
  680 #define PIO_EINVAL NC_EINVAL           
  681 #define PIO_EPERM NC_EPERM             
  682 #define PIO_ENOTINDEFINE NC_ENOTINDEFINE  
  683 #define PIO_EINDEFINE NC_EINDEFINE     
  684 #define PIO_EINVALCOORDS NC_EINVALCOORDS  
  685 #define PIO_EMAXDIMS NC_EMAXDIMS       
  686 #define PIO_ENAMEINUSE NC_ENAMEINUSE   
  687 #define PIO_ENOTATT NC_ENOTATT         
  688 #define PIO_EMAXATTS NC_EMAXATTS       
  689 #define PIO_EBADTYPE NC_EBADTYPE       
  690 #define PIO_EBADDIM NC_EBADDIM         
  691 #define PIO_EUNLIMPOS NC_EUNLIMPOS     
  692 #define PIO_EMAXVARS NC_EMAXVARS       
  693 #define PIO_ENOTVAR NC_ENOTVAR         
  694 #define PIO_EGLOBAL NC_EGLOBAL         
  695 #define PIO_ENOTNC NC_ENOTNC           
  696 #define PIO_ESTS NC_ESTS               
  697 #define PIO_EMAXNAME NC_EMAXNAME       
  698 #define PIO_EUNLIMIT NC_EUNLIMIT       
  699 #define PIO_ENORECVARS NC_ENORECVARS   
  700 #define PIO_ECHAR NC_ECHAR             
  701 #define PIO_EEDGE NC_EEDGE             
  702 #define PIO_ESTRIDE NC_ESTRIDE         
  703 #define PIO_EBADNAME NC_EBADNAME       
  704 #define PIO_ERANGE NC_ERANGE           
  705 #define PIO_ENOMEM NC_ENOMEM           
  706 #define PIO_EVARSIZE NC_EVARSIZE       
  707 #define PIO_EDIMSIZE NC_EDIMSIZE       
  708 #define PIO_ETRUNC NC_ETRUNC           
  709 #define PIO_EAXISTYPE NC_EAXISTYPE     
  710 #define PIO_EDAP NC_EDAP               
  711 #define PIO_ECURL NC_ECURL             
  712 #define PIO_EIO NC_EIO                 
  713 #define PIO_ENODATA NC_ENODATA         
  714 #define PIO_EDAPSVC NC_EDAPSVC         
  715 #define PIO_EDAS NC_EDAS               
  716 #define PIO_EDDS NC_EDDS               
  717 #define PIO_EDATADDS NC_EDATADDSDS     
  718 #define PIO_EDAPURL NC_EDAPURL         
  719 #define PIO_EDAPCONSTRAINT NC_EDAPCONSTRAINT  
  720 #define PIO_ETRANSLATION NC_ETRANSLATION      
  721 #define PIO_EHDFERR NC_EHDFERR         
  722 #define PIO_ECANTREAD NC_ECANTREAD     
  723 #define PIO_ECANTWRITE NC_ECANTWRITE   
  724 #define PIO_ECANTCREATE NC_ECANTCREATE  
  725 #define PIO_EFILEMETA NC_EFILEMETA     
  726 #define PIO_EDIMMETA NC_EDIMMETA       
  727 #define PIO_EATTMETA NC_EATTMETA       
  728 #define PIO_EVARMETA NC_EVARMETA       
  729 #define PIO_ENOCOMPOUND NC_ENOCOMPOUND   
  730 #define PIO_EATTEXISTS NC_EATTEXISTS   
  731 #define PIO_ENOTNC4 NC_ENOTNC4         
  732 #define PIO_ESTRICTNC3 NC_ESTRICTNC3   
  733 #define PIO_ENOTNC3 NC_ENOTNC3         
  734 #define PIO_ENOPAR NC_ENOPAR           
  735 #define PIO_EPARINIT NC_EPARINIT       
  736 #define PIO_EBADGRPID NC_EBADGRPID     
  737 #define PIO_EBADTYPID NC_EBADTYPID     
  738 #define PIO_ETYPDEFINED NC_ETYPDEFINED     
  739 #define PIO_EBADFIELD NC_EBADFIELD     
  740 #define PIO_EBADCLASS NC_EBADCLASS     
  741 #define PIO_EMAPTYPE NC_EMAPTYPE       
  742 #define PIO_ELATEFILL NC_ELATEFILL     
  743 #define PIO_ELATEDEF NC_ELATEDEF       
  744 #define PIO_EDIMSCALE NC_EDIMSCALE     
  745 #define PIO_ENOGRP NC_ENOGRP           
  746 #define PIO_ESTORAGE NC_ESTORAGE       
  747 #define PIO_EBADCHUNK NC_EBADCHUNK     
  748 #define PIO_ENOTBUILT NC_ENOTBUILT     
  749 #define PIO_EDISKLESS NC_EDISKLESS     
  752 #define PIO_FILL_BYTE NC_FILL_BYTE      
  753 #define PIO_FILL_CHAR NC_FILL_CHAR      
  754 #define PIO_FILL_SHORT NC_FILL_SHORT    
  755 #define PIO_FILL_INT NC_FILL_INT        
  756 #define PIO_FILL_FLOAT NC_FILL_FLOAT    
  757 #define PIO_FILL_DOUBLE NC_FILL_DOUBLE  
  758 #define PIO_FILL_UBYTE NC_FILL_UBYTE    
  759 #define PIO_FILL_USHORT NC_FILL_USHORT  
  760 #define PIO_FILL_UINT NC_FILL_UINT      
  761 #define PIO_FILL_INT64 NC_FILL_INT64    
  762 #define PIO_FILL_UINT64 NC_FILL_UINT64  
  764 #define PIO_EINDEP  (-203)   
  766 #define PIO_FIRST_ERROR_CODE (-500)   
  767 #define PIO_EBADIOTYPE  (-500)        
  768 #define PIO_EVARDIMMISMATCH (-501)    
  769 #define PIO_EBADREARR (-502)         
  770 #define PIO_REQ_NULL (NC_REQ_NULL-1)  
  772 #if defined(__cplusplus) 
  783     int PIOc_InitDecomp(
int iosysid, 
int pio_type, 
int ndims, 
const int *gdimlen, 
int maplen,
 
  784                         const PIO_Offset *compmap, 
int *ioidp, 
const int *rearr,
 
  787                            const long int *start, 
const long int *count, 
int *ioidp);
 
  790     int PIOc_init_decomp(
int iosysid, 
int pio_type, 
int ndims, 
const int *gdimlen, 
int maplen,
 
  791                          const PIO_Offset *compmap, 
int *ioidp, 
int rearranger,
 
  811                              char *title, 
char *history, 
int fortran_order);
 
  815                             int pio_type, 
char *title, 
char *history, 
int *fortran_order);
 
  818     int PIOc_init_async(MPI_Comm world, 
int num_io_procs, 
int *io_proc_list, 
int component_count,
 
  819                         int *num_procs_per_comp, 
int **proc_list, MPI_Comm *io_comm, MPI_Comm *comp_comm,
 
  820                         int rearranger, 
int *iosysidp);
 
  824                                    MPI_Comm io_comm, 
int rearranger, 
int *iosysidp);
 
  830     int PIOc_Init_Intracomm(MPI_Comm comp_comm, 
int num_iotasks, 
int stride, 
int base, 
int rearr,
 
  860                             bool enable_hs_c2i, 
bool enable_isend_c2i,
 
  861                             int max_pend_req_c2i,
 
  862                             bool enable_hs_i2c, 
bool enable_isend_i2c,
 
  863                             int max_pend_req_i2c);
 
  877                                 void *array, 
const int *
frame, 
void **
fillvalue, 
bool flushtodisk);
 
  890     int PIOc_createfile(
int iosysid, 
int *ncidp,  
int *iotype, 
const char *fname, 
int mode);
 
  891     int PIOc_create(
int iosysid, 
const char *path, 
int cmode, 
int *ncidp);
 
  892     int PIOc_openfile(
int iosysid, 
int *ncidp, 
int *iotype, 
const char *fname, 
int mode);
 
  893     int PIOc_openfile2(
int iosysid, 
int *ncidp, 
int *iotype, 
const char *fname, 
int mode);
 
  894     int PIOc_open(
int iosysid, 
const char *path, 
int mode, 
int *ncidp);
 
  897     int PIOc_inq(
int ncid, 
int *ndimsp, 
int *nvarsp, 
int *ngattsp, 
int *unlimdimidp);
 
  913     int PIOc_set_hint(
int iosysid, 
const char *hint, 
const char *hintval);
 
  929     int PIOc_inq_var(
int ncid, 
int varid, 
char *name, nc_type *xtypep, 
int *ndimsp, 
int *dimidsp,
 
  936     int PIOc_def_var(
int ncid, 
const char *name, nc_type xtype,  
int ndims,
 
  937                      const int *dimidsp, 
int *varidp);
 
  947                              int *deflate_levelp);
 
  958     int PIOc_rename_att(
int ncid, 
int varid, 
const char *name, 
const char *newname);
 
  959     int PIOc_del_att(
int ncid, 
int varid, 
const char *name);
 
  962     int PIOc_inq_att(
int ncid, 
int varid, 
const char *name, nc_type *xtypep,
 
  964     int PIOc_inq_attid(
int ncid, 
int varid, 
const char *name, 
int *idp);
 
  966     int PIOc_inq_atttype(
int ncid, 
int varid, 
const char *name, nc_type *xtypep);
 
  973                            const signed char *op);
 
  985                            const unsigned char *op);
 
  987                             const unsigned short *op);
 
  989                           const unsigned int *op);
 
  991                               const long long *op);
 
  993                                PIO_Offset len, 
const unsigned long long *op);
 
  996     int PIOc_get_att(
int ncid, 
int varid, 
const char *name, 
void *ip);
 
 1026     int PIOc_put_var(
int ncid, 
int varid, 
const void *buf);
 
 1065                             const unsigned char *op);
 
 1067                              const unsigned short *op);
 
 1069                            const unsigned int *op);
 
 1072                                 const unsigned long long *op);
 
 1091                             unsigned char *buf);
 
 1093                              unsigned short *buf);
 
 1099                                 unsigned long long *buf);
 
 1107                             const PIO_Offset *count, 
const signed char *op);
 
 1119                             const unsigned char *op);
 
 1121                              const PIO_Offset *count, 
const unsigned short *op);
 
 1123                            const PIO_Offset *count, 
const unsigned int *op);
 
 1125                                const PIO_Offset *count, 
const long long *op);
 
 1127                                 const PIO_Offset *count, 
const unsigned long long *op);
 
 1147                             const PIO_Offset *stride, 
unsigned char *buf);
 
 1149                              const PIO_Offset *stride, 
unsigned short *buf);
 
 1151                            const PIO_Offset *stride, 
unsigned int *buf);
 
 1156                                 unsigned long long *buf);
 
 1165                             const signed char *op);
 
 1177                             const PIO_Offset *stride, 
const unsigned char *op);
 
 1179                              const PIO_Offset *stride, 
const unsigned short *op);
 
 1181                            const PIO_Offset *stride, 
const unsigned int *op);
 
 1183                                const PIO_Offset *stride, 
const long long *op);
 
 1186                                 const unsigned long long *op);
 
 1203                             unsigned char *buf);
 
 1205                              unsigned short *buf);
 
 1211                                 unsigned long long *buf);
 
 1219                             const signed char *op);
 
 1229                             const unsigned char *op);
 
 1231                              const unsigned short *op);
 
 1233                            const unsigned int *op);
 
 1235                                const long long *op);
 
 1237                                 const unsigned long long *op);
 
 1240     int nc_def_iosystem(MPI_Comm comp_comm, 
int num_iotasks, 
int stride, 
int base, 
int rearr,
 
 1243     int nc_def_async(MPI_Comm world, 
int num_io_procs, 
int *io_proc_list,
 
 1244                      int component_count, 
int *num_procs_per_comp, 
int **proc_list,
 
 1245                      MPI_Comm *io_comm, MPI_Comm *comp_comm, 
int rearranger,
 
 1258     int nc_def_decomp(
int iosysid, 
int pio_type, 
int ndims, 
const int *gdimlen,
 
 1259                       int maplen, 
const size_t *compmap, 
int *ioidp,
 
 1260                       int rearranger, 
const size_t *iostart,
 
 1261                       const size_t *iocount);
 
 1267     int nc_get_vard(
int ncid, 
int varid, 
int decompid, 
const size_t recnum, 
void *buf);
 
 1268     int nc_get_vard_text(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1274     int nc_get_vard_int(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1281                           unsigned char *buf);
 
 1283                            unsigned short *buf);
 
 1284     int nc_get_vard_uint(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1289                               unsigned long long *buf);
 
 1292     int nc_put_vard(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1294     int nc_put_vard_text(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1297                           const signed char *op);
 
 1300     int nc_put_vard_int(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1307                           const unsigned char *op);
 
 1309                            const unsigned short *op);
 
 1310     int nc_put_vard_uint(
int ncid, 
int varid, 
int decompid, 
const size_t recnum,
 
 1311                          const unsigned int *op);
 
 1313                              const long long *op);
 
 1315                               const unsigned long long *op);
 
 1317 #if defined(__cplusplus) 
  
MPI_Datatype * rtype
Array (of length nrecvs) of receive MPI types in pio_swapm() call.
Definition: pio.h:353
 
int PIOc_InitDecomp_bc(int iosysid, int basetype, int ndims, const int *gdimlen, const long int *start, const long int *count, int *ioidp)
This is a simplified initdecomp which can be used if the memory order of the data can be expressed in...
Definition: pioc.c:835
 
@ PIO_REARR_SUBSET
Subset rearranger.
Definition: pio.h:621
 
int nc_put_vard_float(int ncid, int varid, int decompid, const size_t recnum, const float *op)
Put distributed array subset of a floating point variable.
Definition: nc_put_vard.c:204
 
int * vid
Array of varids.
Definition: pio.h:522
 
int PIOc_openfile(int iosysid, int *ncidp, int *iotype, const char *fname, int mode)
Open an existing file using PIO library.
Definition: pio_file.c:57
 
@ PIO_BCAST_ERROR
Error codes are broadcast to all tasks.
Definition: pio.h:633
 
int PIOc_put_vard_uchar(int ncid, int varid, int decompid, const PIO_Offset recnum, const unsigned char *op)
Put distributed array subset of an unsigned char variable.
Definition: pio_put_vard.c:55
 
int PIOc_put_var1_long(int ncid, int varid, const PIO_Offset *index, const long *ip)
Put one value from an integer variable.
Definition: pio_put_nc.c:587
 
int PIOc_set_hint(int iosysid, const char *hint, const char *hintval)
Send a hint to the MPI-IO library.
Definition: pioc.c:1296
 
int PIOc_put_att_double(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const double *op)
Write a netCDF attribute array of 64-bit floating points.
Definition: pio_nc.c:3225
 
int PIOc_put_var_uchar(int ncid, int varid, const unsigned char *op)
Put all data to an unsigned char variable.
Definition: pio_put_nc.c:1054
 
int nc_get_vard_int(int ncid, int varid, int decompid, const size_t recnum, int *buf)
Get a muti-dimensional subset of an integer variable.
Definition: nc_get_vard.c:156
 
int PIOc_writemap_from_f90(const char *file, int ndims, const int *gdims, PIO_Offset maplen, const PIO_Offset *map, int f90_comm)
Write the decomposition map to a file for F90.
Definition: pioc_support.c:1984
 
int PIOc_advanceframe(int ncid, int varid)
Increment the unlimited dimension of the given variable.
Definition: pioc.c:182
 
int iomaster
Set to MPI_ROOT if this task is the master of IO communicator, 0 otherwise.
Definition: pio.h:447
 
bool needssort
If the map is not monotonically increasing we will need to sort it.
Definition: pio.h:307
 
MPI_Comm union_comm
This is an MPI intra communicator that includes all the tasks in both the IO and the computation comm...
Definition: pio.h:405
 
int * scount
Array (length numiotasks) of data counts to send to each task in the communication in pio_swapm().
Definition: pio.h:343
 
int * dimlen
An array of size ndims with the global length of each dimension.
Definition: pio.h:290
 
int PIOc_put_vars_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const unsigned int *op)
Put strided, muti-dimensional subset of an unsigned integer variable.
Definition: pio_put_nc.c:184
 
int PIOc_get_vard_uchar(int ncid, int varid, int decompid, const PIO_Offset recnum, unsigned char *buf)
Get a muti-dimensional subset of an unsigned char variable.
Definition: pio_get_vard.c:54
 
int PIOc_strerror(int pioerr, char *errstr)
Return a string description of an error code.
Definition: pioc_support.c:98
 
int PIOc_put_att_uint(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned int *op)
Write a netCDF attribute array of 32-bit unsigned integers.
Definition: pio_nc.c:3088
 
int PIOc_write_nc_decomp(int iosysid, const char *filename, int cmode, int ioid, char *title, char *history, int fortran_order)
Write the decomposition map to a file using netCDF, everyones favorite data format.
Definition: pioc_support.c:1254
 
int PIOc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep)
Get the type of an attribute.
Definition: pio_nc.c:1333
 
int PIOc_put_var_int(int ncid, int varid, const int *op)
Put all data to an integer variable.
Definition: pio_put_nc.c:1144
 
int PIOc_put_att_long(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const long *op)
Write a netCDF attribute array of 32-bit signed integers.
Definition: pio_nc.c:2996
 
int piotype
The PIO type of the data.
Definition: pio.h:313
 
int nc_put_vard_text(int ncid, int varid, int decompid, const size_t recnum, const char *op)
Put distributed array subset of a text variable.
Definition: nc_put_vard.c:34
 
struct rearr_comm_fc_opt rearr_comm_fc_opt_t
Rearranger comm flow control options.
 
int arraylen
Size of this variables data on local task.
Definition: pio.h:519
 
int PIOc_put_vara_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const short *op)
Put muti-dimensional subset of a 16-bit integer variable.
Definition: pio_put_nc.c:808
 
int PIOc_get_var1(int ncid, int varid, const PIO_Offset *index, void *buf)
Get one value from a variable the same type as the variable in the file.
Definition: pio_get_nc.c:1204
 
UT_hash_handle hh
Hash table entry.
Definition: pio.h:148
 
int PIOc_set_iosystem_error_handling(int iosysid, int method, int *old_method)
Set the error handling method used for subsequent calls for this IO system.
Definition: pioc.c:382
 
struct rearr_opt rearr_opt_t
Rearranger options.
 
int * ioranks
An array of the ranks of all IO tasks within the union communicator.
Definition: pio.h:463
 
int nc_put_vard_int(int ncid, int varid, int decompid, const size_t recnum, const int *op)
Put distributed array subset of an integer variable.
Definition: nc_put_vard.c:162
 
int PIOc_InitDecomp(int iosysid, int pio_type, int ndims, const int *gdimlen, int maplen, const PIO_Offset *compmap, int *ioidp, const int *rearr, const PIO_Offset *iostart, const PIO_Offset *iocount)
Initialize the decomposition used with distributed arrays.
Definition: pioc.c:504
 
int recordvar
Non-zero if this is a buffer for a record var.
Definition: pio.h:510
 
int nc_def_iosystem(MPI_Comm comp_comm, int num_iotasks, int stride, int base, int rearr, int *iosysidp)
Same as PIOc_Init_Intracomm().
Definition: ncint_pio.c:22
 
int PIOc_get_vara_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, short *buf)
Get a muti-dimensional subset of a 16-bit integer variable.
Definition: pio_get_nc.c:502
 
int PIOc_readmap_from_f90(const char *file, int *ndims, int **gdims, PIO_Offset *maplen, PIO_Offset **map, int f90_comm)
Read a decomposition map from file.
Definition: pioc_support.c:1230
 
int PIOc_put_vard_ulonglong(int ncid, int varid, int decompid, const PIO_Offset recnum, const unsigned long long *op)
Put distributed array subset of an unsigned 64-bit integer variable.
Definition: pio_put_vard.c:270
 
int PIOc_put_vars(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const void *buf)
Write strided, muti-dimensional subset of a variable of any type.
Definition: pio_put_nc.c:383
 
io_region * fillregion
Used when writing fill data.
Definition: pio.h:374
 
int record
The record number to be written.
Definition: pio.h:114
 
int nc_put_vard_ulonglong(int ncid, int varid, int decompid, const size_t recnum, const unsigned long long *op)
Put distributed array subset of an unsigned 64-bit integer variable.
Definition: nc_put_vard.c:270
 
int PIOc_inq_attid(int ncid, int varid, const char *name, int *idp)
The PIO-C interface for the NetCDF function nc_inq_attid.
Definition: pio_nc.c:1452
 
int nc_get_vard_ushort(int ncid, int varid, int decompid, const size_t recnum, unsigned short *buf)
Get a muti-dimensional subset of an unsigned 16-bit integer variable.
Definition: nc_get_vard.c:95
 
int PIOc_rename_att(int ncid, int varid, const char *name, const char *newname)
The PIO-C interface for the NetCDF function nc_rename_att.
Definition: pio_nc.c:1725
 
int PIOc_get_vars(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, void *buf)
Get strided, muti-dimensional subset of a variable of the same type as the variable in the file.
Definition: pio_get_nc.c:370
 
int PIOc_get_att_int(int ncid, int varid, const char *name, int *ip)
Get the value of an 32-bit integer array attribute.
Definition: pio_nc.c:2878
 
UT_hash_handle hh
Hash table entry.
Definition: pio.h:581
 
int PIOc_inq_ndims(int ncid, int *ndimsp)
Find out how many dimensions are defined in the file.
Definition: pio_nc.c:225
 
int maxbytes
The maximum number of bytes of this iodesc before flushing.
Definition: pio.h:310
 
int PIOc_put_att_float(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const float *op)
Write a netCDF attribute array of 32-bit floating points.
Definition: pio_nc.c:3111
 
int PIOc_put_att(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const void *op)
Write a netCDF attribute of any type.
Definition: pio_nc.c:2950
 
void * data
Pointer to the data.
Definition: pio.h:532
 
int maxregions
Maximum number of regions in the decomposition.
Definition: pio.h:299
 
bool compproc
True if this task is a member of a computation communicator.
Definition: pio.h:484
 
PIO_REARR_COMM_FC_DIR
Rearranger comm flow control direction.
Definition: pio.h:197
 
int PIOc_put_var1_uint(int ncid, int varid, const PIO_Offset *index, const unsigned int *op)
Put one value from an unsigned integer variable.
Definition: pio_put_nc.c:523
 
int PIOc_get_vard_double(int ncid, int varid, int decompid, const PIO_Offset recnum, double *buf)
Get a muti-dimensional subset of a 64-bit floating point variable.
Definition: pio_get_vard.c:196
 
int nc_put_vard(int ncid, int varid, int decompid, const size_t recnum, const void *buf)
Write distributed array subset of a variable of any type.
Definition: nc_put_vard.c:291
 
int maxfillregions
Used when writing fill data.
Definition: pio.h:368
 
int PIOc_put_vara_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const int *op)
Put muti-dimensional subset of an integer variable.
Definition: pio_put_nc.c:858
 
int writable
True if file can be written to.
Definition: pio.h:568
 
struct iosystem_desc_t * next
Pointer to the next iosystem_desc_t in the list.
Definition: pio.h:496
 
int PIOc_get_vara_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, unsigned int *buf)
Get a muti-dimensional subset of an unsigned integer variable.
Definition: pio_get_nc.c:550
 
int PIOc_get_var1_int(int ncid, int varid, const PIO_Offset *index, int *buf)
Get one value of an integer variable.
Definition: pio_get_nc.c:1101
 
int mpitype_size
The size in bytes of a datum of MPI type mpitype.
Definition: pio.h:322
 
int PIOc_put_vard_longlong(int ncid, int varid, int decompid, const PIO_Offset recnum, const long long *op)
Put distributed array subset of a 64-bit unsigned integer variable.
Definition: pio_put_vard.c:226
 
int PIOc_put_var1_ushort(int ncid, int varid, const PIO_Offset *index, const unsigned short *op)
Put one value from an unsigned 16-bit integer variable.
Definition: pio_put_nc.c:479
 
int comp_rank
The rank of this process in the computation communicator, or -1 if this process is not part of the co...
Definition: pio.h:439
 
int PIOc_init_decomp(int iosysid, int pio_type, int ndims, const int *gdimlen, int maplen, const PIO_Offset *compmap, int *ioidp, int rearranger, const PIO_Offset *iostart, const PIO_Offset *iocount)
Initialize the decomposition used with distributed arrays.
Definition: pioc.c:782
 
MPI_Comm intercomm
This is an MPI inter communicator between IO communicator and computation communicator,...
Definition: pio.h:417
 
int PIOc_get_vard_short(int ncid, int varid, int decompid, const PIO_Offset recnum, short *buf)
Get a muti-dimensional subset of a 16-bit integer variable.
Definition: pio_get_vard.c:116
 
Variable description structure.
Definition: pio.h:103
 
int ndof
Local size of the decomposition array on the compute node.
Definition: pio.h:283
 
bool ioproc
True if this task is a member of the IO communicator.
Definition: pio.h:480
 
int PIOc_get_vard_ushort(int ncid, int varid, int decompid, const PIO_Offset recnum, unsigned short *buf)
Get a muti-dimensional subset of an unsigned 16-bit integer variable.
Definition: pio_get_vard.c:95
 
int ndims
All vars included in this io_desc_t have the same number of dimensions.
Definition: pio.h:287
 
int PIOc_get_var1_short(int ncid, int varid, const PIO_Offset *index, short *buf)
Get one value of a 16-bit integer variable.
Definition: pio_get_nc.c:1039
 
int PIOc_File_is_Open(int ncid)
Check to see if PIO file is open.
Definition: pioc.c:121
 
int PIOc_get_vard_schar(int ncid, int varid, int decompid, const PIO_Offset recnum, signed char *buf)
Get a muti-dimensional subset of a signed char variable.
Definition: pio_get_vard.c:74
 
struct iosystem_desc_t iosystem_desc_t
IO system descriptor structure.
 
int PIOc_get_vars_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, char *buf)
Get strided, muti-dimensional subset of a text variable.
Definition: pio_get_nc.c:41
 
int * rcount
Array (length nrecvs) of counts of data to be received from each computation task by the IO tasks.
Definition: pio.h:339
 
int PIOc_get_numiotasks(int iosysid, int *numiotasks)
Get the number of IO tasks set.
Definition: pioc.c:306
 
UT_hash_handle hh
Hash table entry.
Definition: pio.h:387
 
int PIOc_put_var_short(int ncid, int varid, const short *op)
Put all data to a 16-bit integer variable.
Definition: pio_put_nc.c:1108
 
int PIOc_get_var1_text(int ncid, int varid, const PIO_Offset *index, char *buf)
Get one value of a text variable.
Definition: pio_get_nc.c:959
 
int PIOc_set_fill(int ncid, int fillmode, int *old_modep)
The PIO-C interface for the NetCDF function nc_set_fill.
Definition: pio_nc.c:1902
 
int PIOc_iotask_rank(int iosysid, int *iorank)
Return the rank of this task in the IO communicator or -1 if this task is not in the communicator.
Definition: pioc.c:1466
 
int PIOc_get_vard_uint(int ncid, int varid, int decompid, const PIO_Offset recnum, unsigned int *buf)
Get a muti-dimensional subset of an unsigned integer variable.
Definition: pio_get_vard.c:136
 
int PIOc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned char *op)
Write a netCDF attribute array of 8-bit unsigned chars.
Definition: pio_nc.c:3042
 
int PIOc_put_att_ulonglong(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned long long *op)
Write a netCDF attribute array of 64-bit unsigned integers.
Definition: pio_nc.c:3134
 
int PIOc_inq_att(int ncid, int varid, const char *name, nc_type *xtypep, PIO_Offset *lenp)
The PIO-C interface for the NetCDF function nc_inq_att.
Definition: pio_nc.c:1296
 
int PIOc_get_var(int ncid, int varid, void *buf)
Get all data from a variable the same type as the variable in the file.
Definition: pio_get_nc.c:929
 
int htid
uthash handle for hash of buffers
Definition: pio.h:535
 
rearr_comm_fc_opt_t io2comp
flow control opts, io to comp procs
Definition: pio.h:250
 
@ PIO_IOTYPE_NETCDF4C
NetCDF4 (HDF5) compressed format (serial)
Definition: pio.h:606
 
int PIOc_iotype_available(int iotype)
Return true if this iotype is supported in the build, 0 otherwise.
Definition: pioc.c:1487
 
int PIOc_get_var_ulonglong(int ncid, int varid, unsigned long long *buf)
Get all data of an unsigned 64-bit integer variable.
Definition: pio_get_nc.c:894
 
int PIOc_Set_File_Error_Handling(int ncid, int method)
Set the error handling method to be used for subsequent pio library calls, returns the previous metho...
Definition: pioc.c:149
 
PIO_Offset * rindex
Index for the IO tasks (receive side during writes).
Definition: pio.h:350
 
bool isend
Enable isends - if false use blocking sends.
Definition: pio.h:224
 
int PIOc_put_vars_ulonglong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const unsigned long long *op)
Put strided, muti-dimensional subset of an unsigned 64-bit integer variable.
Definition: pio_put_nc.c:355
 
int fh
The ncid returned for this file by the underlying library (netcdf or pnetcdf).
Definition: pio.h:553
 
int PIOc_put_var1_text(int ncid, int varid, const PIO_Offset *index, const char *op)
Put one value from an text variable.
Definition: pio_put_nc.c:414
 
int PIOc_get_var1_longlong(int ncid, int varid, const PIO_Offset *index, long long *buf)
Get one value of a 64-bit integer variable.
Definition: pio_get_nc.c:1182
 
int PIOc_inq_dimlen(int ncid, int dimid, PIO_Offset *lenp)
Find the length of a dimension.
Definition: pio_nc.c:725
 
File descriptor structure.
Definition: pio.h:546
 
int PIOc_put_var_ushort(int ncid, int varid, const unsigned short *op)
Put all data to a 16-bit unsigned integer variable.
Definition: pio_put_nc.c:1090
 
int PIOc_put_vard(int ncid, int varid, int decompid, const PIO_Offset recnum, const void *buf)
Write distributed array subset of a variable of any type.
Definition: pio_put_vard.c:291
 
iosystem_desc_t * iosystem
The IO system ID used to open this file.
Definition: pio.h:549
 
int PIOc_put_vars_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const long *op)
Put strided, muti-dimensional subset of a 64-bit integer variable.
Definition: pio_put_nc.c:240
 
MPI_Datatype mpi_type
The MPI type of the data.
Definition: pio.h:142
 
int PIOc_write_darray(int ncid, int varid, int ioid, PIO_Offset arraylen, void *array, void *fillvalue)
Write a distributed array to the output file.
Definition: pio_darray.c:638
 
int PIOc_put_var1_int(int ncid, int varid, const PIO_Offset *index, const int *op)
Put one value from an integer variable.
Definition: pio_put_nc.c:545
 
int PIOc_sync(int ncid)
PIO interface to nc_sync This routine is called collectively by all tasks in the communicator ios....
Definition: pio_file.c:393
 
int PIOc_inq_nvars(int ncid, int *nvarsp)
Find out how many variables are defined in a file.
Definition: pio_nc.c:241
 
int comm_type
Comm type - see PIO_REARR_COMM_TYPE.
Definition: pio.h:241
 
PIO_Offset PIOc_set_buffer_size_limit(PIO_Offset limit)
Set the PIO IO node data buffer size limit.
Definition: pio_darray.c:57
 
int PIOc_get_local_array_size(int ioid)
Get the local size of the variable.
Definition: pioc.c:328
 
int PIOc_get_att_schar(int ncid, int varid, const char *name, signed char *ip)
Get the value of an 8-bit signed char array attribute.
Definition: pio_nc.c:2818
 
int PIOc_get_att_uint(int ncid, int varid, const char *name, unsigned int *ip)
Get the value of an 32-bit unsigned integer array attribute.
Definition: pio_nc.c:2756
 
int PIOc_inq_type(int ncid, nc_type xtype, char *name, PIO_Offset *sizep)
Learn the name and size of a type.
Definition: pio_nc.c:429
 
struct file_desc_t file_desc_t
File descriptor structure.
 
int ncint_file
True if this file was opened with the netCDF integration feature.
Definition: pio.h:590
 
int PIOc_get_vard_ulonglong(int ncid, int varid, int decompid, const PIO_Offset recnum, unsigned long long *buf)
Get a muti-dimensional subset of an unsigned 64-bit integer variable.
Definition: pio_get_vard.c:218
 
int PIOc_iam_iotask(int iosysid, bool *ioproc)
Return a logical indicating whether this task is an IO task.
Definition: pioc.c:1441
 
int comproot
Rank of computation root task (which is rank 0 in comm_comms[cmp]) in the union communicator.
Definition: pio.h:459
 
int PIOc_get_vars_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, signed char *buf)
Get strided, muti-dimensional subset of a signed char variable.
Definition: pio_get_nc.c:95
 
UT_hash_handle hh
Hash table entry.
Definition: pio.h:538
 
int * compranks
An array of the ranks of all computation tasks within the union communicator.
Definition: pio.h:467
 
int nc_get_vard_double(int ncid, int varid, int decompid, const size_t recnum, double *buf)
Get a muti-dimensional subset of a 64-bit floating point variable.
Definition: nc_get_vard.c:196
 
int PIOc_put_var_text(int ncid, int varid, const char *op)
Put all data to a text variable.
Definition: pio_put_nc.c:1036
 
int PIOc_get_vard_text(int ncid, int varid, int decompid, const PIO_Offset recnum, char *buf)
Get a muti-dimensional subset of a text variable.
Definition: pio_get_vard.c:34
 
void * fillvalue
Array of fill values used for each var.
Definition: pio.h:529
 
bool hs
Enable handshake.
Definition: pio.h:221
 
int PIOc_put_att_int(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const int *op)
Write a netCDF attribute array of 32-bit signed integers.
Definition: pio_nc.c:3019
 
@ PIO_RETURN_ERROR
Errors are returned to caller with no internal action.
Definition: pio.h:636
 
@ PIO_REARR_COMM_P2P
Point to point.
Definition: pio.h:187
 
int PIOc_put_var_longlong(int ncid, int varid, const long long *op)
Put all data to a 64-bit integer variable.
Definition: pio_put_nc.c:1216
 
int PIOc_get_vara(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, void *buf)
Get a muti-dimensional subset of a variable the same type as the variable in the file.
Definition: pio_get_nc.c:696
 
int PIOc_put_vard_int(int ncid, int varid, int decompid, const PIO_Offset recnum, const int *op)
Put distributed array subset of an integer variable.
Definition: pio_put_vard.c:162
 
int PIOc_put_var1_float(int ncid, int varid, const PIO_Offset *index, const float *op)
Put one value from an floating point variable.
Definition: pio_put_nc.c:566
 
@ PIO_REARR_BOX
Box rearranger.
Definition: pio.h:618
 
int PIOc_get_att_long(int ncid, int varid, const char *name, long *ip)
Get the value of an 32-bit ingeger array attribute.
Definition: pio_nc.c:2776
 
int max_pend_req
Max pending requests (PIO_REARR_COMM_UNLIMITED_PEND_REQ => unlimited pend req).
Definition: pio.h:232
 
int PIOc_readmap(const char *file, int *ndims, int **gdims, PIO_Offset *fmaplen, PIO_Offset **map, MPI_Comm comm)
Read a decomposition map from a file.
Definition: pioc_support.c:1109
 
int PIOc_get_vars_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, int *buf)
Get strided, muti-dimensional subset of an integer variable.
Definition: pio_get_nc.c:204
 
int PIOc_put_vara_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const float *op)
Put muti-dimensional subset of a floating point variable.
Definition: pio_put_nc.c:908
 
int nc_get_vard_short(int ncid, int varid, int decompid, const size_t recnum, short *buf)
Get a muti-dimensional subset of a 16-bit integer variable.
Definition: nc_get_vard.c:116
 
int PIOc_get_var_float(int ncid, int varid, float *buf)
Get all data of a floating point variable.
Definition: pio_get_nc.c:860
 
int PIOc_get_vard(int ncid, int varid, int decompid, const PIO_Offset recnum, void *buf)
Get a muti-dimensional subset of a variable the same type as the variable in the file.
Definition: pio_get_vard.c:260
 
int PIOc_get_vars_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, unsigned short *buf)
Get strided, muti-dimensional subset of an unsigned 16-bit integer variable.
Definition: pio_get_nc.c:123
 
int PIOc_iosystem_is_active(int iosysid, bool *active)
Check to see if PIO has been initialized.
Definition: pioc.c:94
 
@ PIO_IOTYPE_PNETCDF
Parallel Netcdf (parallel)
Definition: pio.h:600
 
int nc_get_iosystem(int *iosysid)
Get the default iosystemID.
Definition: ncint_pio.c:130
 
int PIOc_put_vard_text(int ncid, int varid, int decompid, const PIO_Offset recnum, const char *op)
Put distributed array subset of a text variable.
Definition: pio_put_vard.c:34
 
int ndims
Number of dimensions for this var.
Definition: pio.h:126
 
int PIOc_inq_dimname(int ncid, int dimid, char *name)
Find the name of a dimension.
Definition: pio_nc.c:707
 
int PIOc_put_vard_double(int ncid, int varid, int decompid, const PIO_Offset recnum, const double *op)
Put distributed array subset of a 64-bit floating point variable.
Definition: pio_put_vard.c:248
 
int PIOc_inq(int ncid, int *ndimsp, int *nvarsp, int *ngattsp, int *unlimdimidp)
The PIO-C interface for the NetCDF function nc_inq.
Definition: pio_nc.c:96
 
int PIOc_put_var_float(int ncid, int varid, const float *op)
Put all data to a floating point variable.
Definition: pio_put_nc.c:1180
 
int PIOc_del_att(int ncid, int varid, const char *name)
The PIO-C interface for the NetCDF function nc_del_att.
Definition: pio_nc.c:1818
 
int PIOc_put_vara_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const long long *op)
Put muti-dimensional subset of a 64-bit integer variable.
Definition: pio_put_nc.c:983
 
int PIOc_get_var1_float(int ncid, int varid, const PIO_Offset *index, float *buf)
Get one value of a floating point variable.
Definition: pio_get_nc.c:1121
 
int PIOc_get_vara_ulonglong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, unsigned long long *buf)
Get a muti-dimensional subset of an unsigned 64-bit integer variable.
Definition: pio_get_nc.c:647
 
int PIOc_put_vara_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const signed char *op)
Put muti-dimensional subset of a signed char variable.
Definition: pio_put_nc.c:758
 
int PIOc_get_vars_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, unsigned char *buf)
Get strided, muti-dimensional subset of an unsigned char variable.
Definition: pio_get_nc.c:68
 
int PIOc_get_var_uint(int ncid, int varid, unsigned int *buf)
Get all data of an unsigned integer variable.
Definition: pio_get_nc.c:809
 
int num_aiotasks
The actual number of IO tasks participating.
Definition: pio.h:293
 
int PIOc_read_darray(int ncid, int varid, int ioid, PIO_Offset arraylen, void *array)
Read a field from a file to the IO library using distributed arrays.
Definition: pio_darray.c:861
 
int PIOc_Set_IOSystem_Error_Handling(int iosysid, int method)
Set the error handling method used for subsequent calls.
Definition: pioc.c:351
 
int PIOc_get_att_float(int ncid, int varid, const char *name, float *ip)
Get the value of an 32-bit floating point array attribute.
Definition: pio_nc.c:2918
 
IO region structure.
Definition: pio.h:164
 
int PIOc_put_vars_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const short *op)
Put strided, muti-dimensional subset of a 16-bit integer variable.
Definition: pio_put_nc.c:155
 
int PIOc_get_vard_float(int ncid, int varid, int decompid, const PIO_Offset recnum, float *buf)
Get a muti-dimensional subset of a floating point variable.
Definition: pio_get_vard.c:176
 
int PIOc_free_iosystem(int iosysid)
Clean up internal data structures, and free MPI resources, associated with an IOSystem.
Definition: pioc.c:1335
 
int PIOc_put_vard_ushort(int ncid, int varid, int decompid, const PIO_Offset recnum, const unsigned short *op)
Put distributed array subset of an unsigned 16-bit integer variable.
Definition: pio_put_vard.c:98
 
int PIOc_get_var_schar(int ncid, int varid, signed char *buf)
Get all data of a signed char variable.
Definition: pio_get_nc.c:758
 
rearr_comm_fc_opt_t comp2io
flow control opts, comp to io procs
Definition: pio.h:247
 
int nc_free_decomp(int ioid)
Same as PIOc_freedecomp().
Definition: ncint_pio.c:175
 
int maxiobuflen
Maximum llen participating.
Definition: pio.h:332
 
int PIOc_get_vars_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, float *buf)
Get strided, muti-dimensional subset of a floating point variable.
Definition: pio_get_nc.c:258
 
int error_handler
Controls handling errors.
Definition: pio.h:470
 
int PIOc_put_vars_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const int *op)
Put strided, muti-dimensional subset of an integer variable.
Definition: pio_put_nc.c:212
 
int PIOc_get_vara_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, double *buf)
Get a muti-dimensional subset of a 64-bit floating point variable.
Definition: pio_get_nc.c:622
 
int nc_put_vard_ushort(int ncid, int varid, int decompid, const size_t recnum, const unsigned short *op)
Put distributed array subset of an unsigned 16-bit integer variable.
Definition: nc_put_vard.c:98
 
IO system descriptor structure.
Definition: pio.h:397
 
int PIOc_get_var1_ushort(int ncid, int varid, const PIO_Offset *index, unsigned short *buf)
Get one value of an unsigned 16-bit integer variable.
Definition: pio_get_nc.c:1019
 
int mpi_type_size
The size in bytes of a datum of MPI type mpitype.
Definition: pio.h:145
 
int PIOc_put_var_schar(int ncid, int varid, const signed char *op)
Put all data to a signed char variable.
Definition: pio_put_nc.c:1072
 
int ioid
The ID that describes the decomposition, as returned from PIOc_Init_Decomp().
Definition: pio.h:507
 
int nreqs
Number of requests pending with pnetcdf.
Definition: pio.h:120
 
int nc_put_vard_schar(int ncid, int varid, int decompid, const size_t recnum, const signed char *op)
Put distributed array subset of a signed char variable.
Definition: nc_put_vard.c:76
 
int num_stypes
Number of send MPI types in pio_swapm() call.
Definition: pio.h:359
 
int nc_put_vard_short(int ncid, int varid, int decompid, const size_t recnum, const short *op)
Put distributed array subset of a 16-bit integer variable.
Definition: nc_put_vard.c:119
 
int nc_get_vard_schar(int ncid, int varid, int decompid, const size_t recnum, signed char *buf)
Get a muti-dimensional subset of a signed char variable.
Definition: nc_get_vard.c:74
 
int * request
ID of each outstanding pnetcdf request for this variable.
Definition: pio.h:117
 
int nrecvs
Number of tasks involved in the communication between comp and io tasks.
Definition: pio.h:280
 
PIO_Offset * start
Start array for this region.
Definition: pio.h:171
 
int nc_get_vard_text(int ncid, int varid, int decompid, const size_t recnum, char *buf)
Get a muti-dimensional subset of a text variable.
Definition: nc_get_vard.c:34
 
PIO_Offset * map
A 1-D array with iodesc->maplen elements, which are the 1-based mappings to the global array for that...
Definition: pio.h:269
 
int nc_put_vard_double(int ncid, int varid, int decompid, const size_t recnum, const double *op)
Put distributed array subset of a 64-bit floating point variable.
Definition: nc_put_vard.c:248
 
int PIOc_put_vars_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const double *op)
Put strided, muti-dimensional subset of a 64-bit floating point variable.
Definition: pio_put_nc.c:326
 
#define PIO_Offset
PIO_OFFSET is defined as MPI_Offset, which is defined in pio_internal.h as long long.
Definition: pio.h:30
 
int iotype
The IOTYPE value that was used to open this file.
Definition: pio.h:559
 
MPI_Comm subset_comm
In the subset communicator each io task is associated with a unique group of comp tasks this is the c...
Definition: pio.h:384
 
int PIOc_get_var1_uchar(int ncid, int varid, const PIO_Offset *index, unsigned char *buf)
Get one value of an unsinged char variable.
Definition: pio_get_nc.c:979
 
int PIOc_def_var_endian(int ncid, int varid, int endian)
Set chunksizes for a variable.
Definition: pio_nc4.c:492
 
bool needsfill
Does this decomp leave holes in the field (true) or write everywhere (false)
Definition: pio.h:303
 
int PIOc_get_att_double(int ncid, int varid, const char *name, double *ip)
Get the value of an 64-bit floating point array attribute.
Definition: pio_nc.c:2696
 
int union_rank
Rank of this task in the union communicator.
Definition: pio.h:435
 
PIO_IOTYPE
These are the supported methods of reading/writing netCDF files.
Definition: pio.h:597
 
int PIOc_init_async(MPI_Comm world, int num_io_procs, int *io_proc_list, int component_count, int *num_procs_per_comp, int **proc_list, MPI_Comm *io_comm, MPI_Comm *comp_comm, int rearranger, int *iosysidp)
Library initialization used when IO tasks are distinct from compute tasks.
Definition: pioc.c:1588
 
int PIOc_get_var1_schar(int ncid, int varid, const PIO_Offset *index, signed char *buf)
Get one value of a signed char variable.
Definition: pio_get_nc.c:999
 
int PIOc_rename_dim(int ncid, int dimid, const char *name)
The PIO-C interface for the NetCDF function nc_rename_dim.
Definition: pio_nc.c:1546
 
int nc_def_async(MPI_Comm world, int num_io_procs, int *io_proc_list, int component_count, int *num_procs_per_comp, int **proc_list, MPI_Comm *io_comm, MPI_Comm *comp_comm, int rearranger, int *iosysidp)
Same as PIOc_init_async().
Definition: ncint_pio.c:77
 
int * remap
If the map passed in is not monotonically increasing then map is sorted and remap is an array of orig...
Definition: pio.h:276
 
rearr_opt_t rearr_opts
Rearranger options.
Definition: pio.h:493
 
IO descriptor structure.
Definition: pio.h:259
 
MPI_Datatype mpitype
The MPI type of the data.
Definition: pio.h:319
 
int PIOc_put_vars_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const unsigned short *op)
Put strided, muti-dimensional subset of an unsigned 16-bit integer variable.
Definition: pio_put_nc.c:127
 
struct io_region * next
Pointer to the next io_region in the list.
Definition: pio.h:177
 
int PIOc_put_var_long(int ncid, int varid, const long *op)
Put all data to an integer variable.
Definition: pio_put_nc.c:1162
 
int PIOc_inq_var_chunking(int ncid, int varid, int *storagep, PIO_Offset *chunksizesp)
Inquire about chunksizes for a variable.
Definition: pio_nc4.c:361
 
int nc_get_vard_uint(int ncid, int varid, int decompid, const size_t recnum, unsigned int *buf)
Get a muti-dimensional subset of an unsigned integer variable.
Definition: nc_get_vard.c:136
 
int PIOc_init_async_from_comms(MPI_Comm world, int component_count, MPI_Comm *comp_comm, MPI_Comm io_comm, int rearranger, int *iosysidp)
Library initialization used when IO tasks are distinct from compute tasks.
Definition: pioc.c:2046
 
struct wmulti_buffer wmulti_buffer
The multi buffer holds data from one or more variables.
 
int PIOc_openfile2(int iosysid, int *ncidp, int *iotype, const char *fname, int mode)
Open an existing file using PIO library.
Definition: pio_file.c:85
 
MPI_Datatype * stype
Array of send MPI types in pio_swapm() call.
Definition: pio.h:356
 
int PIOc_Init_Intracomm(MPI_Comm comp_comm, int num_iotasks, int stride, int base, int rearr, int *iosysidp)
Library initialization used when IO tasks are a subset of compute tasks.
Definition: pioc.c:940
 
PIO_ERROR_HANDLERS
These are the supported error handlers.
Definition: pio.h:627
 
int fcd
Comm flow control dir - see PIO_REARR_COMM_FC_DIR.
Definition: pio.h:244
 
int PIOc_inq_var_endian(int ncid, int varid, int *endianp)
Inquire about chunksizes for a variable.
Definition: pio_nc4.c:569
 
int PIOc_put_vars_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const long long *op)
Put strided, muti-dimensional subset of a 64-bit unsigned integer variable.
Definition: pio_put_nc.c:297
 
int PIOc_put_vara_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned int *op)
Put muti-dimensional subset of an unsigned integer variable.
Definition: pio_put_nc.c:833
 
int PIOc_inq_attlen(int ncid, int varid, const char *name, PIO_Offset *lenp)
Get the length of an attribute.
Definition: pio_nc.c:1315
 
int PIOc_open(int iosysid, const char *path, int mode, int *ncidp)
Open an existing file using PIO library.
Definition: pio_file.c:107
 
int pio_type
PIO data type.
Definition: pio.h:578
 
PIO_REARRANGERS
These are the supported output data rearrangement methods.
Definition: pio.h:615
 
int PIOc_read_nc_decomp(int iosysid, const char *filename, int *ioid, MPI_Comm comm, int pio_type, char *title, char *history, int *fortran_order)
Read the decomposition map from a netCDF decomp file produced by PIOc_write_nc_decomp().
Definition: pioc_support.c:1361
 
int PIOc_write_decomp(const char *file, int iosysid, int ioid, MPI_Comm comm)
Write the decomposition map to a file.
Definition: pioc_support.c:1853
 
struct io_region io_region
IO region structure.
 
int PIOc_def_dim(int ncid, const char *name, PIO_Offset len, int *idp)
The PIO-C interface for the NetCDF function nc_def_dim.
Definition: pio_nc.c:2036
 
int PIOc_inq_varname(int ncid, int varid, char *name)
Get the name of a variable.
Definition: pio_nc.c:1008
 
int PIOc_put_vara_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned short *op)
Put muti-dimensional subset of an unsigned 16-bit integer variable.
Definition: pio_put_nc.c:783
 
Rearranger options.
Definition: pio.h:238
 
int comp_idx
Index of this component in the list of components.
Definition: pio.h:490
 
int nc_def_decomp(int iosysid, int pio_type, int ndims, const int *gdimlen, int maplen, const size_t *compmap, int *ioidp, int rearranger, const size_t *iostart, const size_t *iocount)
Same as PIOc_init_decomp().
Definition: ncint_pio.c:158
 
int * frame
An array of current record numbers, for record vars.
Definition: pio.h:526
 
int nc_get_vard_float(int ncid, int varid, int decompid, const size_t recnum, float *buf)
Get a muti-dimensional subset of a floating point variable.
Definition: nc_get_vard.c:176
 
int PIOc_inq_varnatts(int ncid, int varid, int *nattsp)
Find the number of attributes associated with a variable.
Definition: pio_nc.c:1076
 
int PIOc_get_vars_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, long long *buf)
Get strided, muti-dimensional subset of a 64-bit int variable.
Definition: pio_get_nc.c:342
 
@ PIO_REARR_COMM_COLL
Collective.
Definition: pio.h:190
 
PIO_Offset * sindex
Array (length ndof) for the BOX rearranger with the index for computation taks (send side during writ...
Definition: pio.h:347
 
int PIOc_put_att_longlong(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const long long *op)
Write a netCDF attribute array of 64-bit signed integers.
Definition: pio_nc.c:3065
 
int PIOc_put_vara_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const double *op)
Put muti-dimensional subset of a 64-bit integer variable.
Definition: pio_put_nc.c:933
 
@ PIO_REARR_COMM_FC_1D_COMP2IO
Comp procs to io procs only.
Definition: pio.h:203
 
int PIOc_get_var1_uint(int ncid, int varid, const PIO_Offset *index, unsigned int *buf)
Get one value of an unsigned integer variable.
Definition: pio_get_nc.c:1061
 
MPI_Comm comp_comm
This is an MPI intra communicator that includes all the tasks involved in computation.
Definition: pio.h:413
 
int PIOc_get_var1_long(int ncid, int varid, const PIO_Offset *index, long *buf)
Get one value of a 64-bit integer variable.
Definition: pio_get_nc.c:1081
 
int rec_var
Non-zero if this is a record var (i.e.
Definition: pio.h:110
 
int PIOc_inq_varid(int ncid, const char *name, int *varidp)
The PIO-C interface for the NetCDF function nc_inq_varid.
Definition: pio_nc.c:1098
 
int PIOc_put_vara_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const char *op)
Put muti-dimensional subset of a text variable.
Definition: pio_put_nc.c:708
 
int PIOc_def_var_deflate(int ncid, int varid, int shuffle, int deflate, int deflate_level)
Set deflate (zlib) settings for a variable.
Definition: pio_nc4.c:34
 
MPI_Info info
MPI Info object.
Definition: pio.h:487
 
int PIOc_get_var_int(int ncid, int varid, int *buf)
Get all data of an integer variable.
Definition: pio_get_nc.c:826
 
int nc_get_vard_ulonglong(int ncid, int varid, int decompid, const size_t recnum, unsigned long long *buf)
Get a muti-dimensional subset of an unsigned 64-bit integer variable.
Definition: nc_get_vard.c:218
 
MPI_Comm io_comm
This is an MPI intra communicator that includes all the tasks involved in IO.
Definition: pio.h:409
 
int PIOc_deletefile(int iosysid, const char *filename)
Delete a file.
Definition: pio_file.c:315
 
int PIOc_put_att_text(int ncid, int varid, const char *name, PIO_Offset len, const char *op)
Write a netCDF text attribute.
Definition: pio_nc.c:3179
 
@ PIO_REARR_COMM_FC_2D_ENABLE
Comp procs to io procs and vice versa.
Definition: pio.h:200
 
int iosysid
The ID of this iosystem_desc_t.
Definition: pio.h:401
 
PIO_Offset * count
Count array for this region.
Definition: pio.h:174
 
Rearranger comm flow control options.
Definition: pio.h:218
 
bool async
True if asynchronous interface is in use.
Definition: pio.h:477
 
int PIOc_get_vara_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, signed char *buf)
Get a muti-dimensional subset of a signed char variable.
Definition: pio_get_nc.c:453
 
int maxholegridsize
max holegridsize across all io tasks, needed for netcdf and netcdf4c serial
Definition: pio.h:365
 
int PIOc_put_var1_short(int ncid, int varid, const PIO_Offset *index, const short *op)
Put one value from a 16-bit integer variable.
Definition: pio_put_nc.c:501
 
int default_rearranger
The rearranger decides which parts of a distributed array are handled by which IO tasks.
Definition: pio.h:474
 
int PIOc_get_vara_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, char *buf)
Get a muti-dimensional subset of a text variable.
Definition: pio_get_nc.c:405
 
int pio_type_size
The size, in bytes, of the PIO data type.
Definition: pio.h:139
 
int PIOc_get_vard_longlong(int ncid, int varid, int decompid, const PIO_Offset recnum, long long *buf)
Get a muti-dimensional subset of a 64-bit integer variable.
Definition: pio_get_vard.c:239
 
MPI_Comm my_comm
This is a copy (but not an MPI copy) of either the comp (for non-async) or the union (for async) comm...
Definition: pio.h:421
 
int PIOc_put_vard_short(int ncid, int varid, int decompid, const PIO_Offset recnum, const short *op)
Put distributed array subset of a 16-bit integer variable.
Definition: pio_put_vard.c:119
 
int PIOc_get_var_ushort(int ncid, int varid, unsigned short *buf)
Get all data of an unsigned 16-bit integer variable.
Definition: pio_get_nc.c:775
 
int pio_type
The PIO data type.
Definition: pio.h:136
 
struct var_desc_t * varlist
List of variables in this file.
Definition: pio.h:562
 
int PIOc_put_att_ushort(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned short *op)
Write a netCDF attribute array of 16-bit unsigned integers.
Definition: pio_nc.c:3157
 
int PIOc_redef(int ncid)
The PIO-C interface for the NetCDF function nc_redef.
Definition: pio_nc.c:2013
 
int PIOc_put_vars_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const char *op)
Put strided, muti-dimensional subset of a text variable.
Definition: pio_put_nc.c:41
 
int PIOc_get_att_short(int ncid, int varid, const char *name, short *ip)
Get the value of an 16-bit integer array attribute.
Definition: pio_nc.c:2858
 
int PIOc_inq_var(int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
The PIO-C interface for the NetCDF function nc_inq_var.
Definition: pio_nc.c:848
 
int PIOc_get_vara_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, int *buf)
Get a muti-dimensional subset of an integer variable.
Definition: pio_get_nc.c:574
 
The multi buffer holds data from one or more variables.
Definition: pio.h:503
 
int nc_put_vard_longlong(int ncid, int varid, int decompid, const size_t recnum, const long long *op)
Put distributed array subset of a 64-bit unsigned integer variable.
Definition: nc_put_vard.c:226
 
int piotype_size
The size of one element of the piotype.
Definition: pio.h:316
 
int PIOc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip)
Get the value of an 8-bit unsigned char array attribute.
Definition: pio_nc.c:2716
 
@ PIO_REARR_COMM_FC_1D_IO2COMP
IO procs to comp procs only.
Definition: pio.h:206
 
int PIOc_put_var1_longlong(int ncid, int varid, const PIO_Offset *index, const long long *op)
Put one value from a 64-bit integer variable.
Definition: pio_put_nc.c:652
 
int PIOc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep)
The PIO-C interface for the NetCDF function nc_inq_var_fill.
Definition: pio_nc.c:2469
 
int PIOc_set_var_chunk_cache(int ncid, int varid, PIO_Offset size, PIO_Offset nelems, float preemption)
Set chunksizes for a variable.
Definition: pio_nc4.c:885
 
int PIOc_put_vara_ulonglong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned long long *op)
Put muti-dimensional subset of an unsigned 64-bit integer variable.
Definition: pio_put_nc.c:958
 
int PIOc_enddef(int ncid)
The PIO-C interface for the NetCDF function nc_enddef.
Definition: pio_nc.c:1993
 
rearr_opt_t rearr_opts
Rearranger flow control options (handshake, non-blocking sends, pending requests)
Definition: pio.h:379
 
int nvars
Number of variables.
Definition: pio.h:565
 
int PIOc_put_vard_schar(int ncid, int varid, int decompid, const PIO_Offset recnum, const signed char *op)
Put distributed array subset of a signed char variable.
Definition: pio_put_vard.c:76
 
int PIOc_get_att_longlong(int ncid, int varid, const char *name, long long *ip)
Get the value of an 64-bit integer array attribute.
Definition: pio_nc.c:2898
 
int PIOc_get_var1_double(int ncid, int varid, const PIO_Offset *index, double *buf)
Get one value of a 64-bit floating point variable.
Definition: pio_get_nc.c:1141
 
int PIOc_get_vard_int(int ncid, int varid, int decompid, const PIO_Offset recnum, int *buf)
Get a muti-dimensional subset of an integer variable.
Definition: pio_get_vard.c:156
 
int compmaster
Set to MPI_ROOT if this task is the master of comp communicator, 0 otherwise.
Definition: pio.h:451
 
int PIOc_get_vars_ulonglong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, unsigned long long *buf)
Get strided, muti-dimensional subset of an unsigned 64-bit int variable.
Definition: pio_get_nc.c:314
 
int PIOc_put_vars_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const float *op)
Put strided, muti-dimensional subset of a floating point variable.
Definition: pio_put_nc.c:268
 
int PIOc_get_vara_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, long long *buf)
Get a muti-dimensional subset of a 64-bit integer variable.
Definition: pio_get_nc.c:671
 
struct var_desc_t var_desc_t
Variable description structure.
 
int PIOc_get_chunk_cache(int iosysid, int iotype, PIO_Offset *sizep, PIO_Offset *nelemsp, float *preemptionp)
Get current file chunk cache settings from HDF5.
Definition: pio_nc4.c:765
 
int PIOc_get_var_short(int ncid, int varid, short *buf)
Get all data of a 16-bit integer variable.
Definition: pio_get_nc.c:792
 
int PIOc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const signed char *op)
Write a netCDF attribute array of 8-bit signed chars.
Definition: pio_nc.c:2973
 
int PIOc_get_var_longlong(int ncid, int varid, long long *buf)
Get all data of a 64-bit integer variable.
Definition: pio_get_nc.c:911
 
int PIOc_inq_dim(int ncid, int dimid, char *name, PIO_Offset *lenp)
The PIO-C interface for the NetCDF function nc_inq_dim.
Definition: pio_nc.c:604
 
int PIOc_get_var_long(int ncid, int varid, long *buf)
Get all data of a 64-bit integer variable.
Definition: pio_get_nc.c:843
 
int PIOc_get_vara_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, float *buf)
Get a muti-dimensional subset of a floating point variable.
Definition: pio_get_nc.c:598
 
int PIOc_inq_dimid(int ncid, const char *name, int *idp)
The PIO-C interface for the NetCDF function nc_inq_dimid.
Definition: pio_nc.c:747
 
int PIOc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp)
Find out the dimension ids of all unlimited dimensions.
Definition: pio_nc.c:292
 
int PIOc_get_var_uchar(int ncid, int varid, unsigned char *buf)
Get all data of an unsigned char variable.
Definition: pio_get_nc.c:741
 
void * fillbuf
Buffer that contains the holegrid fill values used to fill in missing sections of data when using the...
Definition: pio.h:133
 
int PIOc_inq_natts(int ncid, int *ngattsp)
Find out how many global attributes are defined in a file.
Definition: pio_nc.c:256
 
int PIOc_get_vars_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, long *buf)
Get strided, muti-dimensional subset of a 64-bit int variable.
Definition: pio_get_nc.c:231
 
int nc_put_vard_uchar(int ncid, int varid, int decompid, const size_t recnum, const unsigned char *op)
Put distributed array subset of an unsigned char variable.
Definition: nc_put_vard.c:55
 
int PIOc_get_vara_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, unsigned char *buf)
Get a muti-dimensional subset of an unsigned char variable.
Definition: pio_get_nc.c:429
 
@ PIO_INTERNAL_ERROR
Errors cause abort.
Definition: pio.h:630
 
int PIOc_get_vars_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, short *buf)
Get strided, muti-dimensional subset of a 16-bit integer variable.
Definition: pio_get_nc.c:150
 
int PIOc_put_vara_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const long *op)
Put muti-dimensional subset of an integer variable.
Definition: pio_put_nc.c:883
 
struct io_desc_t io_desc_t
IO descriptor structure.
 
int PIOc_get_vara_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, long *buf)
Get a muti-dimensional subset of a 64-bit integer variable.
Definition: pio_get_nc.c:526
 
int nc_put_vard_uint(int ncid, int varid, int decompid, const size_t recnum, const unsigned int *op)
Put distributed array subset of an unsigned integer variable.
Definition: nc_put_vard.c:141
 
int nc_free_iosystem(int iosysid)
Same as PIOc_free_iosystem().
Definition: ncint_pio.c:147
 
struct wmulti_buffer * buffer
The wmulti_buffer is used to aggregate multiple variables with the same communication pattern prior t...
Definition: pio.h:572
 
int loffset
The offset from the beginning of the data buffer to the beginning of this region.
Definition: pio.h:168
 
int pio_ncid
The ncid that will be returned to the user.
Definition: pio.h:556
 
int PIOc_set_log_level(int level)
Set the logging level if PIO was built with PIO_ENABLE_LOGGING.
Definition: pioc_support.c:161
 
int PIOc_create(int iosysid, const char *path, int cmode, int *ncidp)
Open a new file using pio.
Definition: pio_file.c:186
 
int nc_get_vard_uchar(int ncid, int varid, int decompid, const size_t recnum, unsigned char *buf)
Get a muti-dimensional subset of an unsigned char variable.
Definition: nc_get_vard.c:54
 
int PIOc_put_vard_uint(int ncid, int varid, int decompid, const PIO_Offset recnum, const unsigned int *op)
Put distributed array subset of an unsigned integer variable.
Definition: pio_put_vard.c:141
 
int varid
Variable ID.
Definition: pio.h:106
 
int num_uniontasks
The number of tasks in the union communicator (will be num_comptasks for non-async,...
Definition: pio.h:432
 
int PIOc_put_vars_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const signed char *op)
Put strided, muti-dimensional subset of a signed char variable.
Definition: pio_put_nc.c:98
 
int nc_get_vard(int ncid, int varid, int decompid, const size_t recnum, void *buf)
Get a muti-dimensional subset of a variable the same type as the variable in the file.
Definition: nc_get_vard.c:260
 
int PIOc_rename_var(int ncid, int varid, const char *name)
The PIO-C interface for the NetCDF function nc_rename_var.
Definition: pio_nc.c:1635
 
int do_io
True if this task should participate in IO (only true for one task with netcdf serial files.
Definition: pio.h:585
 
int PIOc_put_vara_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned char *op)
Put muti-dimensional subset of an unsigned char variable.
Definition: pio_put_nc.c:733
 
int ioroot
Rank of IO root task (which is rank 0 in io_comm) in the union communicator.
Definition: pio.h:455
 
int PIOc_def_var(int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
The PIO-C interface for the NetCDF function nc_def_var.
Definition: pio_nc.c:2131
 
int PIOc_get_att_ushort(int ncid, int varid, const char *name, unsigned short *ip)
Get the value of an 16-bit unsigned integer array attribute.
Definition: pio_nc.c:2736
 
int PIOc_get_var_double(int ncid, int varid, double *buf)
Get all data of a 64-bit floating point variable.
Definition: pio_get_nc.c:877
 
int PIOc_put_var1_schar(int ncid, int varid, const PIO_Offset *index, const signed char *op)
Put one value from an signed char variable.
Definition: pio_put_nc.c:457
 
int PIOc_inq_attname(int ncid, int varid, int attnum, char *name)
The PIO-C interface for the NetCDF function nc_inq_attname.
Definition: pio_nc.c:1356
 
int PIOc_writemap(const char *file, int ndims, const int *gdims, PIO_Offset maplen, PIO_Offset *map, MPI_Comm comm)
Write the decomposition map to a file.
Definition: pioc_support.c:1883
 
int PIOc_def_var_fill(int ncid, int varid, int no_fill, const void *fill_value)
Set the fill value for a variable.
Definition: pio_nc.c:2336
 
int PIOc_inq_varndims(int ncid, int varid, int *ndimsp)
Find the number of dimensions of a variable.
Definition: pio_nc.c:1042
 
int PIOc_get_var_text(int ncid, int varid, char *buf)
Get all data of a text variable.
Definition: pio_get_nc.c:724
 
int PIOc_def_var_chunking(int ncid, int varid, int storage, const PIO_Offset *chunksizesp)
Set chunksizes for a variable.
Definition: pio_nc4.c:238
 
int PIOc_inq_unlimdim(int ncid, int *unlimdimidp)
Find out the dimension ids of the unlimited dimension.
Definition: pio_nc.c:272
 
int nc_set_iosystem(int iosysid)
Set the default iosystemID.
Definition: ncint_pio.c:113
 
int PIOc_inq_var_deflate(int ncid, int varid, int *shufflep, int *deflatep, int *deflate_levelp)
This function only applies to netCDF-4 files.
Definition: pio_nc4.c:125
 
int PIOc_get_att_text(int ncid, int varid, const char *name, char *ip)
Get the value of an text attribute.
Definition: pio_nc.c:2798
 
int PIOc_put_var1_uchar(int ncid, int varid, const PIO_Offset *index, const unsigned char *op)
Put one value from an text variable.
Definition: pio_put_nc.c:435
 
int PIOc_set_blocksize(int newblocksize)
Set the target blocksize for the box rearranger.
Definition: pioc.c:2168
 
int PIOc_get_vars_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, unsigned int *buf)
Get strided, muti-dimensional subset of an unsigned integer variable.
Definition: pio_get_nc.c:177
 
int PIOc_write_darray_multi(int ncid, const int *varids, int ioid, int nvars, PIO_Offset arraylen, void *array, const int *frame, void **fillvalue, bool flushtodisk)
Write one or more arrays with the same IO decomposition to the file.
Definition: pio_darray.c:123
 
@ PIO_IOTYPE_NETCDF
Netcdf3 Classic format (serial)
Definition: pio.h:603
 
PIO_Offset llen
Length of the iobuffer on this task for a single field on the IO node.
Definition: pio.h:329
 
int PIOc_put_vard_float(int ncid, int varid, int decompid, const PIO_Offset recnum, const float *op)
Put distributed array subset of a floating point variable.
Definition: pio_put_vard.c:204
 
int PIOc_put_var1(int ncid, int varid, const PIO_Offset *index, const void *buf)
Put one value from a variable of any type.
Definition: pio_put_nc.c:674
 
int PIOc_put_var_ulonglong(int ncid, int varid, const unsigned long long *op)
Put all data to an unsigned 64-bit integer variable.
Definition: pio_put_nc.c:1198
 
int rearranger
The rearranger in use for this variable.
Definition: pio.h:296
 
void * fillvalue
Holds the fill value of this var.
Definition: pio.h:123
 
int PIOc_inq_vardimid(int ncid, int varid, int *dimidsp)
Find the dimension IDs associated with a variable.
Definition: pio_nc.c:1059
 
int PIOc_put_var_uint(int ncid, int varid, const unsigned int *op)
Put all data to an unsigned integer variable.
Definition: pio_put_nc.c:1126
 
int PIOc_get_att(int ncid, int varid, const char *name, void *ip)
Get the value of an attribute of any type, with no type conversion.
Definition: pio_nc.c:2655
 
int PIOc_put_att_short(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const short *op)
Write a netCDF attribute array of 16-bit integers.
Definition: pio_nc.c:3202
 
int ioid
The ID of this io_desc_t.
Definition: pio.h:262
 
int num_arrays
Number of arrays of data in the multibuffer.
Definition: pio.h:515
 
io_region * firstregion
Linked list of regions.
Definition: pio.h:371
 
int PIOc_put_var_double(int ncid, int varid, const double *op)
Put all data to a 64-bit floating point variable.
Definition: pio_put_nc.c:1234
 
int PIOc_setframe(int ncid, int varid, int frame)
Set the unlimited dimension of the given variable.
Definition: pioc.c:243
 
int PIOc_set_global_log_level(int iosysid, int level)
Set the logging level value from the root compute task on all tasks if PIO was built with PIO_ENABLE_...
Definition: pioc_support.c:193
 
@ PIO_IOTYPE_NETCDF4P
NetCDF4 (HDF5) parallel.
Definition: pio.h:609
 
int PIOc_put_var1_double(int ncid, int varid, const PIO_Offset *index, const double *op)
Put one value from an 64-bit floating point variable.
Definition: pio_put_nc.c:608
 
int PIOc_put_var1_ulonglong(int ncid, int varid, const PIO_Offset *index, const unsigned long long *op)
Put one value from an unsigned 64-bit integer variable.
Definition: pio_put_nc.c:630
 
int PIOc_put_var(int ncid, int varid, const void *buf)
Put all data to a variable of any type.
Definition: pio_put_nc.c:1252
 
int PIOc_get_var_chunk_cache(int ncid, int varid, PIO_Offset *sizep, PIO_Offset *nelemsp, float *preemptionp)
Get the variable chunk cache settings.
Definition: pio_nc4.c:972
 
int PIOc_finalize(int iosysid)
Shut down an iosystem and free all associated resources.
 
int PIOc_inq_vartype(int ncid, int varid, nc_type *xtypep)
Find the type of a variable.
Definition: pio_nc.c:1025
 
int PIOc_get_vars_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, double *buf)
Get strided, muti-dimensional subset of a 64-bit floating point variable.
Definition: pio_get_nc.c:286
 
int num_comptasks
The number of tasks in the computation communicator.
Definition: pio.h:427
 
int PIOc_set_chunk_cache(int iosysid, int iotype, PIO_Offset size, PIO_Offset nelems, float preemption)
Set chunk cache netCDF files to be opened/created.
Definition: pio_nc4.c:663
 
int use_fill
Non-zero if fill mode is turned on for this var.
Definition: pio.h:129
 
void * iobuf
Data buffer for this file.
Definition: pio.h:575
 
int PIOc_closefile(int ncid)
Close a file previously opened with PIO.
Definition: pio_file.c:215
 
int PIOc_get_vara_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, unsigned short *buf)
Get a muti-dimensional subset of an unsigned 16-bit integer variable.
Definition: pio_get_nc.c:478
 
int PIOc_createfile(int iosysid, int *ncidp, int *iotype, const char *fname, int mode)
Create a new file using pio.
Definition: pio_file.c:147
 
int maplen
The length of the decomposition map.
Definition: pio.h:265
 
int PIOc_get_att_ulonglong(int ncid, int varid, const char *name, unsigned long long *ip)
Get the value of an 64-bit unsigned integer array attribute.
Definition: pio_nc.c:2838
 
int * rfrom
Array (length nrecvs) of computation tasks received from.
Definition: pio.h:335
 
int PIOc_set_rearr_opts(int iosysid, int comm_type, int fcd, bool enable_hs_c2i, bool enable_isend_c2i, int max_pend_req_c2i, bool enable_hs_i2c, bool enable_isend_i2c, int max_pend_req_i2c)
Set the rearranger options associated with an iosystem.
Definition: pioc_support.c:3133
 
PIO_REARR_COMM_TYPE
Rearranger comm type.
Definition: pio.h:184
 
int PIOc_put_vara(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const void *buf)
Put muti-dimensional subset of a variable of any type.
Definition: pio_put_nc.c:1008
 
int num_iotasks
The number of tasks in the IO communicator.
Definition: pio.h:424
 
int io_rank
The rank of this process in the IO communicator, or -1 if this process is not part of the IO communic...
Definition: pio.h:443
 
int holegridsize
Used when writing fill data.
Definition: pio.h:362
 
int PIOc_freedecomp(int iosysid, int ioid)
Free a decomposition map.
Definition: pioc_support.c:993
 
int PIOc_put_vars_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const unsigned char *op)
Put strided, muti-dimensional subset of an unsigned char variable.
Definition: pio_put_nc.c:69
 
int nc_get_vard_longlong(int ncid, int varid, int decompid, const size_t recnum, long long *buf)
Get a muti-dimensional subset of a 64-bit integer variable.
Definition: nc_get_vard.c:239
 
@ PIO_REARR_COMM_FC_2D_DISABLE
Disable flow control.
Definition: pio.h:209
 
int PIOc_get_var1_ulonglong(int ncid, int varid, const PIO_Offset *index, unsigned long long *buf)
Get one value of an unsigned 64-bit integer variable.
Definition: pio_get_nc.c:1161