ParallelIO
pio.h
Go to the documentation of this file.
1 
10 #ifndef _PIO_H_
11 #define _PIO_H_
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <stdbool.h>
15 #include <string.h> // memcpy
16 #include <mpi.h>
17 
18 #ifdef _NETCDF
19 #include <netcdf.h>
20 #ifdef _NETCDF4
21 #include <netcdf_par.h>
22 #endif
23 #endif
24 #ifdef _PNETCDF
25 #include <pnetcdf.h>
26 #endif
27 
28 #ifndef MPI_OFFSET
29 
32 #define MPI_OFFSET MPI_LONG_LONG
33 #endif
34 
37 #define PIO_OFFSET MPI_OFFSET
38 #define PIO_Offset MPI_Offset
39 
41 #define PIO_MAX_VARS NC_MAX_VARS
42 
46 typedef struct var_desc_t
47 {
50  int record;
51 
53  int ndims;
54 
56  int *request;
57 
59  int nreqs;
60 
62  void *fillbuf;
63 
65  void *iobuf;
66 } var_desc_t;
67 
76 typedef struct io_region
77 {
78  int loffset;
79  PIO_Offset *start;
80  PIO_Offset *count;
81  struct io_region *next;
82 } io_region;
83 
90 typedef struct io_desc_t
91 {
93  int ioid;
94  int async_id;
95  int nrecvs;
96  int ndof;
97  int ndims;
98  int num_aiotasks;
99  int rearranger;
100  int maxregions;
101  bool needsfill; // Does this decomp leave holes in the field (true) or write everywhere (false)
102 
104  int maxbytes;
105  MPI_Datatype basetype;
106  PIO_Offset llen;
107  int maxiobuflen;
108  PIO_Offset *gsize;
109 
110  int *rfrom;
111  int *rcount;
112  int *scount;
113  PIO_Offset *sindex;
114  PIO_Offset *rindex;
115 
116  MPI_Datatype *rtype;
117  MPI_Datatype *stype;
118  int num_stypes;
119  int holegridsize;
120  int maxfillregions;
121  io_region *firstregion;
122  io_region *fillregion;
123 
124  bool handshake;
125  bool isend;
126  int max_requests;
127 
128  MPI_Comm subset_comm;
129 
131  struct io_desc_t *next;
132 } io_desc_t;
133 
140 typedef struct iosystem_desc_t
141 {
144  int iosysid;
145 
148  MPI_Comm union_comm;
149 
152  MPI_Comm io_comm;
153 
156  MPI_Comm comp_comm;
157 
160  MPI_Comm intercomm;
161 
164  MPI_Comm my_comm;
165 
168  MPI_Group compgroup;
169 
171  MPI_Group iogroup;
172 
175 
178 
181 
185 
188  int io_rank;
189 
192  int iomaster;
193 
197 
200  int ioroot;
201 
205  int comproot;
206 
209  int *ioranks;
210 
213 
217 
220 
222  bool ioproc;
223 
225  MPI_Info info;
226 
228  int comp_idx;
229 
233 
237 typedef struct wmulti_buffer
238 {
239  int ioid;
240  int validvars;
241  int arraylen;
242  int *vid;
243  int *frame;
244  void *fillvalue;
245  void *data;
246  struct wmulti_buffer *next;
247 } wmulti_buffer;
248 
254 typedef struct file_desc_t
255 {
258 
260  /* PIO_Offset buffsize;*/
261 
264  int fh;
265 
267  int iotype;
268 
270  struct var_desc_t varlist[PIO_MAX_VARS];
271 
273  int mode;
274 
276  struct wmulti_buffer buffer;
277 
279  struct file_desc_t *next;
280 
283  int do_io;
284 } file_desc_t;
285 
291  {
294 
297 
300 
303  };
304 
309  {
312 
315  };
316 
321  {
324 
327 
330  };
331 
333 #if defined( _PNETCDF) || defined(_NETCDF)
334 #define PIO_GLOBAL NC_GLOBAL
335 #define PIO_UNLIMITED NC_UNLIMITED
336 #define PIO_DOUBLE NC_DOUBLE
337 #define PIO_REAL NC_FLOAT
338 #define PIO_FLOAT NC_FLOAT
339 #define PIO_INT NC_INT
340 #define PIO_CHAR NC_CHAR
341 #define PIO_NOERR NC_NOERR
342 #define PIO_WRITE NC_WRITE
343 #define PIO_NOWRITE NC_NOWRITE
344 #define PIO_CLOBBER NC_CLOBBER
345 #define PIO_NOCLOBBER NC_NOCLOBBER
346 #define PIO_NOFILL NC_NOFILL
347 #define PIO_MAX_NAME NC_MAX_NAME
348 #define PIO_MAX_VAR_DIMS NC_MAX_VAR_DIMS
349 #define PIO_64BIT_OFFSET NC_64BIT_OFFSET
350 // NC_64BIT_DATA This is a problem - need to define directly instead of using include file
351 #define PIO_64BIT_DATA 0x0010
352 #define PIO_EBADID NC_EBADID
353 #define PIO_ENFILE NC_ENFILE
354 #define PIO_EEXIST NC_EEXIST
355 #define PIO_EINVAL NC_EINVAL
356 #define PIO_EPERM NC_EPERM
357 #define PIO_ENOTINDEFINE NC_ENOTINDEFINE
358 #define PIO_EINDEFINE NC_EINDEFINE
359 #define PIO_EINVALCOORDS NC_EINVALCOORDS
360 #define PIO_EMAXDIMS NC_EMAXDIMS
361 #define PIO_ENAMEINUSE NC_ENAMEINUSE
362 #define PIO_ENOTATT NC_ENOTATT
363 #define PIO_EMAXATTS NC_EMAXATTS
364 #define PIO_EBADTYPE NC_EBADTYPE
365 #define PIO_EBADDIM NC_EBADDIM
366 #define PIO_EUNLIMPOS NC_EUNLIMPOS
367 #define PIO_EMAXVARS NC_EMAXVARS
368 #define PIO_ENOTVAR NC_ENOTVAR
369 #define PIO_EGLOBAL NC_EGLOBAL
370 #define PIO_ENOTNC NC_ENOTNC
371 #define PIO_ESTS NC_ESTS
372 #define PIO_EMAXNAME NC_EMAXNAME
373 #define PIO_EUNLIMIT NC_EUNLIMIT
374 #define PIO_ENORECVARS NC_ENORECVARS
375 #define PIO_ECHAR NC_ECHAR
376 #define PIO_EEDGE NC_EEDGE
377 #define PIO_ESTRIDE NC_ESTRIDE
378 #define PIO_EBADNAME NC_EBADNAME
379 #define PIO_ERANGE NC_ERANGE
380 #define PIO_ENOMEM NC_ENOMEM
381 #define PIO_EVARSIZE NC_EVARSIZE
382 #define PIO_EDIMSIZE NC_EDIMSIZE
383 #define PIO_ETRUNC NC_ETRUNC
384 #define PIO_EAXISTYPE NC_EAXISTYPE
385 #define PIO_EDAP NC_EDAP
386 #define PIO_ECURL NC_ECURL
387 #define PIO_EIO NC_EIO
388 #define PIO_ENODATA NC_ENODATA
389 #define PIO_EDAPSVC NC_EDAPSVC
390 #define PIO_EDAS NC_EDAS
391 #define PIO_EDDS NC_EDDS
392 #define PIO_EDATADDS NC_EDATADDS
393 #define PIO_EDAPURL NC_EDAPURL
394 #define PIO_EDAPCONSTRAINT NC_EDAPCONSTRAINT
395 #define PIO_ETRANSLATION NC_ETRANSLATION
396 #define PIO_EHDFERR NC_EHDFERR
397 #define PIO_ECANTREAD NC_ECANTREAD
398 #define PIO_ECANTWRITE NC_ECANTWRITE
399 #define PIO_ECANTCREATE NC_ECANTCREATE
400 #define PIO_EFILEMETA NC_EFILEMETA
401 #define PIO_EDIMMETA NC_EDIMMETA
402 #define PIO_EATTMETA NC_EATTMETA
403 #define PIO_EVARMETA NC_EVARMETA
404 #define PIO_ENOCOMPOUND NC_ENOCOMPOUND
405 #define PIO_EATTEXISTS NC_EATTEXISTS
406 #define PIO_ENOTNC4 NC_ENOTNC4
407 #define PIO_ESTRICTNC3 NC_ESTRICTNC3
408 #define PIO_ENOTNC3 NC_ENOTNC3
409 #define PIO_ENOPAR NC_ENOPAR
410 #define PIO_EPARINIT NC_EPARINIT
411 #define PIO_EBADGRPID NC_EBADGRPID
412 #define PIO_EBADTYPID NC_EBADTYPID
413 #define PIO_ETYPDEFINED NC_ETYPDEFINED
414 #define PIO_EBADFIELD NC_EBADFIELD
415 #define PIO_EBADCLASS NC_EBADCLASS
416 #define PIO_EMAPTYPE NC_EMAPTYPE
417 #define PIO_ELATEFILL NC_ELATEFILL
418 #define PIO_ELATEDEF NC_ELATEDEF
419 #define PIO_EDIMSCALE NC_EDIMSCALE
420 #define PIO_ENOGRP NC_ENOGRP
421 #define PIO_ESTORAGE NC_ESTORAGE
422 #define PIO_EBADCHUNK NC_EBADCHUNK
423 #define PIO_ENOTBUILT NC_ENOTBUILT
424 #define PIO_EDISKLESS NC_EDISKLESS
425 #define PIO_FILL_DOUBLE NC_FILL_DOUBLE
426 #define PIO_FILL_FLOAT NC_FILL_FLOAT
427 #define PIO_FILL_INT NC_FILL_INT
428 #define PIO_FILL_CHAR NC_FILL_CHAR
429 #endif /* defined( _PNETCDF) || defined(_NETCDF) */
430 
432 #ifdef _PNETCDF
433 #define PIO_EINDEP NC_EINDEP
434 #else /* _PNETCDF */
435 #define PIO_EINDEP (-203)
436 #endif /* _PNETCDF */
437 
439 #define PIO_EBADIOTYPE -255
440 
442 #define PIO_REQ_NULL (NC_REQ_NULL-1)
443 
444 #if defined(__cplusplus)
445 extern "C" {
446 #endif
447  int PIOc_strerror(int pioerr, char *errstr);
448  int PIOc_freedecomp(int iosysid, int ioid);
449  int PIOc_inq_att (int ncid, int varid, const char *name, nc_type *xtypep, PIO_Offset *lenp);
450  int PIOc_inq_format (int ncid, int *formatp);
451  int PIOc_inq_varid (int ncid, const char *name, int *varidp);
452  int PIOc_inq_varnatts (int ncid, int varid, int *nattsp);
453  int PIOc_def_var (int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp);
454  int PIOc_def_var_deflate(int ncid, int varid, int shuffle, int deflate,
455  int deflate_level);
456  int PIOc_inq_var_deflate(int ncid, int varid, int *shufflep, int *deflatep,
457  int *deflate_levelp);
458  int PIOc_inq_var_szip(int ncid, int varid, int *options_maskp, int *pixels_per_blockp);
459  int PIOc_def_var_chunking(int ncid, int varid, int storage, const PIO_Offset *chunksizesp);
460  int PIOc_inq_var_chunking(int ncid, int varid, int *storagep, PIO_Offset *chunksizesp);
461  int PIOc_def_var_fill(int ncid, int varid, int no_fill, const void *fill_value);
462  int PIOc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep);
463  int PIOc_def_var_endian(int ncid, int varid, int endian);
464  int PIOc_inq_var_endian(int ncid, int varid, int *endianp);
465  int PIOc_set_chunk_cache(int iosysid, int iotype, PIO_Offset size, PIO_Offset nelems, float preemption);
466  int PIOc_get_chunk_cache(int iosysid, int iotype, PIO_Offset *sizep, PIO_Offset *nelemsp, float *preemptionp);
467  int PIOc_set_var_chunk_cache(int ncid, int varid, PIO_Offset size, PIO_Offset nelems,
468  float preemption);
469  int PIOc_get_var_chunk_cache(int ncid, int varid, PIO_Offset *sizep, PIO_Offset *nelemsp,
470  float *preemptionp);
471  int PIOc_inq_var (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp);
472  int PIOc_inq_varname (int ncid, int varid, char *name);
473  int PIOc_put_att_double (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const double *op);
474  int PIOc_put_att_int (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const int *op);
475  int PIOc_rename_att (int ncid, int varid, const char *name, const char *newname);
476  int PIOc_del_att (int ncid, int varid, const char *name);
477  int PIOc_inq_natts (int ncid, int *ngattsp);
478  int PIOc_inq (int ncid, int *ndimsp, int *nvarsp, int *ngattsp, int *unlimdimidp);
479  int PIOc_get_att_text (int ncid, int varid, const char *name, char *ip);
480  int PIOc_get_att_short (int ncid, int varid, const char *name, short *ip);
481  int PIOc_put_att_long (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const long *op);
482  int PIOc_redef (int ncid);
483  int PIOc_set_fill (int ncid, int fillmode, int *old_modep);
484  int PIOc_enddef (int ncid);
485  int PIOc_rename_var (int ncid, int varid, const char *name);
486  int PIOc_put_att_short (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const short *op);
487  int PIOc_put_att_text (int ncid, int varid, const char *name, PIO_Offset len, const char *op);
488  int PIOc_inq_attname (int ncid, int varid, int attnum, char *name);
489  int PIOc_get_att_ulonglong (int ncid, int varid, const char *name, unsigned long long *ip);
490  int PIOc_get_att_ushort (int ncid, int varid, const char *name, unsigned short *ip);
491  int PIOc_put_att_ulonglong (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned long long *op);
492  int PIOc_inq_dimlen (int ncid, int dimid, PIO_Offset *lenp);
493  int PIOc_get_att_uint (int ncid, int varid, const char *name, unsigned int *ip);
494  int PIOc_get_att_longlong (int ncid, int varid, const char *name, long long *ip);
495  int PIOc_put_att_schar (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const signed char *op);
496  int PIOc_put_att_float (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const float *op);
497  int PIOc_inq_nvars (int ncid, int *nvarsp);
498  int PIOc_rename_dim (int ncid, int dimid, const char *name);
499  int PIOc_inq_varndims (int ncid, int varid, int *ndimsp);
500  int PIOc_get_att_long (int ncid, int varid, const char *name, long *ip);
501  int PIOc_inq_dim (int ncid, int dimid, char *name, PIO_Offset *lenp);
502  int PIOc_inq_dimid (int ncid, const char *name, int *idp);
503  int PIOc_inq_unlimdim (int ncid, int *unlimdimidp);
504  int PIOc_inq_vardimid (int ncid, int varid, int *dimidsp);
505  int PIOc_inq_attlen (int ncid, int varid, const char *name, PIO_Offset *lenp);
506  int PIOc_inq_dimname (int ncid, int dimid, char *name);
507  int PIOc_put_att_ushort (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned short *op);
508  int PIOc_get_att_float (int ncid, int varid, const char *name, float *ip);
509  int PIOc_sync (int ncid);
510  int PIOc_put_att_longlong (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const long long *op);
511  int PIOc_put_att_uint (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned int *op);
512  int PIOc_get_att_schar (int ncid, int varid, const char *name, signed char *ip);
513  int PIOc_inq_attid (int ncid, int varid, const char *name, int *idp);
514  int PIOc_def_dim (int ncid, const char *name, PIO_Offset len, int *idp);
515  int PIOc_inq_ndims (int ncid, int *ndimsp);
516  int PIOc_inq_vartype (int ncid, int varid, nc_type *xtypep);
517  int PIOc_get_att_int (int ncid, int varid, const char *name, int *ip);
518  int PIOc_get_att_double (int ncid, int varid, const char *name, double *ip);
519  int PIOc_inq_atttype (int ncid, int varid, const char *name, nc_type *xtypep);
520  int PIOc_put_att_uchar (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned char *op);
521  int PIOc_get_att_uchar (int ncid, int varid, const char *name, unsigned char *ip);
522  int PIOc_InitDecomp(const int iosysid, const int basetype,const int ndims, const int dims[],
523  const int maplen, const PIO_Offset *compmap, int *ioidp, const int *rearr,
524  const PIO_Offset *iostart,const PIO_Offset *iocount);
525  int PIOc_Init_Intracomm(const MPI_Comm comp_comm,
526  const int num_iotasks, const int stride,
527  const int base, const int rearr, int *iosysidp);
528  int PIOc_Init_Async(MPI_Comm world, int num_io_procs, int *io_proc_list, int component_count,
529  int *num_procs_per_comp, int **proc_list, int *iosysidp);
530  int PIOc_Init_Intercomm(int component_count, MPI_Comm peer_comm, MPI_Comm *comp_comms,
531  MPI_Comm io_comm, int *iosysidp);
532  int PIOc_closefile(int ncid);
533  int PIOc_createfile(const int iosysid, int *ncidp, int *iotype,
534  const char *fname, const int mode);
535  int PIOc_create(int iosysid, const char *path, int cmode, int *ncidp);
536  int PIOc_openfile(const int iosysid, int *ncidp, int *iotype,
537  const char *fname, const int mode);
538  int PIOc_open(const int iosysid, const char *path, int mode, int *ncidp);
539  int PIOc_write_darray(const int ncid, const int vid, const int ioid, const PIO_Offset arraylen,
540  void *array, void *fillvalue);
541  int PIOc_write_darray_multi(const int ncid, const int vid[], const int ioid, const int nvars, const PIO_Offset arraylen,
542  void *array, const int frame[], void *fillvalue[], bool flushtodisk);
543 
544  int PIOc_get_att_ubyte (int ncid, int varid, const char *name, unsigned char *ip);
545  int PIOc_put_att_ubyte (int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned char *op) ;
546  int PIOc_set_blocksize(const int newblocksize);
547  int PIOc_readmap(const char file[], int *ndims, int *gdims[], PIO_Offset *fmaplen, PIO_Offset *map[], const MPI_Comm comm);
548  int PIOc_readmap_from_f90(const char file[],int *ndims, int *gdims[], PIO_Offset *maplen, PIO_Offset *map[], const int f90_comm);
549  int PIOc_writemap(const char file[], const int ndims, const int gdims[], PIO_Offset maplen, PIO_Offset map[], const MPI_Comm comm);
550  int PIOc_writemap_from_f90(const char file[], const int ndims, const int gdims[], const PIO_Offset maplen, const PIO_Offset map[], const int f90_comm);
551  int PIOc_deletefile(const int iosysid, const char filename[]);
552  int PIOc_File_is_Open(int ncid);
553  int PIOc_Set_File_Error_Handling(int ncid, int method);
554  int PIOc_advanceframe(int ncid, int varid);
555  int PIOc_setframe(const int ncid, const int varid,const int frame);
556  int PIOc_get_numiotasks(int iosysid, int *numiotasks);
557  int PIOc_get_iorank(int iosysid, int *iorank);
558  int PIOc_get_local_array_size(int ioid);
559  int PIOc_Set_IOSystem_Error_Handling(int iosysid, int method);
560  int PIOc_set_hint(const int iosysid, char hint[], const char hintval[]);
561  int PIOc_Init_Intracomm(const MPI_Comm comp_comm,
562  const int num_iotasks, const int stride,
563  const int base,const int rearr, int *iosysidp);
564  int PIOc_finalize(const int iosysid);
565  int PIOc_iam_iotask(const int iosysid, bool *ioproc);
566  int PIOc_iotask_rank(const int iosysid, int *iorank);
567  int PIOc_iosystem_is_active(const int iosysid, bool *active);
568  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) ;
569  int PIOc_get_var1_schar (int ncid, int varid, const PIO_Offset index[], signed char *buf) ;
570  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) ;
571  int pio_read_darray_nc(file_desc_t *file, io_desc_t *iodesc, const int vid, void *IOBUF);
572  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) ;
573  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) ;
574  int PIOc_put_varm (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const void *buf, PIO_Offset bufcount, MPI_Datatype buftype) ;
575  int PIOc_read_darray(const int ncid, const int vid, const int ioid, const PIO_Offset arraylen, void *array);
576  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) ;
577  int PIOc_get_varm_schar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], signed char *buf) ;
578  int PIOc_put_varm_uchar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned char *op) ;
579  int PIOc_put_var_ushort (int ncid, int varid, const unsigned short *op) ;
580  int PIOc_get_vars_short (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], short *buf) ;
581  int PIOc_put_var1_longlong (int ncid, int varid, const PIO_Offset index[], const long long *op) ;
582  int PIOc_get_var_double (int ncid, int varid, double *buf) ;
583  int PIOc_put_vara_uchar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const unsigned char *op) ;
584  int PIOc_put_varm_short (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const short *op) ;
585  int PIOc_get_vara_double (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], double *buf) ;
586  int PIOc_put_var1_long (int ncid, int varid, const PIO_Offset index[], const long *ip) ;
587  int PIOc_get_var_int (int ncid, int varid, int *buf) ;
588  int PIOc_put_vars_long (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const long *op) ;
589  int PIOc_put_var_short (int ncid, int varid, const short *op) ;
590  int PIOc_get_vara_text (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], char *buf) ;
591  int PIOc_put_vara_int (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const int *op) ;
592 
593  int PIOc_put_var1_ushort (int ncid, int varid, const PIO_Offset index[], const unsigned short *op);
594  int PIOc_put_vara_text (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const char *op);
595  int PIOc_put_varm_text (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const char *op);
596  int PIOc_put_varm_ushort (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned short *op);
597  int PIOc_put_var_ulonglong (int ncid, int varid, const unsigned long long *op);
598  int PIOc_put_var_int (int ncid, int varid, const int *op);
599  int PIOc_put_var_longlong (int ncid, int varid, const long long *op);
600  int PIOc_put_var_schar (int ncid, int varid, const signed char *op);
601  int PIOc_put_var_uint (int ncid, int varid, const unsigned int *op);
602  int PIOc_put_var (int ncid, int varid, const void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
603  int PIOc_put_vara_ushort (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const unsigned short *op);
604  int PIOc_put_vars_short (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const short *op);
605  int PIOc_put_vara_uint (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const unsigned int *op);
606  int PIOc_put_vara_schar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const signed char *op);
607  int PIOc_put_varm_ulonglong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned long long *op);
608  int PIOc_put_var1_uchar (int ncid, int varid, const PIO_Offset index[], const unsigned char *op);
609  int PIOc_put_varm_int (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const int *op);
610  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);
611  int PIOc_put_var1 (int ncid, int varid, const PIO_Offset index[], const void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
612  int PIOc_put_vara_float (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const float *op);
613  int PIOc_put_var1_float (int ncid, int varid, const PIO_Offset index[], const float *op);
614  int PIOc_put_varm_float (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const float *op);
615  int PIOc_put_var1_text (int ncid, int varid, const PIO_Offset index[], const char *op);
616  int PIOc_put_vars_text (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const char *op);
617  int PIOc_put_varm_long (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const long *op);
618  int PIOc_put_vars_double (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const double *op);
619  int PIOc_put_vara_longlong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const long long *op);
620  int PIOc_put_var_double (int ncid, int varid, const double *op);
621  int PIOc_put_var_float (int ncid, int varid, const float *op);
622  int PIOc_put_var1_ulonglong (int ncid, int varid, const PIO_Offset index[], const unsigned long long *op);
623  int PIOc_put_varm_uint (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned int *op);
624  int PIOc_put_var1_uint (int ncid, int varid, const PIO_Offset index[], const unsigned int *op);
625  int PIOc_put_var1_int (int ncid, int varid, const PIO_Offset index[], const int *op);
626  int PIOc_put_vars_float (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const float *op);
627  int PIOc_put_vara_short (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const short *op);
628  int PIOc_put_var1_schar (int ncid, int varid, const PIO_Offset index[], const signed char *op);
629  int PIOc_put_vara_ulonglong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const unsigned long long *op);
630  int PIOc_put_varm_double (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const double *op);
631  int PIOc_put_vara (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
632  int PIOc_put_vara_long (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const long *op);
633  int PIOc_put_var1_double (int ncid, int varid, const PIO_Offset index[], const double *op);
634  int PIOc_put_varm_schar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const signed char *op);
635  int PIOc_put_var_text (int ncid, int varid, const char *op);
636  int PIOc_put_vars_int (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const int *op);
637  int PIOc_put_var1_short (int ncid, int varid, const PIO_Offset index[], const short *op);
638  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);
639  int PIOc_put_vara_double (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const double *op);
640  int PIOc_put_vars (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
641  int PIOc_put_vars_tc(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], nc_type xtype, const void *buf);
642  int PIOc_put_var_uchar (int ncid, int varid, const unsigned char *op);
643  int PIOc_put_var_long (int ncid, int varid, const long *op);
644  int PIOc_put_varm_longlong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const long long *op);
645  int PIOc_get_vara_int (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], int *buf);
646  int PIOc_get_var1_float (int ncid, int varid, const PIO_Offset index[], float *buf);
647  int PIOc_get_var1_short (int ncid, int varid, const PIO_Offset index[], short *buf);
648  int PIOc_get_vars_int (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], int *buf);
649  int PIOc_get_var_text (int ncid, int varid, char *buf);
650  int PIOc_get_varm_double (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], double *buf);
651  int PIOc_get_vars_schar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], signed char *buf);
652  int PIOc_get_vara_ushort (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], unsigned short *buf);
653  int PIOc_get_var1_ushort (int ncid, int varid, const PIO_Offset index[], unsigned short *buf);
654  int PIOc_get_var_float (int ncid, int varid, float *buf);
655  int PIOc_get_vars_uchar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], unsigned char *buf);
656  int PIOc_get_var (int ncid, int varid, void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
657  int PIOc_get_var1_longlong (int ncid, int varid, const PIO_Offset index[], long long *buf);
658  int PIOc_get_vars_ushort (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], unsigned short *buf);
659  int PIOc_get_var_long (int ncid, int varid, long *buf);
660  int PIOc_get_var1_double (int ncid, int varid, const PIO_Offset index[], double *buf);
661  int PIOc_get_vara_uint (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], unsigned int *buf);
662  int PIOc_get_vars_longlong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], long long *buf);
663  int PIOc_get_var_longlong (int ncid, int varid, long long *buf);
664  int PIOc_get_vara_short (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], short *buf);
665  int PIOc_get_vara_long (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], long *buf);
666  int PIOc_get_var1_int (int ncid, int varid, const PIO_Offset index[], int *buf);
667  int PIOc_get_var1_ulonglong (int ncid, int varid, const PIO_Offset index[], unsigned long long *buf);
668  int PIOc_get_var_uchar (int ncid, int varid, unsigned char *buf);
669  int PIOc_get_vara_uchar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], unsigned char *buf);
670  int PIOc_get_vars_float (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], float *buf);
671  int PIOc_get_vars_long (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], long *buf);
672  int PIOc_get_var1 (int ncid, int varid, const PIO_Offset index[], void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
673  int PIOc_get_var_uint (int ncid, int varid, unsigned int *buf);
674  int PIOc_get_vara (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
675  int PIOc_get_vara_schar (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], signed char *buf);
676  int PIOc_get_var1_uint (int ncid, int varid, const PIO_Offset index[], unsigned int *buf);
677  int PIOc_get_vars_uint (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], unsigned int *buf);
678  int PIOc_get_vara_float (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], float *buf);
679  int PIOc_get_varm_text (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], char *buf);
680  int PIOc_get_var1_text (int ncid, int varid, const PIO_Offset index[], char *buf);
681  int PIOc_get_varm_int (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], int *buf);
682  int PIOc_get_varm_uint (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], unsigned int *buf);
683  int PIOc_get_varm (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
684  int PIOc_get_vars_double (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], double *buf);
685  int PIOc_get_vara_longlong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], long long *buf);
686  int PIOc_get_var_ulonglong (int ncid, int varid, unsigned long long *buf);
687  int PIOc_get_vara_ulonglong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], unsigned long long *buf);
688  int PIOc_get_var_short (int ncid, int varid, short *buf);
689  int PIOc_get_varm_float (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], float *buf);
690  int PIOc_get_var1_long (int ncid, int varid, const PIO_Offset index[], long *buf);
691  int PIOc_get_varm_long (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], long *buf);
692  int PIOc_get_varm_ushort (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], unsigned short *buf);
693  int PIOc_get_varm_longlong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], long long *buf);
694  int PIOc_get_vars_text (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], char *buf);
695  int PIOc_get_var1_uchar (int ncid, int varid, const PIO_Offset index[], unsigned char *buf);
696  int PIOc_get_vars (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], void *buf, PIO_Offset bufcount, MPI_Datatype buftype);
697  int PIOc_get_vars_tc(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], nc_type xtype, void *buf);
698  int PIOc_get_varm_short (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], short *buf);
699  int PIOc_get_varm_ulonglong (int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], unsigned long long *buf);
700  int PIOc_get_var_schar (int ncid, int varid, signed char *buf);
701  int PIOc_iotype_available(const int iotype);
702  int PIOc_set_log_level(int level);
703  int PIOc_put_att(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const void *op);
704  int PIOc_get_att(int ncid, int varid, const char *name, void *ip);
705  int PIOc_inq_type(int ncid, nc_type xtype, char *name, PIO_Offset *sizep);
706 #if defined(__cplusplus)
707 }
708 #endif
709 
710 #endif // _PIO_H_
711 
int PIOc_put_var1_longlong(int ncid, int varid, const PIO_Offset *index, const long long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:537
IO system descriptor structure.
Definition: pio.h:140
int PIOc_get_vars_tc(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, nc_type xtype, void *buf)
Internal PIO function which provides a type-neutral interface to nc_get_vars.
Definition: pio_get_nc.c:53
#define PIO_MAX_VARS
The maximum number of variables allowed in a netCDF file.
Definition: pio.h:41
int PIOc_inq_var_chunking(int ncid, int varid, int *storagep, PIO_Offset *chunksizesp)
Inquire about chunksizes for a variable.
Definition: pio_nc4.c:333
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:1230
int PIOc_get_att_ushort(int ncid, int varid, const char *name, unsigned short *ip)
The PIO-C interface for the NetCDF function nc_get_att_ushort.
Definition: pio_nc.c:2307
int PIOc_inq_dimlen(int ncid, int dimid, PIO_Offset *lenp)
The PIO-C interface for the NetCDF function nc_inq_dimlen.
Definition: pio_nc.c:512
int PIOc_put_vars_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:389
int PIOc_put_var1_uint(int ncid, int varid, const PIO_Offset *index, const unsigned int *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:498
int PIOc_write_darray_multi(const int ncid, const int *vid, const int ioid, const int nvars, const 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:986
int PIOc_inq_varndims(int ncid, int varid, int *ndimsp)
The PIO-C interface for the NetCDF function nc_inq_varndims.
Definition: pio_nc.c:790
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:414
int PIOc_inq_nvars(int ncid, int *nvarsp)
The PIO-C interface for the NetCDF function nc_inq_nvars.
Definition: pio_nc.c:176
PIO_REARRANGERS
These are the supported output data rearrangement methods.
Definition: pio.h:308
int PIOc_put_att_ulonglong(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned long long *op)
The PIO-C interface for the NetCDF function nc_put_att_ulonglong.
Definition: pio_nc.c:2486
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:828
int PIOc_put_vars_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:410
int PIOc_put_var1_float(int ncid, int varid, const PIO_Offset *index, const float *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:511
int PIOc_inq_ndims(int ncid, int *ndimsp)
The PIO-C interface for the NetCDF function nc_inq_ndims.
Definition: pio_nc.c:166
struct file_desc_t file_desc_t
File descriptor structure.
int PIOc_inq_natts(int ncid, int *ngattsp)
The PIO-C interface for the NetCDF function nc_inq_natts.
Definition: pio_nc.c:185
MPI_Info info
MPI Info object.
Definition: pio.h:225
int PIOc_get_att_float(int ncid, int varid, const char *name, float *ip)
The PIO-C interface for the NetCDF function nc_get_att_float.
Definition: pio_nc.c:2397
int PIOc_inq_var_endian(int ncid, int varid, int *endianp)
Inquire about chunksizes for a variable.
Definition: pio_nc4.c:627
int PIOc_put_vara_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:572
int PIOc_put_vars_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const double *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:431
int PIOc_def_var_chunking(int ncid, int varid, int storage, const PIO_Offset *chunksizesp)
Set chunksizes for a variable.
Definition: pio_nc4.c:235
int PIOc_put_var_long(int ncid, int varid, const long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:670
int PIOc_inq_vartype(int ncid, int varid, nc_type *xtypep)
The PIO-C interface for the NetCDF function nc_inq_vartype.
Definition: pio_nc.c:781
int PIOc_put_att_ushort(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned short *op)
The PIO-C interface for the NetCDF function nc_put_att_ushort.
Definition: pio_nc.c:2496
int PIOc_read_darray(const int ncid, const int vid, const int ioid, const PIO_Offset arraylen, void *array)
Read a field from a file to the IO library.
Definition: pio_darray.c:1824
struct iosystem_desc_t iosystem_desc_t
IO system descriptor structure.
NetCDF4 (HDF5) compressed format (serial)
Definition: pio.h:299
int PIOc_put_var1_long(int ncid, int varid, const PIO_Offset *index, const long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:517
int PIOc_inq_type(int ncid, nc_type xtype, char *name, PIO_Offset *sizep)
The PIO-C interface for the NetCDF function nctypelen.
Definition: pio_nc.c:243
int PIOc_put_varm_uchar(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned char *op)
PIO interface to nc_put_varm_uchar.
Definition: pio_varm.c:87
int PIOc_setframe(const int ncid, const int varid, const int frame)
Set the unlimited dimension of the given variable.
Definition: pioc.c:87
int PIOc_get_numiotasks(int iosysid, int *numiotasks)
Get the number of IO tasks set.
Definition: pioc.c:103
int PIOc_write_darray(const int ncid, const int vid, const int ioid, const PIO_Offset arraylen, void *array, void *fillvalue)
Write a distributed array to the output file.
Definition: pio_darray.c:1190
int PIOc_create(int iosysid, const char *path, int cmode, int *ncidp)
Open a new file using pio.
Definition: pio_file.c:478
int PIOc_File_is_Open(int ncid)
Check to see if PIO file is open.
Definition: pioc.c:37
Errors are returned to caller with no internal action.
Definition: pio.h:329
int maxbytes
The maximum number of bytes of this iodesc before flushing.
Definition: pio.h:104
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:654
int PIOc_put_vara_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const float *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:600
int PIOc_finalize(const int iosysid)
Clean up internal data structures, free MPI resources, and exit the pio library.
Definition: pioc.c:508
PIO_IOTYPE
These are the supported methods of reading/writing netCDF files.
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)
Interface to netCDF data write function.
Definition: pio_put_nc.c:396
int PIOc_inq_varnatts(int ncid, int varid, int *nattsp)
The PIO-C interface for the NetCDF function nc_inq_varnatts.
Definition: pio_nc.c:808
int PIOc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const signed char *op)
The PIO-C interface for the NetCDF function nc_put_att_schar.
Definition: pio_nc.c:2406
int PIOc_iosystem_is_active(const int iosysid, bool *active)
Check to see if PIO has been initialized.
Definition: pioc.c:19
int PIOc_put_var_int(int ncid, int varid, const int *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:664
struct iosystem_desc_t * next
Pointer to the next iosystem_desc_t in the list.
Definition: pio.h:231
int PIOc_inq_dimname(int ncid, int dimid, char *name)
The PIO-C interface for the NetCDF function nc_inq_dimname.
Definition: pio_nc.c:503
int PIOc_openfile(const int iosysid, int *ncidp, int *iotype, const char *fname, const int mode)
Open an existing file using PIO library.
Definition: pio_file.c:237
int PIOc_put_vara_ulonglong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned long long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:607
int PIOc_put_varm_schar(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const signed char *op)
PIO interface to nc_put_varm_schar.
Definition: pio_varm.c:849
Netcdf3 Classic format (serial)
Definition: pio.h:296
bool ioproc
True if this task is a member of the IO communicator.
Definition: pio.h:222
int PIOc_put_varm_ushort(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned short *op)
PIO interface to nc_put_varm_ushort.
Definition: pio_varm.c:313
int PIOc_deletefile(const int iosysid, const char filename[])
Delete a file.
Definition: pio_file.c:595
int PIOc_set_blocksize(const int newblocksize)
Set the target blocksize for the box rearranger.
Definition: pioc_sc.c:53
int nreqs
Number of requests bending with pnetcdf.
Definition: pio.h:59
int PIOc_get_att_int(int ncid, int varid, const char *name, int *ip)
The PIO-C interface for the NetCDF function nc_get_att_int.
Definition: pio_nc.c:2379
int PIOc_strerror(int pioerr, char *errstr)
Return a string description of an error code.
Definition: pioc_support.c:34
int PIOc_put_att(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const void *op)
The PIO-C interface for the NetCDF function nc_put_att.
Definition: pio_nc.c:2188
int comp_idx
Index of this component in the list of components.
Definition: pio.h:228
int PIOc_inq_varname(int ncid, int varid, char *name)
The PIO-C interface for the NetCDF function nc_inq_varname.
Definition: pio_nc.c:772
MPI_Group compgroup
This MPI group contains the processors involved in computation.
Definition: pio.h:168
int PIOc_put_vars_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:360
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:1407
int record
The unlimited dimension in the netCDF file (typically the time dimension).
Definition: pio.h:50
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:1500
File descriptor structure.
Definition: pio.h:254
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, int *iosysidp)
Library initialization used when IO tasks are distinct from compute tasks.
Definition: pio_msg.c:1776
int PIOc_put_att_longlong(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const long long *op)
The PIO-C interface for the NetCDF function nc_put_att_longlong.
Definition: pio_nc.c:2446
int PIOc_redef(int ncid)
The PIO-C interface for the NetCDF function nc_redef.
Definition: pio_nc.c:1753
void * iobuf
???
Definition: pio.h:65
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:31
int PIOc_inq_format(int ncid, int *formatp)
The PIO-C interface for the NetCDF function nc_inq_format.
Definition: pio_nc.c:332
int PIOc_put_varm_ulonglong(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned long long *op)
PIO interface to nc_put_varm_ulonglong.
Definition: pio_varm.c:390
int PIOc_put_varm_short(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const short *op)
PIO interface to nc_put_varm_short.
Definition: pio_varm.c:162
struct var_desc_t var_desc_t
Variable description structure.
int pio_read_darray_nc(file_desc_t *file, io_desc_t *iodesc, const int vid, void *IOBUF)
Read an array of data from a file to the (parallel) IO library.
Definition: pio_darray.c:1407
int PIOc_put_var_ushort(int ncid, int varid, const unsigned short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:646
int ioroot
Rank of IO root task (which is rank 0 in io_comm) in the union communicator.
Definition: pio.h:200
int PIOc_put_var1_int(int ncid, int varid, const PIO_Offset *index, const int *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:505
Subset rearranger.
Definition: pio.h:314
int PIOc_enddef(int ncid)
The PIO-C interface for the NetCDF function nc_enddef.
Definition: pio_nc.c:1735
int comproot
Rank of computation root task (which is rank 0 in comm_comms[cmp]) in the union communicator.
Definition: pio.h:205
int fh
The buffersize does not seem to be used anywhere.
Definition: pio.h:264
int num_iotasks
The number of tasks in the IO communicator.
Definition: pio.h:174
int error_handler
Controls handling errors.
Definition: pio.h:212
int PIOc_put_var_uint(int ncid, int varid, const unsigned int *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:658
int union_rank
Rank of this task in the union communicator.
Definition: pio.h:180
int PIOc_iotype_available(const int iotype)
return true if this iotype is supported in the build, 0 otherwise
Definition: pioc.c:646
int PIOc_closefile(int ncid)
Close a file previously opened with PIO.
Definition: pio_file.c:506
int PIOc_put_vara(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const void *buf, PIO_Offset bufcount, MPI_Datatype buftype)
Interface to netCDF data write function.
Definition: pio_put_nc.c:930
struct io_desc_t io_desc_t
IO descriptor structure.
int PIOc_put_vara_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const long long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:614
int iosysid
The ID of this iosystem_desc_t.
Definition: pio.h:144
int PIOc_put_var1_text(int ncid, int varid, const PIO_Offset *index, const char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:464
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:1584
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)
Interface to netCDF data write function.
Definition: pio_put_nc.c:382
int default_rearranger
The rearranger decides which parts of a distributed array are handled by which IO tasks...
Definition: pio.h:216
int PIOc_get_att_text(int ncid, int varid, const char *name, char *ip)
The PIO-C interface for the NetCDF function nc_get_att_text.
Definition: pio_nc.c:2343
int PIOc_put_varm_longlong(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const long long *op)
PIO interface to nc_put_varm_longlong.
Definition: pio_varm.c:926
Parallel Netcdf (parallel)
Definition: pio.h:293
int PIOc_get_att_uint(int ncid, int varid, const char *name, unsigned int *ip)
The PIO-C interface for the NetCDF function nc_get_att_uint.
Definition: pio_nc.c:2316
Errors cause abort.
Definition: pio.h:323
MPI_Comm io_comm
This is an MPI intra communicator that includes all the tasks involved in IO.
Definition: pio.h:152
struct file_desc_t * next
Pointer to the next file_desc_t in the list of open files.
Definition: pio.h:279
int * request
ID of each outstanding pnetcdf request for this variable.
Definition: pio.h:56
int PIOc_put_att_text(int ncid, int varid, const char *name, PIO_Offset len, const char *op)
The PIO-C interface for the NetCDF function nc_put_att_text.
Definition: pio_nc.c:2506
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:130
int PIOc_put_var(int ncid, int varid, const void *buf, PIO_Offset bufcount, MPI_Datatype buftype)
Interface to netCDF data write function.
Definition: pio_put_nc.c:700
int PIOc_put_var1_ushort(int ncid, int varid, const PIO_Offset *index, const unsigned short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:484
int PIOc_put_varm(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const void *buf, PIO_Offset bufcount, MPI_Datatype buftype)
PIO interface to nc_put_varm.
Definition: pio_varm.c:12
int PIOc_put_vara_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:593
int PIOc_get_att(int ncid, int varid, const char *name, void *ip)
The PIO-C interface for the NetCDF function nc_get_att.
Definition: pio_nc.c:2054
int PIOc_Set_IOSystem_Error_Handling(int iosysid, int method)
Set the error handling method used for subsequent calls.
Definition: pioc.c:149
int PIOc_get_att_longlong(int ncid, int varid, const char *name, long long *ip)
The PIO-C interface for the NetCDF function nc_get_att_longlong.
Definition: pio_nc.c:2388
int PIOc_put_vars_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const int *op)
PIO interface to nc_put_vars_int.
Definition: pio_put_nc.c:403
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:917
int ndims
Number of dimensions for this variable.
Definition: pio.h:53
int PIOc_put_var_uchar(int ncid, int varid, const unsigned char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:634
int PIOc_inq_attlen(int ncid, int varid, const char *name, PIO_Offset *lenp)
The PIO-C interface for the NetCDF function nc_inq_attlen.
Definition: pio_nc.c:1011
int PIOc_put_vars(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const void *buf, PIO_Offset bufcount, MPI_Datatype buftype)
PIO interface to nc_put_vars.
Definition: pio_put_nc.c:781
int PIOc_put_varm_long(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const long *op)
PIO interface to nc_put_varm_long.
Definition: pio_varm.c:619
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)
Interface to netCDF data write function.
Definition: pio_put_nc.c:375
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)
Interface to netCDF data write function.
Definition: pio_put_nc.c:424
int PIOc_open(const int iosysid, const char *path, int mode, int *ncidp)
Open an existing file using PIO library.
Definition: pio_file.c:258
int PIOc_get_att_schar(int ncid, int varid, const char *name, signed char *ip)
The PIO-C interface for the NetCDF function nc_get_att_schar.
Definition: pio_nc.c:2352
int PIOc_advanceframe(int ncid, int varid)
Increment the unlimited dimension of the given variable.
Definition: pioc.c:64
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:621
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:148
int PIOc_def_var_fill(int ncid, int varid, int no_fill, const void *fill_value)
Set chunksizes for a variable.
Definition: pio_nc4.c:439
Box rearranger.
Definition: pio.h:311
struct io_desc_t * next
Pointer to the next io_desc_t in the list.
Definition: pio.h:131
int PIOc_put_varm_text(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const char *op)
PIO interface to nc_put_varm_text.
Definition: pio_varm.c:236
Variable description structure.
Definition: pio.h:46
int PIOc_put_var_ulonglong(int ncid, int varid, const unsigned long long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:682
int PIOc_put_vara_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const int *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:586
int PIOc_put_vara_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const double *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:621
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:811
int PIOc_put_var1_short(int ncid, int varid, const PIO_Offset *index, const short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:491
int * ioranks
An array of the ranks of all IO tasks within the union communicator.
Definition: pio.h:209
int PIOc_put_vara_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:565
int PIOc_set_log_level(int level)
Set the logging level.
Definition: pioc_support.c:77
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:531
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:1974
MPI_Comm comp_comm
This is an MPI intra communicator that includes all the tasks involved in computation.
Definition: pio.h:156
int PIOc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned char *op)
The PIO-C interface for the NetCDF function nc_put_att_uchar.
Definition: pio_nc.c:2436
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:1866
int PIOc_put_vara_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned int *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:579
MPI_Comm intercomm
This is an MPI inter communicator between IO communicator and computation communicator.
Definition: pio.h:160
int PIOc_get_att_short(int ncid, int varid, const char *name, short *ip)
The PIO-C interface for the NetCDF function nc_get_att_short.
Definition: pio_nc.c:2370
int PIOc_InitDecomp(const int iosysid, const int basetype, const int ndims, const int dims[], const int maplen, const PIO_Offset *compmap, int *ioidp, const int *rearr, const PIO_Offset *iostart, const PIO_Offset *iocount)
C interface to the initdecomp.
Definition: pioc.c:178
int PIOc_get_att_double(int ncid, int varid, const char *name, double *ip)
The PIO-C interface for the NetCDF function nc_get_att_double.
Definition: pio_nc.c:2289
bool async_interface
True if asynchronous interface is in use.
Definition: pio.h:219
int PIOc_put_att_double(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const double *op)
The PIO-C interface for the NetCDF function nc_put_att_double.
Definition: pio_nc.c:2526
int PIOc_put_var_longlong(int ncid, int varid, const long long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:688
int PIOc_inq_vardimid(int ncid, int varid, int *dimidsp)
The PIO-C interface for the NetCDF function nc_inq_vardimid.
Definition: pio_nc.c:799
int PIOc_put_varm_int(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const int *op)
PIO interface to nc_put_varm_int.
Definition: pio_varm.c:466
int PIOc_put_varm_double(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const double *op)
PIO interface to nc_put_varm_double.
Definition: pio_varm.c:773
PIO_ERROR_HANDLERS
These are the supported error handlers.
Definition: pio.h:320
int PIOc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep)
The PIO-C interface for the NetCDF function nc_inq_atttype.
Definition: pio_nc.c:1020
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:184
int do_io
True if this task should participate in IO (only true for one task with netcdf serial files...
Definition: pio.h:283
int PIOc_put_att_long(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const long *op)
The PIO-C interface for the NetCDF function nc_put_att_long.
Definition: pio_nc.c:2416
int PIOc_get_att_long(int ncid, int varid, const char *name, long *ip)
The PIO-C interface for the NetCDF function nc_get_att_long.
Definition: pio_nc.c:2325
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:38
struct wmulti_buffer wmulti_buffer
multi buffer.
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:188
int PIOc_put_att_float(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const float *op)
The PIO-C interface for the NetCDF function nc_put_att_float.
Definition: pio_nc.c:2476
int mode
???
Definition: pio.h:273
int PIOc_put_att_ubyte(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned char *op)
The PIO-C interface for the NetCDF function nc_put_att_ubyte.
Definition: pio_nc.c:2466
int ioid
The ID of this io_desc_t.
Definition: pio.h:93
int num_comptasks
The number of tasks in the computation communicator.
Definition: pio.h:177
int PIOc_put_var_double(int ncid, int varid, const double *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:694
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)
Interface to netCDF data write function.
Definition: pio_put_nc.c:438
int PIOc_put_var_float(int ncid, int varid, const float *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:676
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:1772
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:164
int PIOc_def_var_endian(int ncid, int varid, int endian)
Set chunksizes for a variable.
Definition: pio_nc4.c:534
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)
Interface to netCDF data write function.
Definition: pio_put_nc.c:367
int PIOc_put_att_uint(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const unsigned int *op)
The PIO-C interface for the NetCDF function nc_put_att_uint.
Definition: pio_nc.c:2456
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:1040
int compmaster
Set to MPI_ROOT if this task is the master of comp communicator, 0 otherwise.
Definition: pio.h:196
int PIOc_put_vara_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const signed char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:558
iosystem_desc_t * iosystem
The IO system ID used to open this file.
Definition: pio.h:257
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:1135
int PIOc_put_var1_uchar(int ncid, int varid, const PIO_Offset *index, const unsigned char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:470
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:51
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:906
int PIOc_put_var_schar(int ncid, int varid, const signed char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:640
multi buffer.
Definition: pio.h:237
Error codes are broadcast to all tasks.
Definition: pio.h:326
int iotype
The PIO_TYPE value that was used to open this file.
Definition: pio.h:267
int PIOc_put_att_int(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const int *op)
The PIO-C interface for the NetCDF function nc_put_att_int.
Definition: pio_nc.c:2426
int PIOc_put_varm_uint(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const unsigned int *op)
PIO interface to nc_put_varm_uint.
Definition: pio_varm.c:696
int PIOc_get_att_ubyte(int ncid, int varid, const char *name, unsigned char *ip)
The PIO-C interface for the NetCDF function nc_get_att_ubyte.
Definition: pio_nc.c:2334
void * fillbuf
Buffer that contains the fill value for this variable.
Definition: pio.h:62
int PIOc_get_local_array_size(int ioid)
Get the local size of the variable.
Definition: pioc.c:137
int PIOc_put_varm_float(int ncid, int varid, const PIO_Offset start[], const PIO_Offset count[], const PIO_Offset stride[], const PIO_Offset imap[], const float *op)
PIO interface to nc_put_varm_float.
Definition: pio_varm.c:543
int PIOc_get_att_ulonglong(int ncid, int varid, const char *name, unsigned long long *ip)
The PIO-C interface for the NetCDF function nc_get_att_ulonglong.
Definition: pio_nc.c:2361
int PIOc_set_hint(const int iosysid, char hint[], const char hintval[])
Send a hint to the MPI-IO library.
Definition: pioc.c:486
int PIOc_put_var1_double(int ncid, int varid, const PIO_Offset *index, const double *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:523
int PIOc_iotask_rank(const int iosysid, int *iorank)
return the rank of this task in the io comm or -1 if this task is not in the comm ...
Definition: pioc.c:629
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:1318
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:999
int PIOc_put_var1(int ncid, int varid, const PIO_Offset *index, const void *buf, PIO_Offset bufcount, MPI_Datatype buftype)
Interface to netCDF data write function.
Definition: pio_put_nc.c:857
int PIOc_iam_iotask(const int iosysid, bool *ioproc)
return a logical indicating whether this task is an iotask
Definition: pioc.c:614
int PIOc_get_iorank(int iosysid, int *iorank)
Get the IO rank on the current task.
Definition: pioc.c:120
IO region structure.
Definition: pio.h:76
int iomaster
Set to MPI_ROOT if this task is the master of IO communicator, 0 otherwise.
Definition: pio.h:192
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:726
int PIOc_inq_unlimdim(int ncid, int *unlimdimidp)
The PIO-C interface for the NetCDF function nc_inq_unlimdim.
Definition: pio_nc.c:194
NetCDF4 (HDF5) parallel.
Definition: pio.h:302
IO descriptor structure.
Definition: pio.h:90
int PIOc_put_vara_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:544
int PIOc_put_vara_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const unsigned char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:551
int PIOc_put_var_text(int ncid, int varid, const char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:628
int PIOc_put_var_short(int ncid, int varid, const short *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:652
int PIOc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip)
The PIO-C interface for the NetCDF function nc_get_att_uchar.
Definition: pio_nc.c:2298
MPI_Group iogroup
This MPI group contains the processors involved in I/O.
Definition: pio.h:171
int PIOc_put_vars_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, const PIO_Offset *stride, const float *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:417
struct io_region io_region
IO region structure.
int PIOc_put_var1_ulonglong(int ncid, int varid, const PIO_Offset *index, const unsigned long long *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:530
int PIOc_put_att_short(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const short *op)
The PIO-C interface for the NetCDF function nc_put_att_short.
Definition: pio_nc.c:2516
int PIOc_put_var1_schar(int ncid, int varid, const PIO_Offset *index, const signed char *op)
Interface to netCDF data write function.
Definition: pio_put_nc.c:477