PIO  2.5.4
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 #include <uthash.h>
18 
19 #include <netcdf.h>
20 
24 #define PIO_OFFSET MPI_OFFSET
25 
30 #define PIO_Offset MPI_Offset
31 
33 #define PIO_MAX_VARS NC_MAX_VARS
34 
36 #define PIO_MAX_DIMS NC_MAX_DIMS
37 
40 #define PIO_DEFAULT (-1)
41 
45 #define DECOMP_VERSION_ATT_NAME "PIO_library_version"
46 
48 #define DECOMP_MAX_MAPLEN_ATT_NAME "max_maplen"
49 
51 #define DECOMP_TITLE_ATT_NAME "title"
52 
54 #define DECOMP_HISTORY_ATT_NAME "history"
55 
57 #define DECOMP_SOURCE_ATT_NAME "source"
58 
61 #define DECOMP_ORDER_ATT_NAME "array_order"
62 
65 #define DECOMP_BACKTRACE_ATT_NAME "backtrace"
66 
68 #define DECOMP_DIM_DIM "dims"
69 
71 #define DECOMP_TASK_DIM_NAME "task"
72 
74 #define DECOMP_MAPELEM_DIM_NAME "map_element"
75 
77 #define DECOMP_NDIMS "ndims"
78 
80 #define DECOMP_GLOBAL_SIZE_VAR_NAME "global_size"
81 
84 #define DECOMP_MAPLEN_VAR_NAME "maplen"
85 
87 #define DECOMP_MAP_VAR_NAME "map"
88 
91 #define DECOMP_C_ORDER_STR "C"
92 
95 #define DECOMP_FORTRAN_ORDER_STR "Fortran"
96 
98 #define NC_PIO NC_UDF0
99 
103 typedef struct var_desc_t
104 {
106  int varid;
107 
110  int rec_var;
111 
114  int record;
115 
117  int *request;
118 
120  int nreqs;
121 
123  void *fillvalue;
124 
126  int ndims;
127 
129  int use_fill;
130 
133  void *fillbuf;
134 
136  int pio_type;
137 
140 
142  MPI_Datatype mpi_type;
143 
146 
148  UT_hash_handle hh;
149 
150 } var_desc_t;
151 
164 typedef struct io_region
165 {
168  int loffset;
169 
172 
175 
177  struct io_region *next;
178 } io_region;
179 
185 {
188 
191 };
192 
198 {
201 
204 
207 
210 };
211 
213 #define PIO_REARR_COMM_UNLIMITED_PEND_REQ -1
214 
218 typedef struct rearr_comm_fc_opt
219 {
221  bool hs;
222 
224  bool isend;
225 
234 
238 typedef struct rearr_opt
239 {
242 
244  int fcd;
245 
248 
251 } rearr_opt_t;
252 
259 typedef struct io_desc_t
260 {
262  int ioid;
263 
265  int maplen;
266 
270 
276  int *remap;
277 
280  int nrecvs;
281 
283  int ndof;
284 
287  int ndims;
288 
290  int *dimlen;
291 
294 
297 
300 
303  bool needsfill;
304 
307  bool needssort;
308 
310  int maxbytes;
311 
313  int piotype;
314 
317 
319  MPI_Datatype mpitype;
320 
323 
330 
333 
335  int *rfrom;
336 
339  int *rcount;
340 
343  int *scount;
344 
348 
351 
353  MPI_Datatype *rtype;
354 
356  MPI_Datatype *stype;
357 
360 
363 
366 
369 
372 
375 
380 
384  MPI_Comm subset_comm;
385 
387  UT_hash_handle hh;
388 
389 } io_desc_t;
390 
397 typedef struct iosystem_desc_t
398 {
401  int iosysid;
402 
405  MPI_Comm union_comm;
406 
409  MPI_Comm io_comm;
410 
413  MPI_Comm comp_comm;
414 
417  MPI_Comm intercomm;
418 
421  MPI_Comm my_comm;
422 
425 
428 
433 
436 
440 
443  int io_rank;
444 
447  int iomaster;
448 
452 
455  int ioroot;
456 
459  int comproot;
460 
463  int *ioranks;
464 
467  int *compranks;
468 
471 
475 
477  bool async;
478 
480  bool ioproc;
481 
484  bool compproc;
485 
487  MPI_Info info;
488 
490  int comp_idx;
491 
494 
498 
503 typedef struct wmulti_buffer
504 {
507  int ioid;
508 
511 
516 
519  int arraylen;
520 
522  int *vid;
523 
526  int *frame;
527 
529  void *fillvalue;
530 
532  void *data;
533 
535  int htid;
536 
538  UT_hash_handle hh;
539 } wmulti_buffer;
540 
546 typedef struct file_desc_t
547 {
550 
553  int fh;
554 
556  int pio_ncid;
557 
559  int iotype;
560 
563 
565  int nvars;
566 
568  int writable;
569 
573 
575  void *iobuf;
576 
578  int pio_type;
579 
581  UT_hash_handle hh;
582 
585  int do_io;
586 
591 } file_desc_t;
592 
598 {
601 
604 
607 
610 };
611 
616 {
619 
622 };
623 
628 {
631 
634 
637 };
638 
640 #define PIO_GLOBAL NC_GLOBAL
641 
643 #define PIO_UNLIMITED NC_UNLIMITED
644 
645 /* NetCDF types. */
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
660 /* NetCDF flags. */
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
751 /* These are the netCDF default fill values. */
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)
773 extern "C" {
774 #endif
775  /* Error handling. */
776  int PIOc_strerror(int pioerr, char *errstr);
777  int PIOc_set_log_level(int level);
778  int PIOc_set_global_log_level(int iosysid, int level);
779 
780  /* Decomposition. */
781 
782  /* Init decomposition with 1-based compmap array. */
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,
785  const PIO_Offset *iostart, const PIO_Offset *iocount);
786  int PIOc_InitDecomp_bc(int iosysid, int basetype, int ndims, const int *gdimlen,
787  const long int *start, const long int *count, int *ioidp);
788 
789  /* Init decomposition with 0-based compmap array. */
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,
792  const PIO_Offset *iostart, const PIO_Offset *iocount);
793 
794  /* Free resources associated with a decomposition. */
795  int PIOc_freedecomp(int iosysid, int ioid);
796 
797  int PIOc_readmap(const char *file, int *ndims, int **gdims, PIO_Offset *fmaplen,
798  PIO_Offset **map, MPI_Comm comm);
799  int PIOc_readmap_from_f90(const char *file,int *ndims, int **gdims, PIO_Offset *maplen,
800  PIO_Offset **map, int f90_comm);
801  int PIOc_writemap(const char *file, int ndims, const int *gdims, PIO_Offset maplen,
802  PIO_Offset *map, MPI_Comm comm);
803  int PIOc_writemap_from_f90(const char *file, int ndims, const int *gdims,
804  PIO_Offset maplen, const PIO_Offset *map, int f90_comm);
805 
806  /* Write a decomposition file. */
807  int PIOc_write_decomp(const char *file, int iosysid, int ioid, MPI_Comm comm);
808 
809  /* Write a decomposition file using netCDF. */
810  int PIOc_write_nc_decomp(int iosysid, const char *filename, int cmode, int ioid,
811  char *title, char *history, int fortran_order);
812 
813  /* Read a netCDF decomposition file. */
814  int PIOc_read_nc_decomp(int iosysid, const char *filename, int *ioid, MPI_Comm comm,
815  int pio_type, char *title, char *history, int *fortran_order);
816 
817  /* Initializing IO system for async. */
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);
821 
822  /* Initializing IO system for async - alternative interface. */
823  int PIOc_init_async_from_comms(MPI_Comm world, int component_count, MPI_Comm *comp_comm,
824  MPI_Comm io_comm, int rearranger, int *iosysidp);
825 
826  /* How many IO tasks in this iosysid? */
827  int PIOc_get_numiotasks(int iosysid, int *numiotasks);
828 
829  /* Initialize PIO for intracomm mode. */
830  int PIOc_Init_Intracomm(MPI_Comm comp_comm, int num_iotasks, int stride, int base, int rearr,
831  int *iosysidp);
832 
835  int PIOc_finalize(int iosysid);
836 
837  /* Shut down an iosystem and free all associated resources. */
838  int PIOc_free_iosystem(int iosysid);
839 
840  /* Set error handling for entire io system. */
841  int PIOc_Set_IOSystem_Error_Handling(int iosysid, int method);
842 
843  /* Set error handling for entire io system. */
844  int PIOc_set_iosystem_error_handling(int iosysid, int method, int *old_method);
845 
846  /* Determine whether this is IO task. */
847  int PIOc_iam_iotask(int iosysid, bool *ioproc);
848 
849  /* What is the iorank? */
850  int PIOc_iotask_rank(int iosysid, int *iorank);
851 
852  /* Is this iosystem active? */
853  int PIOc_iosystem_is_active(int iosysid, bool *active);
854 
855  /* Is this IOTYPE available? */
856  int PIOc_iotype_available(int iotype);
857 
858  /* Set the options for the rearranger. */
859  int PIOc_set_rearr_opts(int iosysid, int comm_type, int fcd,
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);
864 
865  /* Increment record number. */
866  int PIOc_advanceframe(int ncid, int varid);
867 
868  /* Set the record number. */
869  int PIOc_setframe(int ncid, int varid, int frame);
870 
871  /* Write a distributed array. */
872  int PIOc_write_darray(int ncid, int varid, int ioid, PIO_Offset arraylen, void *array,
873  void *fillvalue);
874 
875  /* Write multiple darrays. */
876  int PIOc_write_darray_multi(int ncid, const int *varids, int ioid, int nvars, PIO_Offset arraylen,
877  void *array, const int *frame, void **fillvalue, bool flushtodisk);
878 
879  /* Read distributed array. */
880  int PIOc_read_darray(int ncid, int varid, int ioid, PIO_Offset arraylen, void *array);
881 
882  /* Get size of local distributed array. */
884 
885  /* Handling files. */
886  int PIOc_redef(int ncid);
887  int PIOc_enddef(int ncid);
888  int PIOc_sync(int ncid);
889  int PIOc_deletefile(int iosysid, const char *filename);
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);
895  int PIOc_closefile(int ncid);
896  int PIOc_inq_format(int ncid, int *formatp);
897  int PIOc_inq(int ncid, int *ndimsp, int *nvarsp, int *ngattsp, int *unlimdimidp);
898  int PIOc_inq_ndims(int ncid, int *ndimsp);
899  int PIOc_inq_nvars(int ncid, int *nvarsp);
900  int PIOc_inq_natts(int ncid, int *ngattsp);
901  int PIOc_inq_unlimdim(int ncid, int *unlimdimidp);
902  int PIOc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp);
903  int PIOc_inq_type(int ncid, nc_type xtype, char *name, PIO_Offset *sizep);
904  int PIOc_set_blocksize(int newblocksize);
905  int PIOc_File_is_Open(int ncid);
906 
907  /* Set the IO node data buffer size limit. */
909 
910  /* Set the error hanlding for a file. */
911  int PIOc_Set_File_Error_Handling(int ncid, int method);
912 
913  int PIOc_set_hint(int iosysid, const char *hint, const char *hintval);
914  int PIOc_set_chunk_cache(int iosysid, int iotype, PIO_Offset size, PIO_Offset nelems,
915  float preemption);
916  int PIOc_get_chunk_cache(int iosysid, int iotype, PIO_Offset *sizep, PIO_Offset *nelemsp,
917  float *preemptionp);
918 
919  /* Dimensions. */
920  int PIOc_inq_dim(int ncid, int dimid, char *name, PIO_Offset *lenp);
921  int PIOc_inq_dimid(int ncid, const char *name, int *idp);
922  int PIOc_inq_dimname(int ncid, int dimid, char *name);
923  int PIOc_inq_dimlen(int ncid, int dimid, PIO_Offset *lenp);
924  int PIOc_rename_dim(int ncid, int dimid, const char *name);
925  int PIOc_def_dim(int ncid, const char *name, PIO_Offset len, int *idp);
926 
927  /* Variables. */
928  int PIOc_inq_varid(int ncid, const char *name, int *varidp);
929  int PIOc_inq_var(int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp,
930  int *nattsp);
931  int PIOc_inq_varname(int ncid, int varid, char *name);
932  int PIOc_inq_vartype(int ncid, int varid, nc_type *xtypep);
933  int PIOc_inq_varndims(int ncid, int varid, int *ndimsp);
934  int PIOc_inq_vardimid(int ncid, int varid, int *dimidsp);
935  int PIOc_inq_varnatts(int ncid, int varid, int *nattsp);
936  int PIOc_def_var(int ncid, const char *name, nc_type xtype, int ndims,
937  const int *dimidsp, int *varidp);
938  int PIOc_set_fill(int ncid, int fillmode, int *old_modep);
939  int PIOc_def_var_fill(int ncid, int varid, int no_fill, const void *fill_value);
940  int PIOc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep);
941  int PIOc_rename_var(int ncid, int varid, const char *name);
942 
943  /* These variable settings only apply to netCDF-4 files. */
944  int PIOc_def_var_deflate(int ncid, int varid, int shuffle, int deflate,
945  int deflate_level);
946  int PIOc_inq_var_deflate(int ncid, int varid, int *shufflep, int *deflatep,
947  int *deflate_levelp);
948  int PIOc_def_var_chunking(int ncid, int varid, int storage, const PIO_Offset *chunksizesp);
949  int PIOc_inq_var_chunking(int ncid, int varid, int *storagep, PIO_Offset *chunksizesp);
950  int PIOc_def_var_endian(int ncid, int varid, int endian);
951  int PIOc_inq_var_endian(int ncid, int varid, int *endianp);
952  int PIOc_set_var_chunk_cache(int ncid, int varid, PIO_Offset size, PIO_Offset nelems,
953  float preemption);
954  int PIOc_get_var_chunk_cache(int ncid, int varid, PIO_Offset *sizep, PIO_Offset *nelemsp,
955  float *preemptionp);
956 
957  /* Attributes - misc. */
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);
960 
961  /* Attributes - inquiry functions. */
962  int PIOc_inq_att(int ncid, int varid, const char *name, nc_type *xtypep,
963  PIO_Offset *lenp);
964  int PIOc_inq_attid(int ncid, int varid, const char *name, int *idp);
965  int PIOc_inq_attlen(int ncid, int varid, const char *name, PIO_Offset *lenp);
966  int PIOc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep);
967  int PIOc_inq_attname(int ncid, int varid, int attnum, char *name);
968 
969  /* Attributes - writing. */
970  int PIOc_put_att(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len, const void *op);
971  int PIOc_put_att_text(int ncid, int varid, const char *name, PIO_Offset len, const char *op);
972  int PIOc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
973  const signed char *op);
974  int PIOc_put_att_short(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
975  const short *op);
976  int PIOc_put_att_int(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
977  const int *op);
978  int PIOc_put_att_long(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
979  const long *op);
980  int PIOc_put_att_float(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
981  const float *op);
982  int PIOc_put_att_double(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
983  const double *op);
984  int PIOc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
985  const unsigned char *op);
986  int PIOc_put_att_ushort(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
987  const unsigned short *op);
988  int PIOc_put_att_uint(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
989  const unsigned int *op);
990  int PIOc_put_att_longlong(int ncid, int varid, const char *name, nc_type xtype, PIO_Offset len,
991  const long long *op);
992  int PIOc_put_att_ulonglong(int ncid, int varid, const char *name, nc_type xtype,
993  PIO_Offset len, const unsigned long long *op);
994 
995  /* Attributes - reading. */
996  int PIOc_get_att(int ncid, int varid, const char *name, void *ip);
997  int PIOc_get_att_text(int ncid, int varid, const char *name, char *ip);
998  int PIOc_get_att_schar(int ncid, int varid, const char *name, signed char *ip);
999  int PIOc_get_att_short(int ncid, int varid, const char *name, short *ip);
1000  int PIOc_get_att_int(int ncid, int varid, const char *name, int *ip);
1001  int PIOc_get_att_long(int ncid, int varid, const char *name, long *ip);
1002  int PIOc_get_att_float(int ncid, int varid, const char *name, float *ip);
1003  int PIOc_get_att_double(int ncid, int varid, const char *name, double *ip);
1004  int PIOc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip);
1005  int PIOc_get_att_ushort(int ncid, int varid, const char *name, unsigned short *ip);
1006  int PIOc_get_att_uint(int ncid, int varid, const char *name, unsigned int *ip);
1007  int PIOc_get_att_longlong(int ncid, int varid, const char *name, long long *ip);
1008  int PIOc_get_att_ulonglong(int ncid, int varid, const char *name, unsigned long long *ip);
1009 
1010  /* Data reads - var. */
1011  int PIOc_get_var(int ncid, int varid, void *buf);
1012  int PIOc_get_var_text(int ncid, int varid, char *buf);
1013  int PIOc_get_var_schar(int ncid, int varid, signed char *buf);
1014  int PIOc_get_var_short(int ncid, int varid, short *buf);
1015  int PIOc_get_var_int(int ncid, int varid, int *buf);
1016  int PIOc_get_var_long(int ncid, int varid, long *buf);
1017  int PIOc_get_var_float(int ncid, int varid, float *buf);
1018  int PIOc_get_var_double(int ncid, int varid, double *buf);
1019  int PIOc_get_var_uchar(int ncid, int varid, unsigned char *buf);
1020  int PIOc_get_var_ushort(int ncid, int varid, unsigned short *buf);
1021  int PIOc_get_var_uint(int ncid, int varid, unsigned int *buf);
1022  int PIOc_get_var_longlong(int ncid, int varid, long long *buf);
1023  int PIOc_get_var_ulonglong(int ncid, int varid, unsigned long long *buf);
1024 
1025  /* Data writes - var. */
1026  int PIOc_put_var(int ncid, int varid, const void *buf);
1027  int PIOc_put_var_text(int ncid, int varid, const char *op);
1028  int PIOc_put_var_schar(int ncid, int varid, const signed char *op);
1029  int PIOc_put_var_short(int ncid, int varid, const short *op);
1030  int PIOc_put_var_int(int ncid, int varid, const int *op);
1031  int PIOc_put_var_long(int ncid, int varid, const long *op);
1032  int PIOc_put_var_float(int ncid, int varid, const float *op);
1033  int PIOc_put_var_double(int ncid, int varid, const double *op);
1034  int PIOc_put_var_uchar(int ncid, int varid, const unsigned char *op);
1035  int PIOc_put_var_ushort(int ncid, int varid, const unsigned short *op);
1036  int PIOc_put_var_uint(int ncid, int varid, const unsigned int *op);
1037  int PIOc_put_var_longlong(int ncid, int varid, const long long *op);
1038  int PIOc_put_var_ulonglong(int ncid, int varid, const unsigned long long *op);
1039 
1040  /* Data reads - var1. */
1041  int PIOc_get_var1(int ncid, int varid, const PIO_Offset *index, void *buf);
1042  int PIOc_get_var1_text(int ncid, int varid, const PIO_Offset *index, char *buf);
1043  int PIOc_get_var1_schar(int ncid, int varid, const PIO_Offset *index, signed char *buf);
1044  int PIOc_get_var1_short(int ncid, int varid, const PIO_Offset *index, short *buf);
1045  int PIOc_get_var1_int(int ncid, int varid, const PIO_Offset *index, int *buf);
1046  int PIOc_get_var1_long(int ncid, int varid, const PIO_Offset *index, long *buf);
1047  int PIOc_get_var1_float(int ncid, int varid, const PIO_Offset *index, float *buf);
1048  int PIOc_get_var1_double(int ncid, int varid, const PIO_Offset *index, double *buf);
1049  int PIOc_get_var1_uchar(int ncid, int varid, const PIO_Offset *index, unsigned char *buf);
1050  int PIOc_get_var1_ushort(int ncid, int varid, const PIO_Offset *index, unsigned short *buf);
1051  int PIOc_get_var1_uint(int ncid, int varid, const PIO_Offset *index, unsigned int *buf);
1052  int PIOc_get_var1_longlong(int ncid, int varid, const PIO_Offset *index, long long *buf);
1053  int PIOc_get_var1_ulonglong(int ncid, int varid, const PIO_Offset *index, unsigned long long *buf);
1054 
1055  /* Data writes - var1. */
1056  int PIOc_put_var1(int ncid, int varid, const PIO_Offset *index, const void *buf);
1057  int PIOc_put_var1_text(int ncid, int varid, const PIO_Offset *index, const char *op);
1058  int PIOc_put_var1_schar(int ncid, int varid, const PIO_Offset *index, const signed char *op);
1059  int PIOc_put_var1_short(int ncid, int varid, const PIO_Offset *index, const short *op);
1060  int PIOc_put_var1_int(int ncid, int varid, const PIO_Offset *index, const int *op);
1061  int PIOc_put_var1_long(int ncid, int varid, const PIO_Offset *index, const long *ip);
1062  int PIOc_put_var1_float(int ncid, int varid, const PIO_Offset *index, const float *op);
1063  int PIOc_put_var1_double(int ncid, int varid, const PIO_Offset *index, const double *op);
1064  int PIOc_put_var1_uchar(int ncid, int varid, const PIO_Offset *index,
1065  const unsigned char *op);
1066  int PIOc_put_var1_ushort(int ncid, int varid, const PIO_Offset *index,
1067  const unsigned short *op);
1068  int PIOc_put_var1_uint(int ncid, int varid, const PIO_Offset *index,
1069  const unsigned int *op);
1070  int PIOc_put_var1_longlong(int ncid, int varid, const PIO_Offset *index, const long long *op);
1071  int PIOc_put_var1_ulonglong(int ncid, int varid, const PIO_Offset *index,
1072  const unsigned long long *op);
1073 
1074  /* Data reads - vara. */
1075  int PIOc_get_vara(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count, void *buf);
1076  int PIOc_get_vara_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1077  char *buf);
1078  int PIOc_get_vara_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1079  signed char *buf);
1080  int PIOc_get_vara_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1081  short *buf);
1082  int PIOc_get_vara_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1083  int *buf);
1084  int PIOc_get_vara_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1085  float *buf);
1086  int PIOc_get_vara_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1087  long *buf);
1088  int PIOc_get_vara_double(int ncid, int varid, const PIO_Offset *start,
1089  const PIO_Offset *count, double *buf);
1090  int PIOc_get_vara_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1091  unsigned char *buf);
1092  int PIOc_get_vara_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1093  unsigned short *buf);
1094  int PIOc_get_vara_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1095  unsigned int *buf);
1096  int PIOc_get_vara_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1097  long long *buf);
1098  int PIOc_get_vara_ulonglong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1099  unsigned long long *buf);
1100 
1101  /* Data writes - vara. */
1102  int PIOc_put_vara(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1103  const void *buf);
1104  int PIOc_put_vara_text(int ncid, int varid, const PIO_Offset *start,
1105  const PIO_Offset *count, const char *op);
1106  int PIOc_put_vara_schar(int ncid, int varid, const PIO_Offset *start,
1107  const PIO_Offset *count, const signed char *op);
1108  int PIOc_put_vara_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1109  const short *op);
1110  int PIOc_put_vara_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1111  const int *op);
1112  int PIOc_put_vara_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1113  const long *op);
1114  int PIOc_put_vara_float(int ncid, int varid, const PIO_Offset *start,
1115  const PIO_Offset *count, const float *op);
1116  int PIOc_put_vara_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1117  const double *op);
1118  int PIOc_put_vara_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1119  const unsigned char *op);
1120  int PIOc_put_vara_ushort(int ncid, int varid, const PIO_Offset *start,
1121  const PIO_Offset *count, const unsigned short *op);
1122  int PIOc_put_vara_uint(int ncid, int varid, const PIO_Offset *start,
1123  const PIO_Offset *count, const unsigned int *op);
1124  int PIOc_put_vara_longlong(int ncid, int varid, const PIO_Offset *start,
1125  const PIO_Offset *count, const long long *op);
1126  int PIOc_put_vara_ulonglong(int ncid, int varid, const PIO_Offset *start,
1127  const PIO_Offset *count, const unsigned long long *op);
1128 
1129  /* Data reads - vars. */
1130  int PIOc_get_vars(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1131  const PIO_Offset *stride, void *buf);
1132  int PIOc_get_vars_text(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1133  const PIO_Offset *stride, char *buf);
1134  int PIOc_get_vars_schar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1135  const PIO_Offset *stride, signed char *buf);
1136  int PIOc_get_vars_short(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1137  const PIO_Offset *stride, short *buf);
1138  int PIOc_get_vars_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1139  const PIO_Offset *stride, int *buf);
1140  int PIOc_get_vars_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1141  const PIO_Offset *stride, long *buf);
1142  int PIOc_get_vars_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1143  const PIO_Offset *stride, float *buf);
1144  int PIOc_get_vars_double(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1145  const PIO_Offset *stride, double *buf);
1146  int PIOc_get_vars_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1147  const PIO_Offset *stride, unsigned char *buf);
1148  int PIOc_get_vars_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1149  const PIO_Offset *stride, unsigned short *buf);
1150  int PIOc_get_vars_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1151  const PIO_Offset *stride, unsigned int *buf);
1152  int PIOc_get_vars_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1153  const PIO_Offset *stride, long long *buf);
1154  int PIOc_get_vars_ulonglong(int ncid, int varid, const PIO_Offset *start,
1155  const PIO_Offset *count, const PIO_Offset *stride,
1156  unsigned long long *buf);
1157 
1158  /* Data writes - vars. */
1159  int PIOc_put_vars(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1160  const PIO_Offset *stride, const void *buf);
1161  int PIOc_put_vars_text(int ncid, int varid, const PIO_Offset *start,
1162  const PIO_Offset *count, const PIO_Offset *stride, const char *op);
1163  int PIOc_put_vars_schar(int ncid, int varid, const PIO_Offset *start,
1164  const PIO_Offset *count, const PIO_Offset *stride,
1165  const signed char *op);
1166  int PIOc_put_vars_short(int ncid, int varid, const PIO_Offset *start,
1167  const PIO_Offset *count, const PIO_Offset *stride, const short *op);
1168  int PIOc_put_vars_int(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1169  const PIO_Offset *stride, const int *op);
1170  int PIOc_put_vars_float(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1171  const PIO_Offset *stride, const float *op);
1172  int PIOc_put_vars_double(int ncid, int varid, const PIO_Offset *start,
1173  const PIO_Offset *count, const PIO_Offset *stride, const double *op);
1174  int PIOc_put_vars_long(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1175  const PIO_Offset *stride, const long *op);
1176  int PIOc_put_vars_uchar(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1177  const PIO_Offset *stride, const unsigned char *op);
1178  int PIOc_put_vars_ushort(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1179  const PIO_Offset *stride, const unsigned short *op);
1180  int PIOc_put_vars_uint(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1181  const PIO_Offset *stride, const unsigned int *op);
1182  int PIOc_put_vars_longlong(int ncid, int varid, const PIO_Offset *start, const PIO_Offset *count,
1183  const PIO_Offset *stride, const long long *op);
1184  int PIOc_put_vars_ulonglong(int ncid, int varid, const PIO_Offset *start,
1185  const PIO_Offset *count, const PIO_Offset *stride,
1186  const unsigned long long *op);
1187 
1188  /* Data reads - vard. */
1189  int PIOc_get_vard(int ncid, int varid, int decompid, const PIO_Offset recnum, void *buf);
1190  int PIOc_get_vard_text(int ncid, int varid, int decompid, const PIO_Offset recnum,
1191  char *buf);
1192  int PIOc_get_vard_schar(int ncid, int varid, int decompid, const PIO_Offset recnum,
1193  signed char *buf);
1194  int PIOc_get_vard_short(int ncid, int varid, int decompid, const PIO_Offset recnum,
1195  short *buf);
1196  int PIOc_get_vard_int(int ncid, int varid, int decompid, const PIO_Offset recnum,
1197  int *buf);
1198  int PIOc_get_vard_float(int ncid, int varid, int decompid, const PIO_Offset recnum,
1199  float *buf);
1200  int PIOc_get_vard_double(int ncid, int varid, int decompid, const PIO_Offset recnum,
1201  double *buf);
1202  int PIOc_get_vard_uchar(int ncid, int varid, int decompid, const PIO_Offset recnum,
1203  unsigned char *buf);
1204  int PIOc_get_vard_ushort(int ncid, int varid, int decompid, const PIO_Offset recnum,
1205  unsigned short *buf);
1206  int PIOc_get_vard_uint(int ncid, int varid, int decompid, const PIO_Offset recnum,
1207  unsigned int *buf);
1208  int PIOc_get_vard_longlong(int ncid, int varid, int decompid, const PIO_Offset recnum,
1209  long long *buf);
1210  int PIOc_get_vard_ulonglong(int ncid, int varid, int decompid, const PIO_Offset recnum,
1211  unsigned long long *buf);
1212 
1213  /* Data writes - vard. */
1214  int PIOc_put_vard(int ncid, int varid, int decompid, const PIO_Offset recnum,
1215  const void *buf);
1216  int PIOc_put_vard_text(int ncid, int varid, int decompid, const PIO_Offset recnum,
1217  const char *op);
1218  int PIOc_put_vard_schar(int ncid, int varid, int decompid, const PIO_Offset recnum,
1219  const signed char *op);
1220  int PIOc_put_vard_short(int ncid, int varid, int decompid, const PIO_Offset recnum,
1221  const short *op);
1222  int PIOc_put_vard_int(int ncid, int varid, int decompid, const PIO_Offset recnum,
1223  const int *op);
1224  int PIOc_put_vard_float(int ncid, int varid, int decompid, const PIO_Offset recnum,
1225  const float *op);
1226  int PIOc_put_vard_double(int ncid, int varid, int decompid, const PIO_Offset recnum,
1227  const double *op);
1228  int PIOc_put_vard_uchar(int ncid, int varid, int decompid, const PIO_Offset recnum,
1229  const unsigned char *op);
1230  int PIOc_put_vard_ushort(int ncid, int varid, int decompid, const PIO_Offset recnum,
1231  const unsigned short *op);
1232  int PIOc_put_vard_uint(int ncid, int varid, int decompid, const PIO_Offset recnum,
1233  const unsigned int *op);
1234  int PIOc_put_vard_longlong(int ncid, int varid, int decompid, const PIO_Offset recnum,
1235  const long long *op);
1236  int PIOc_put_vard_ulonglong(int ncid, int varid, int decompid, const PIO_Offset recnum,
1237  const unsigned long long *op);
1238 
1239  /* These functions are for the netCDF integration layer. */
1240  int nc_def_iosystem(MPI_Comm comp_comm, int num_iotasks, int stride, int base, int rearr,
1241  int *iosysidp);
1242 
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,
1246  int *iosysidp);
1247 
1248  /* Set the default IOsystem ID. */
1249  int nc_set_iosystem(int iosysid);
1250 
1251  /* Get the default IOsystem ID. */
1252  int nc_get_iosystem(int *iosysid);
1253 
1254  /* Release the resources associated with an iosystem. */
1255  int nc_free_iosystem(int iosysid);
1256 
1257  /* Define a decomposition for distributed arrays. */
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);
1262 
1263  /* Release resources associated with a decomposition. */
1264  int nc_free_decomp(int ioid);
1265 
1266  /* Data reads - read a distributed array. */
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,
1269  char *buf);
1270  int nc_get_vard_schar(int ncid, int varid, int decompid, const size_t recnum,
1271  signed char *buf);
1272  int nc_get_vard_short(int ncid, int varid, int decompid, const size_t recnum,
1273  short *buf);
1274  int nc_get_vard_int(int ncid, int varid, int decompid, const size_t recnum,
1275  int *buf);
1276  int nc_get_vard_float(int ncid, int varid, int decompid, const size_t recnum,
1277  float *buf);
1278  int nc_get_vard_double(int ncid, int varid, int decompid, const size_t recnum,
1279  double *buf);
1280  int nc_get_vard_uchar(int ncid, int varid, int decompid, const size_t recnum,
1281  unsigned char *buf);
1282  int nc_get_vard_ushort(int ncid, int varid, int decompid, const size_t recnum,
1283  unsigned short *buf);
1284  int nc_get_vard_uint(int ncid, int varid, int decompid, const size_t recnum,
1285  unsigned int *buf);
1286  int nc_get_vard_longlong(int ncid, int varid, int decompid, const size_t recnum,
1287  long long *buf);
1288  int nc_get_vard_ulonglong(int ncid, int varid, int decompid, const size_t recnum,
1289  unsigned long long *buf);
1290 
1291  /* Data writes - Write a distributed array. */
1292  int nc_put_vard(int ncid, int varid, int decompid, const size_t recnum,
1293  const void *buf);
1294  int nc_put_vard_text(int ncid, int varid, int decompid, const size_t recnum,
1295  const char *op);
1296  int nc_put_vard_schar(int ncid, int varid, int decompid, const size_t recnum,
1297  const signed char *op);
1298  int nc_put_vard_short(int ncid, int varid, int decompid, const size_t recnum,
1299  const short *op);
1300  int nc_put_vard_int(int ncid, int varid, int decompid, const size_t recnum,
1301  const int *op);
1302  int nc_put_vard_float(int ncid, int varid, int decompid, const size_t recnum,
1303  const float *op);
1304  int nc_put_vard_double(int ncid, int varid, int decompid, const size_t recnum,
1305  const double *op);
1306  int nc_put_vard_uchar(int ncid, int varid, int decompid, const size_t recnum,
1307  const unsigned char *op);
1308  int nc_put_vard_ushort(int ncid, int varid, int decompid, const size_t recnum,
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);
1312  int nc_put_vard_longlong(int ncid, int varid, int decompid, const size_t recnum,
1313  const long long *op);
1314  int nc_put_vard_ulonglong(int ncid, int varid, int decompid, const size_t recnum,
1315  const unsigned long long *op);
1316 
1317 #if defined(__cplusplus)
1318 }
1319 #endif
1320 
1321 #endif // _PIO_H_
io_desc_t::rtype
MPI_Datatype * rtype
Array (of length nrecvs) of receive MPI types in pio_swapm() call.
Definition: pio.h:353
PIOc_InitDecomp_bc
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
@ PIO_REARR_SUBSET
Subset rearranger.
Definition: pio.h:621
nc_put_vard_float
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
wmulti_buffer::vid
int * vid
Array of varids.
Definition: pio.h:522
PIOc_openfile
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
@ PIO_BCAST_ERROR
Error codes are broadcast to all tasks.
Definition: pio.h:633
PIOc_put_vard_uchar
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
PIOc_put_var1_long
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
PIOc_set_hint
int PIOc_set_hint(int iosysid, const char *hint, const char *hintval)
Send a hint to the MPI-IO library.
Definition: pioc.c:1296
PIOc_put_att_double
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
PIOc_put_var_uchar
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
nc_get_vard_int
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
PIOc_writemap_from_f90
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
PIOc_advanceframe
int PIOc_advanceframe(int ncid, int varid)
Increment the unlimited dimension of the given variable.
Definition: pioc.c:182
iosystem_desc_t::iomaster
int iomaster
Set to MPI_ROOT if this task is the master of IO communicator, 0 otherwise.
Definition: pio.h:447
io_desc_t::needssort
bool needssort
If the map is not monotonically increasing we will need to sort it.
Definition: pio.h:307
iosystem_desc_t::union_comm
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
io_desc_t::scount
int * scount
Array (length numiotasks) of data counts to send to each task in the communication in pio_swapm().
Definition: pio.h:343
io_desc_t::dimlen
int * dimlen
An array of size ndims with the global length of each dimension.
Definition: pio.h:290
PIOc_put_vars_uint
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
PIOc_get_vard_uchar
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
PIOc_strerror
int PIOc_strerror(int pioerr, char *errstr)
Return a string description of an error code.
Definition: pioc_support.c:98
PIOc_put_att_uint
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
PIOc_write_nc_decomp
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
PIOc_inq_atttype
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
PIOc_put_var_int
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
PIOc_put_att_long
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
io_desc_t::piotype
int piotype
The PIO type of the data.
Definition: pio.h:313
nc_put_vard_text
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
rearr_comm_fc_opt_t
struct rearr_comm_fc_opt rearr_comm_fc_opt_t
Rearranger comm flow control options.
wmulti_buffer::arraylen
int arraylen
Size of this variables data on local task.
Definition: pio.h:519
PIOc_put_vara_short
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
PIOc_get_var1
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
var_desc_t::hh
UT_hash_handle hh
Hash table entry.
Definition: pio.h:148
PIOc_set_iosystem_error_handling
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
rearr_opt_t
struct rearr_opt rearr_opt_t
Rearranger options.
iosystem_desc_t::ioranks
int * ioranks
An array of the ranks of all IO tasks within the union communicator.
Definition: pio.h:463
nc_put_vard_int
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
PIOc_InitDecomp
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
wmulti_buffer::recordvar
int recordvar
Non-zero if this is a buffer for a record var.
Definition: pio.h:510
nc_def_iosystem
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
PIOc_get_vara_short
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
PIOc_readmap_from_f90
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
PIOc_put_vard_ulonglong
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
PIOc_put_vars
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_desc_t::fillregion
io_region * fillregion
Used when writing fill data.
Definition: pio.h:374
var_desc_t::record
int record
The record number to be written.
Definition: pio.h:114
nc_put_vard_ulonglong
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
PIOc_inq_attid
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
nc_get_vard_ushort
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
PIOc_rename_att
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
PIOc_get_vars
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
PIOc_get_att_int
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
file_desc_t::hh
UT_hash_handle hh
Hash table entry.
Definition: pio.h:581
PIOc_inq_ndims
int PIOc_inq_ndims(int ncid, int *ndimsp)
Find out how many dimensions are defined in the file.
Definition: pio_nc.c:225
io_desc_t::maxbytes
int maxbytes
The maximum number of bytes of this iodesc before flushing.
Definition: pio.h:310
PIOc_put_att_float
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
PIOc_put_att
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
wmulti_buffer::data
void * data
Pointer to the data.
Definition: pio.h:532
io_desc_t::maxregions
int maxregions
Maximum number of regions in the decomposition.
Definition: pio.h:299
iosystem_desc_t::compproc
bool compproc
True if this task is a member of a computation communicator.
Definition: pio.h:484
PIO_REARR_COMM_FC_DIR
PIO_REARR_COMM_FC_DIR
Rearranger comm flow control direction.
Definition: pio.h:197
PIOc_put_var1_uint
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
PIOc_get_vard_double
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
nc_put_vard
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
io_desc_t::maxfillregions
int maxfillregions
Used when writing fill data.
Definition: pio.h:368
PIOc_put_vara_int
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
file_desc_t::writable
int writable
True if file can be written to.
Definition: pio.h:568
iosystem_desc_t::next
struct iosystem_desc_t * next
Pointer to the next iosystem_desc_t in the list.
Definition: pio.h:496
PIOc_get_vara_uint
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
PIOc_get_var1_int
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
io_desc_t::mpitype_size
int mpitype_size
The size in bytes of a datum of MPI type mpitype.
Definition: pio.h:322
PIOc_put_vard_longlong
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
PIOc_put_var1_ushort
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
iosystem_desc_t::comp_rank
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
PIOc_init_decomp
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
iosystem_desc_t::intercomm
MPI_Comm intercomm
This is an MPI inter communicator between IO communicator and computation communicator,...
Definition: pio.h:417
PIOc_get_vard_short
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
var_desc_t
Variable description structure.
Definition: pio.h:103
io_desc_t::ndof
int ndof
Local size of the decomposition array on the compute node.
Definition: pio.h:283
iosystem_desc_t::ioproc
bool ioproc
True if this task is a member of the IO communicator.
Definition: pio.h:480
PIOc_get_vard_ushort
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
io_desc_t::ndims
int ndims
All vars included in this io_desc_t have the same number of dimensions.
Definition: pio.h:287
PIOc_get_var1_short
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
PIOc_File_is_Open
int PIOc_File_is_Open(int ncid)
Check to see if PIO file is open.
Definition: pioc.c:121
PIOc_get_vard_schar
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
iosystem_desc_t
struct iosystem_desc_t iosystem_desc_t
IO system descriptor structure.
PIOc_get_vars_text
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
io_desc_t::rcount
int * rcount
Array (length nrecvs) of counts of data to be received from each computation task by the IO tasks.
Definition: pio.h:339
PIOc_get_numiotasks
int PIOc_get_numiotasks(int iosysid, int *numiotasks)
Get the number of IO tasks set.
Definition: pioc.c:306
io_desc_t::hh
UT_hash_handle hh
Hash table entry.
Definition: pio.h:387
PIOc_put_var_short
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
PIOc_get_var1_text
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
PIOc_set_fill
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
PIOc_iotask_rank
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
PIOc_get_vard_uint
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
PIOc_inq_format
int PIOc_inq_format(int ncid, int *formatp)
Learn the netCDF format of an open file.
Definition: pio_nc.c:519
PIOc_put_att_uchar
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
PIOc_put_att_ulonglong
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
PIOc_inq_att
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
PIOc_get_var
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
wmulti_buffer::htid
int htid
uthash handle for hash of buffers
Definition: pio.h:535
rearr_opt::io2comp
rearr_comm_fc_opt_t io2comp
flow control opts, io to comp procs
Definition: pio.h:250
PIO_IOTYPE_NETCDF4C
@ PIO_IOTYPE_NETCDF4C
NetCDF4 (HDF5) compressed format (serial)
Definition: pio.h:606
PIOc_iotype_available
int PIOc_iotype_available(int iotype)
Return true if this iotype is supported in the build, 0 otherwise.
Definition: pioc.c:1487
PIOc_get_var_ulonglong
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
PIOc_Set_File_Error_Handling
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
io_desc_t::rindex
PIO_Offset * rindex
Index for the IO tasks (receive side during writes).
Definition: pio.h:350
rearr_comm_fc_opt::isend
bool isend
Enable isends - if false use blocking sends.
Definition: pio.h:224
PIOc_put_vars_ulonglong
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
file_desc_t::fh
int fh
The ncid returned for this file by the underlying library (netcdf or pnetcdf).
Definition: pio.h:553
PIOc_put_var1_text
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
PIOc_get_var1_longlong
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
PIOc_inq_dimlen
int PIOc_inq_dimlen(int ncid, int dimid, PIO_Offset *lenp)
Find the length of a dimension.
Definition: pio_nc.c:725
file_desc_t
File descriptor structure.
Definition: pio.h:546
PIOc_put_var_ushort
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
PIOc_put_vard
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
file_desc_t::iosystem
iosystem_desc_t * iosystem
The IO system ID used to open this file.
Definition: pio.h:549
PIOc_put_vars_long
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
var_desc_t::mpi_type
MPI_Datatype mpi_type
The MPI type of the data.
Definition: pio.h:142
PIOc_write_darray
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
PIOc_put_var1_int
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
PIOc_sync
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
PIOc_inq_nvars
int PIOc_inq_nvars(int ncid, int *nvarsp)
Find out how many variables are defined in a file.
Definition: pio_nc.c:241
rearr_opt::comm_type
int comm_type
Comm type - see PIO_REARR_COMM_TYPE.
Definition: pio.h:241
PIOc_set_buffer_size_limit
PIO_Offset PIOc_set_buffer_size_limit(PIO_Offset limit)
Set the PIO IO node data buffer size limit.
Definition: pio_darray.c:57
PIOc_get_local_array_size
int PIOc_get_local_array_size(int ioid)
Get the local size of the variable.
Definition: pioc.c:328
PIOc_get_att_schar
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
PIOc_get_att_uint
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
PIOc_inq_type
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
file_desc_t
struct file_desc_t file_desc_t
File descriptor structure.
file_desc_t::ncint_file
int ncint_file
True if this file was opened with the netCDF integration feature.
Definition: pio.h:590
PIOc_get_vard_ulonglong
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
PIOc_iam_iotask
int PIOc_iam_iotask(int iosysid, bool *ioproc)
Return a logical indicating whether this task is an IO task.
Definition: pioc.c:1441
iosystem_desc_t::comproot
int comproot
Rank of computation root task (which is rank 0 in comm_comms[cmp]) in the union communicator.
Definition: pio.h:459
PIOc_get_vars_schar
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
wmulti_buffer::hh
UT_hash_handle hh
Hash table entry.
Definition: pio.h:538
iosystem_desc_t::compranks
int * compranks
An array of the ranks of all computation tasks within the union communicator.
Definition: pio.h:467
nc_get_vard_double
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
PIOc_put_var_text
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
PIOc_get_vard_text
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
wmulti_buffer::fillvalue
void * fillvalue
Array of fill values used for each var.
Definition: pio.h:529
rearr_comm_fc_opt::hs
bool hs
Enable handshake.
Definition: pio.h:221
PIOc_put_att_int
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
@ PIO_RETURN_ERROR
Errors are returned to caller with no internal action.
Definition: pio.h:636
PIO_REARR_COMM_P2P
@ PIO_REARR_COMM_P2P
Point to point.
Definition: pio.h:187
PIOc_put_var_longlong
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
PIOc_get_vara
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
PIOc_put_vard_int
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
PIOc_put_var1_float
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
@ PIO_REARR_BOX
Box rearranger.
Definition: pio.h:618
PIOc_get_att_long
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
rearr_comm_fc_opt::max_pend_req
int max_pend_req
Max pending requests (PIO_REARR_COMM_UNLIMITED_PEND_REQ => unlimited pend req).
Definition: pio.h:232
PIOc_readmap
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
PIOc_get_vars_int
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
PIOc_put_vara_float
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
nc_get_vard_short
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
PIOc_get_var_float
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
PIOc_get_vard
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
PIOc_get_vars_ushort
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
PIOc_iosystem_is_active
int PIOc_iosystem_is_active(int iosysid, bool *active)
Check to see if PIO has been initialized.
Definition: pioc.c:94
PIO_IOTYPE_PNETCDF
@ PIO_IOTYPE_PNETCDF
Parallel Netcdf (parallel)
Definition: pio.h:600
nc_get_iosystem
int nc_get_iosystem(int *iosysid)
Get the default iosystemID.
Definition: ncint_pio.c:130
PIOc_put_vard_text
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
var_desc_t::ndims
int ndims
Number of dimensions for this var.
Definition: pio.h:126
PIOc_inq_dimname
int PIOc_inq_dimname(int ncid, int dimid, char *name)
Find the name of a dimension.
Definition: pio_nc.c:707
PIOc_put_vard_double
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
PIOc_inq
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
PIOc_put_var_float
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
PIOc_del_att
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
PIOc_put_vara_longlong
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
PIOc_get_var1_float
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
PIOc_get_vara_ulonglong
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
PIOc_put_vara_schar
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
PIOc_get_vars_uchar
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
PIOc_get_var_uint
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
io_desc_t::num_aiotasks
int num_aiotasks
The actual number of IO tasks participating.
Definition: pio.h:293
PIOc_read_darray
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
PIOc_Set_IOSystem_Error_Handling
int PIOc_Set_IOSystem_Error_Handling(int iosysid, int method)
Set the error handling method used for subsequent calls.
Definition: pioc.c:351
PIOc_get_att_float
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
IO region structure.
Definition: pio.h:164
PIOc_put_vars_short
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
PIOc_get_vard_float
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
PIOc_free_iosystem
int PIOc_free_iosystem(int iosysid)
Clean up internal data structures, and free MPI resources, associated with an IOSystem.
Definition: pioc.c:1335
PIOc_put_vard_ushort
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
PIOc_get_var_schar
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_opt::comp2io
rearr_comm_fc_opt_t comp2io
flow control opts, comp to io procs
Definition: pio.h:247
nc_free_decomp
int nc_free_decomp(int ioid)
Same as PIOc_freedecomp().
Definition: ncint_pio.c:175
io_desc_t::maxiobuflen
int maxiobuflen
Maximum llen participating.
Definition: pio.h:332
PIOc_get_vars_float
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
iosystem_desc_t::error_handler
int error_handler
Controls handling errors.
Definition: pio.h:470
PIOc_put_vars_int
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
PIOc_get_vara_double
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
nc_put_vard_ushort
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
iosystem_desc_t
IO system descriptor structure.
Definition: pio.h:397
PIOc_get_var1_ushort
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
var_desc_t::mpi_type_size
int mpi_type_size
The size in bytes of a datum of MPI type mpitype.
Definition: pio.h:145
PIOc_put_var_schar
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
wmulti_buffer::ioid
int ioid
The ID that describes the decomposition, as returned from PIOc_Init_Decomp().
Definition: pio.h:507
var_desc_t::nreqs
int nreqs
Number of requests pending with pnetcdf.
Definition: pio.h:120
nc_put_vard_schar
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
io_desc_t::num_stypes
int num_stypes
Number of send MPI types in pio_swapm() call.
Definition: pio.h:359
nc_put_vard_short
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
nc_get_vard_schar
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
var_desc_t::request
int * request
ID of each outstanding pnetcdf request for this variable.
Definition: pio.h:117
io_desc_t::nrecvs
int nrecvs
Number of tasks involved in the communication between comp and io tasks.
Definition: pio.h:280
io_region::start
PIO_Offset * start
Start array for this region.
Definition: pio.h:171
nc_get_vard_text
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
io_desc_t::map
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
nc_put_vard_double
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
PIOc_put_vars_double
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
PIO_Offset
#define PIO_Offset
PIO_OFFSET is defined as MPI_Offset, which is defined in pio_internal.h as long long.
Definition: pio.h:30
file_desc_t::iotype
int iotype
The IOTYPE value that was used to open this file.
Definition: pio.h:559
io_desc_t::subset_comm
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
PIOc_get_var1_uchar
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
PIOc_def_var_endian
int PIOc_def_var_endian(int ncid, int varid, int endian)
Set chunksizes for a variable.
Definition: pio_nc4.c:492
io_desc_t::needsfill
bool needsfill
Does this decomp leave holes in the field (true) or write everywhere (false)
Definition: pio.h:303
PIOc_get_att_double
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
iosystem_desc_t::union_rank
int union_rank
Rank of this task in the union communicator.
Definition: pio.h:435
PIO_IOTYPE
PIO_IOTYPE
These are the supported methods of reading/writing netCDF files.
Definition: pio.h:597
PIOc_init_async
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
PIOc_get_var1_schar
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
PIOc_rename_dim
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
nc_def_async
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
io_desc_t::remap
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
iosystem_desc_t::rearr_opts
rearr_opt_t rearr_opts
Rearranger options.
Definition: pio.h:493
io_desc_t
IO descriptor structure.
Definition: pio.h:259
io_desc_t::mpitype
MPI_Datatype mpitype
The MPI type of the data.
Definition: pio.h:319
PIOc_put_vars_ushort
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
io_region::next
struct io_region * next
Pointer to the next io_region in the list.
Definition: pio.h:177
PIOc_put_var_long
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
PIOc_inq_var_chunking
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
nc_get_vard_uint
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
PIOc_init_async_from_comms
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
wmulti_buffer
struct wmulti_buffer wmulti_buffer
The multi buffer holds data from one or more variables.
PIOc_openfile2
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
io_desc_t::stype
MPI_Datatype * stype
Array of send MPI types in pio_swapm() call.
Definition: pio.h:356
PIOc_Init_Intracomm
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
PIO_ERROR_HANDLERS
These are the supported error handlers.
Definition: pio.h:627
rearr_opt::fcd
int fcd
Comm flow control dir - see PIO_REARR_COMM_FC_DIR.
Definition: pio.h:244
PIOc_inq_var_endian
int PIOc_inq_var_endian(int ncid, int varid, int *endianp)
Inquire about chunksizes for a variable.
Definition: pio_nc4.c:569
PIOc_put_vars_longlong
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
PIOc_put_vara_uint
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
PIOc_inq_attlen
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
PIOc_open
int PIOc_open(int iosysid, const char *path, int mode, int *ncidp)
Open an existing file using PIO library.
Definition: pio_file.c:107
file_desc_t::pio_type
int pio_type
PIO data type.
Definition: pio.h:578
PIO_REARRANGERS
PIO_REARRANGERS
These are the supported output data rearrangement methods.
Definition: pio.h:615
PIOc_read_nc_decomp
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
PIOc_write_decomp
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
io_region
struct io_region io_region
IO region structure.
PIOc_def_dim
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
PIOc_inq_varname
int PIOc_inq_varname(int ncid, int varid, char *name)
Get the name of a variable.
Definition: pio_nc.c:1008
PIOc_put_vara_ushort
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
rearr_opt
Rearranger options.
Definition: pio.h:238
iosystem_desc_t::comp_idx
int comp_idx
Index of this component in the list of components.
Definition: pio.h:490
nc_def_decomp
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
wmulti_buffer::frame
int * frame
An array of current record numbers, for record vars.
Definition: pio.h:526
nc_get_vard_float
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
PIOc_inq_varnatts
int PIOc_inq_varnatts(int ncid, int varid, int *nattsp)
Find the number of attributes associated with a variable.
Definition: pio_nc.c:1076
PIOc_get_vars_longlong
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
@ PIO_REARR_COMM_COLL
Collective.
Definition: pio.h:190
io_desc_t::sindex
PIO_Offset * sindex
Array (length ndof) for the BOX rearranger with the index for computation taks (send side during writ...
Definition: pio.h:347
PIOc_put_att_longlong
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
PIOc_put_vara_double
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
@ PIO_REARR_COMM_FC_1D_COMP2IO
Comp procs to io procs only.
Definition: pio.h:203
PIOc_get_var1_uint
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
iosystem_desc_t::comp_comm
MPI_Comm comp_comm
This is an MPI intra communicator that includes all the tasks involved in computation.
Definition: pio.h:413
PIOc_get_var1_long
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
var_desc_t::rec_var
int rec_var
Non-zero if this is a record var (i.e.
Definition: pio.h:110
PIOc_inq_varid
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
PIOc_put_vara_text
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
PIOc_def_var_deflate
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
iosystem_desc_t::info
MPI_Info info
MPI Info object.
Definition: pio.h:487
PIOc_get_var_int
int PIOc_get_var_int(int ncid, int varid, int *buf)
Get all data of an integer variable.
Definition: pio_get_nc.c:826
nc_get_vard_ulonglong
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
iosystem_desc_t::io_comm
MPI_Comm io_comm
This is an MPI intra communicator that includes all the tasks involved in IO.
Definition: pio.h:409
PIOc_deletefile
int PIOc_deletefile(int iosysid, const char *filename)
Delete a file.
Definition: pio_file.c:315
PIOc_put_att_text
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
@ PIO_REARR_COMM_FC_2D_ENABLE
Comp procs to io procs and vice versa.
Definition: pio.h:200
iosystem_desc_t::iosysid
int iosysid
The ID of this iosystem_desc_t.
Definition: pio.h:401
io_region::count
PIO_Offset * count
Count array for this region.
Definition: pio.h:174
rearr_comm_fc_opt
Rearranger comm flow control options.
Definition: pio.h:218
iosystem_desc_t::async
bool async
True if asynchronous interface is in use.
Definition: pio.h:477
PIOc_get_vara_schar
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
io_desc_t::maxholegridsize
int maxholegridsize
max holegridsize across all io tasks, needed for netcdf and netcdf4c serial
Definition: pio.h:365
PIOc_put_var1_short
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
iosystem_desc_t::default_rearranger
int default_rearranger
The rearranger decides which parts of a distributed array are handled by which IO tasks.
Definition: pio.h:474
PIOc_get_vara_text
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
var_desc_t::pio_type_size
int pio_type_size
The size, in bytes, of the PIO data type.
Definition: pio.h:139
PIOc_get_vard_longlong
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
iosystem_desc_t::my_comm
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
PIOc_put_vard_short
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
PIOc_get_var_ushort
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
var_desc_t::pio_type
int pio_type
The PIO data type.
Definition: pio.h:136
file_desc_t::varlist
struct var_desc_t * varlist
List of variables in this file.
Definition: pio.h:562
PIOc_put_att_ushort
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
PIOc_redef
int PIOc_redef(int ncid)
The PIO-C interface for the NetCDF function nc_redef.
Definition: pio_nc.c:2013
PIOc_put_vars_text
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
PIOc_get_att_short
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
PIOc_inq_var
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
PIOc_get_vara_int
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
wmulti_buffer
The multi buffer holds data from one or more variables.
Definition: pio.h:503
nc_put_vard_longlong
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
io_desc_t::piotype_size
int piotype_size
The size of one element of the piotype.
Definition: pio.h:316
PIOc_get_att_uchar
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
@ PIO_REARR_COMM_FC_1D_IO2COMP
IO procs to comp procs only.
Definition: pio.h:206
PIOc_put_var1_longlong
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
PIOc_inq_var_fill
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
PIOc_set_var_chunk_cache
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
PIOc_put_vara_ulonglong
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
PIOc_enddef
int PIOc_enddef(int ncid)
The PIO-C interface for the NetCDF function nc_enddef.
Definition: pio_nc.c:1993
io_desc_t::rearr_opts
rearr_opt_t rearr_opts
Rearranger flow control options (handshake, non-blocking sends, pending requests)
Definition: pio.h:379
file_desc_t::nvars
int nvars
Number of variables.
Definition: pio.h:565
PIOc_put_vard_schar
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
PIOc_get_att_longlong
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
PIOc_get_var1_double
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
PIOc_get_vard_int
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
iosystem_desc_t::compmaster
int compmaster
Set to MPI_ROOT if this task is the master of comp communicator, 0 otherwise.
Definition: pio.h:451
PIOc_get_vars_ulonglong
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
PIOc_put_vars_float
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
PIOc_get_vara_longlong
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
var_desc_t
struct var_desc_t var_desc_t
Variable description structure.
PIOc_get_chunk_cache
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
PIOc_get_var_short
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
PIOc_put_att_schar
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
PIOc_get_var_longlong
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
PIOc_inq_dim
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
PIOc_get_var_long
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
PIOc_get_vara_float
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
PIOc_inq_dimid
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
PIOc_inq_unlimdims
int PIOc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp)
Find out the dimension ids of all unlimited dimensions.
Definition: pio_nc.c:292
PIOc_get_var_uchar
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
var_desc_t::fillbuf
void * fillbuf
Buffer that contains the holegrid fill values used to fill in missing sections of data when using the...
Definition: pio.h:133
PIOc_inq_natts
int PIOc_inq_natts(int ncid, int *ngattsp)
Find out how many global attributes are defined in a file.
Definition: pio_nc.c:256
PIOc_get_vars_long
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
nc_put_vard_uchar
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
PIOc_get_vara_uchar
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
@ PIO_INTERNAL_ERROR
Errors cause abort.
Definition: pio.h:630
PIOc_get_vars_short
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
PIOc_put_vara_long
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
io_desc_t
struct io_desc_t io_desc_t
IO descriptor structure.
PIOc_get_vara_long
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
nc_put_vard_uint
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
nc_free_iosystem
int nc_free_iosystem(int iosysid)
Same as PIOc_free_iosystem().
Definition: ncint_pio.c:147
file_desc_t::buffer
struct wmulti_buffer * buffer
The wmulti_buffer is used to aggregate multiple variables with the same communication pattern prior t...
Definition: pio.h:572
io_region::loffset
int loffset
The offset from the beginning of the data buffer to the beginning of this region.
Definition: pio.h:168
file_desc_t::pio_ncid
int pio_ncid
The ncid that will be returned to the user.
Definition: pio.h:556
PIOc_set_log_level
int PIOc_set_log_level(int level)
Set the logging level if PIO was built with PIO_ENABLE_LOGGING.
Definition: pioc_support.c:161
PIOc_create
int PIOc_create(int iosysid, const char *path, int cmode, int *ncidp)
Open a new file using pio.
Definition: pio_file.c:186
nc_get_vard_uchar
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
PIOc_put_vard_uint
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
var_desc_t::varid
int varid
Variable ID.
Definition: pio.h:106
iosystem_desc_t::num_uniontasks
int num_uniontasks
The number of tasks in the union communicator (will be num_comptasks for non-async,...
Definition: pio.h:432
PIOc_put_vars_schar
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
nc_get_vard
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
PIOc_rename_var
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
file_desc_t::do_io
int do_io
True if this task should participate in IO (only true for one task with netcdf serial files.
Definition: pio.h:585
PIOc_put_vara_uchar
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
iosystem_desc_t::ioroot
int ioroot
Rank of IO root task (which is rank 0 in io_comm) in the union communicator.
Definition: pio.h:455
PIOc_def_var
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
PIOc_get_att_ushort
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
PIOc_get_var_double
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
PIOc_put_var1_schar
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
PIOc_inq_attname
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
PIOc_writemap
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
PIOc_def_var_fill
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
PIOc_inq_varndims
int PIOc_inq_varndims(int ncid, int varid, int *ndimsp)
Find the number of dimensions of a variable.
Definition: pio_nc.c:1042
PIOc_get_var_text
int PIOc_get_var_text(int ncid, int varid, char *buf)
Get all data of a text variable.
Definition: pio_get_nc.c:724
PIOc_def_var_chunking
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
PIOc_inq_unlimdim
int PIOc_inq_unlimdim(int ncid, int *unlimdimidp)
Find out the dimension ids of the unlimited dimension.
Definition: pio_nc.c:272
nc_set_iosystem
int nc_set_iosystem(int iosysid)
Set the default iosystemID.
Definition: ncint_pio.c:113
PIOc_inq_var_deflate
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
PIOc_get_att_text
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
PIOc_put_var1_uchar
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
PIOc_set_blocksize
int PIOc_set_blocksize(int newblocksize)
Set the target blocksize for the box rearranger.
Definition: pioc.c:2168
PIOc_get_vars_uint
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
PIOc_write_darray_multi
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
@ PIO_IOTYPE_NETCDF
Netcdf3 Classic format (serial)
Definition: pio.h:603
io_desc_t::llen
PIO_Offset llen
Length of the iobuffer on this task for a single field on the IO node.
Definition: pio.h:329
PIOc_put_vard_float
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
PIOc_put_var1
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
PIOc_put_var_ulonglong
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
io_desc_t::rearranger
int rearranger
The rearranger in use for this variable.
Definition: pio.h:296
var_desc_t::fillvalue
void * fillvalue
Holds the fill value of this var.
Definition: pio.h:123
PIOc_inq_vardimid
int PIOc_inq_vardimid(int ncid, int varid, int *dimidsp)
Find the dimension IDs associated with a variable.
Definition: pio_nc.c:1059
PIOc_put_var_uint
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
PIOc_get_att
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
PIOc_put_att_short
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
io_desc_t::ioid
int ioid
The ID of this io_desc_t.
Definition: pio.h:262
wmulti_buffer::num_arrays
int num_arrays
Number of arrays of data in the multibuffer.
Definition: pio.h:515
io_desc_t::firstregion
io_region * firstregion
Linked list of regions.
Definition: pio.h:371
PIOc_put_var_double
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
PIOc_setframe
int PIOc_setframe(int ncid, int varid, int frame)
Set the unlimited dimension of the given variable.
Definition: pioc.c:243
PIOc_set_global_log_level
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
@ PIO_IOTYPE_NETCDF4P
NetCDF4 (HDF5) parallel.
Definition: pio.h:609
PIOc_put_var1_double
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
PIOc_put_var1_ulonglong
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
PIOc_put_var
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
PIOc_get_var_chunk_cache
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
PIOc_finalize
int PIOc_finalize(int iosysid)
Shut down an iosystem and free all associated resources.
PIOc_inq_vartype
int PIOc_inq_vartype(int ncid, int varid, nc_type *xtypep)
Find the type of a variable.
Definition: pio_nc.c:1025
PIOc_get_vars_double
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
iosystem_desc_t::num_comptasks
int num_comptasks
The number of tasks in the computation communicator.
Definition: pio.h:427
PIOc_set_chunk_cache
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
var_desc_t::use_fill
int use_fill
Non-zero if fill mode is turned on for this var.
Definition: pio.h:129
file_desc_t::iobuf
void * iobuf
Data buffer for this file.
Definition: pio.h:575
PIOc_closefile
int PIOc_closefile(int ncid)
Close a file previously opened with PIO.
Definition: pio_file.c:215
PIOc_get_vara_ushort
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
PIOc_createfile
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
io_desc_t::maplen
int maplen
The length of the decomposition map.
Definition: pio.h:265
PIOc_get_att_ulonglong
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
io_desc_t::rfrom
int * rfrom
Array (length nrecvs) of computation tasks received from.
Definition: pio.h:335
PIOc_set_rearr_opts
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
PIO_REARR_COMM_TYPE
Rearranger comm type.
Definition: pio.h:184
PIOc_put_vara
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
iosystem_desc_t::num_iotasks
int num_iotasks
The number of tasks in the IO communicator.
Definition: pio.h:424
iosystem_desc_t::io_rank
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
io_desc_t::holegridsize
int holegridsize
Used when writing fill data.
Definition: pio.h:362
PIOc_freedecomp
int PIOc_freedecomp(int iosysid, int ioid)
Free a decomposition map.
Definition: pioc_support.c:993
PIOc_put_vars_uchar
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
nc_get_vard_longlong
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
@ PIO_REARR_COMM_FC_2D_DISABLE
Disable flow control.
Definition: pio.h:209
PIOc_get_var1_ulonglong
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