NetCDF  4.3.2
 All Data Structures Files Functions Variables Typedefs Macros Modules Pages
netcdf.h
Go to the documentation of this file.
1 
11 #ifndef _NETCDF_
12 #define _NETCDF_
13 
14 #include <stddef.h> /* size_t, ptrdiff_t */
15 #include <errno.h> /* netcdf functions sometimes return system errors */
16 
17 /* Required for alloca on Windows */
18 #if defined(_WIN32) || defined(_WIN64)
19 #include <malloc.h>
20 #endif
21 
22 #ifdef _WIN64
23 #include <sys/stat.h>
24 #endif
25 
27 typedef int nc_type;
28 
29 #if defined(__cplusplus)
30 extern "C" {
31 #endif
32 
33 /*
34  * The netcdf external data types
35  */
36 #define NC_NAT 0
37 #define NC_BYTE 1
38 #define NC_CHAR 2
39 #define NC_SHORT 3
40 #define NC_INT 4
41 #define NC_LONG NC_INT
42 #define NC_FLOAT 5
43 #define NC_DOUBLE 6
44 #define NC_UBYTE 7
45 #define NC_USHORT 8
46 #define NC_UINT 9
47 #define NC_INT64 10
48 #define NC_UINT64 11
49 #define NC_STRING 12
51 #define NC_MAX_ATOMIC_TYPE NC_STRING
52 
53 /* The following are use internally in support of user-defines
54  * types. They are also the class returned by nc_inq_user_type. */
55 #define NC_VLEN 13
56 #define NC_OPAQUE 14
57 #define NC_ENUM 15
58 #define NC_COMPOUND 16
60 /* Define the first user defined type id (leave some room) */
61 #define NC_FIRSTUSERTYPEID 32
62 
68 #define NC_FILL_BYTE ((signed char)-127)
69 #define NC_FILL_CHAR ((char)0)
70 #define NC_FILL_SHORT ((short)-32767)
71 #define NC_FILL_INT (-2147483647L)
72 #define NC_FILL_FLOAT (9.9692099683868690e+36f) /* near 15 * 2^119 */
73 #define NC_FILL_DOUBLE (9.9692099683868690e+36)
74 #define NC_FILL_UBYTE (255)
75 #define NC_FILL_USHORT (65535)
76 #define NC_FILL_UINT (4294967295U)
77 #define NC_FILL_INT64 ((long long)-9223372036854775806LL)
78 #define NC_FILL_UINT64 ((unsigned long long)18446744073709551614ULL)
79 #define NC_FILL_STRING ""
80 
90 #define NC_MAX_BYTE 127
91 #define NC_MIN_BYTE (-NC_MAX_BYTE-1)
92 #define NC_MAX_CHAR 255
93 #define NC_MAX_SHORT 32767
94 #define NC_MIN_SHORT (-NC_MAX_SHORT - 1)
95 #define NC_MAX_INT 2147483647
96 #define NC_MIN_INT (-NC_MAX_INT - 1)
97 #define NC_MAX_FLOAT 3.402823466e+38f
98 #define NC_MIN_FLOAT (-NC_MAX_FLOAT)
99 #define NC_MAX_DOUBLE 1.7976931348623157e+308
100 #define NC_MIN_DOUBLE (-NC_MAX_DOUBLE)
101 #define NC_MAX_UBYTE NC_MAX_CHAR
102 #define NC_MAX_USHORT 65535U
103 #define NC_MAX_UINT 4294967295U
104 #define NC_MAX_INT64 (9223372036854775807LL)
105 #define NC_MIN_INT64 (-9223372036854775807LL-1)
106 #define NC_MAX_UINT64 (18446744073709551615ULL)
107 #define X_INT64_MAX (9223372036854775807LL)
108 #define X_INT64_MIN (-X_INT64_MAX - 1)
109 #define X_UINT64_MAX (18446744073709551615ULL)
110 
117 #define _FillValue "_FillValue"
118 #define NC_FILL 0
119 #define NC_NOFILL 0x100
121 /* Define the ioflags bits for nc_create and nc_open.
122  currently unused: 0x0010,0x0020,0x0040,0x0080
123  and the whole upper 16 bits
124 */
125 
126 #define NC_NOWRITE 0x0000
127 #define NC_WRITE 0x0001
128 /* unused: 0x0002 */
129 #define NC_CLOBBER 0x0000
130 #define NC_NOCLOBBER 0x0004
132 #define NC_DISKLESS 0x0008
133 #define NC_MMAP 0x0010
135 #define NC_CLASSIC_MODEL 0x0100
136 #define NC_64BIT_OFFSET 0x0200
142 #define NC_LOCK 0x0400
143 
146 #define NC_SHARE 0x0800
147 
148 #define NC_NETCDF4 0x1000
152 #define NC_MPIIO 0x2000
153 
155 #define NC_MPIPOSIX 0x4000
156 #define NC_PNETCDF 0x8000
165 #define NC_FORMAT_CLASSIC (1)
166 #define NC_FORMAT_64BIT (2)
167 #define NC_FORMAT_NETCDF4 (3)
168 #define NC_FORMAT_NETCDF4_CLASSIC (4)
169 
188 #define NC_FORMAT_NC3 (1)
189 #define NC_FORMAT_NC_HDF5 (2) /*cdf 4 subset of HDF5 */
190 #define NC_FORMAT_NC_HDF4 (3) /* netcdf 4 subset of HDF4 */
191 #define NC_FORMAT_PNETCDF (4)
192 #define NC_FORMAT_DAP2 (5)
193 #define NC_FORMAT_DAP4 (6)
194 #define NC_FORMAT_UNDEFINED (0)
195 
198 #define NC_SIZEHINT_DEFAULT 0
199 
201 #define NC_ALIGN_CHUNK ((size_t)(-1))
202 
204 #define NC_UNLIMITED 0L
205 
207 #define NC_GLOBAL -1
208 
228 #define NC_MAX_DIMS 1024
229 #define NC_MAX_ATTRS 8192
230 #define NC_MAX_VARS 8192
231 #define NC_MAX_NAME 256
232 #define NC_MAX_VAR_DIMS 1024
236 #define NC_MAX_HDF4_NAME 64
237 
241 #define NC_ENDIAN_NATIVE 0
242 #define NC_ENDIAN_LITTLE 1
243 #define NC_ENDIAN_BIG 2
244 
250 #define NC_CHUNKED 0
251 #define NC_CONTIGUOUS 1
252 
259 #define NC_NOCHECKSUM 0
260 #define NC_FLETCHER32 1
261 
268 #define NC_NOSHUFFLE 0
269 #define NC_SHUFFLE 1
270 
276 #define NC_ISSYSERR(err) ((err) > 0)
277 
278 #define NC_NOERR 0
279 #define NC2_ERR (-1)
285 #define NC_EBADID (-33)
286 #define NC_ENFILE (-34)
287 #define NC_EEXIST (-35)
288 #define NC_EINVAL (-36)
289 #define NC_EPERM (-37)
294 #define NC_ENOTINDEFINE (-38)
295 
303 #define NC_EINDEFINE (-39)
304 
310 #define NC_EINVALCOORDS (-40)
311 #define NC_EMAXDIMS (-41)
312 #define NC_ENAMEINUSE (-42)
313 #define NC_ENOTATT (-43)
314 #define NC_EMAXATTS (-44)
315 #define NC_EBADTYPE (-45)
316 #define NC_EBADDIM (-46)
317 #define NC_EUNLIMPOS (-47)
322 #define NC_EMAXVARS (-48)
323 
327 #define NC_ENOTVAR (-49)
328 #define NC_EGLOBAL (-50)
329 #define NC_ENOTNC (-51)
330 #define NC_ESTS (-52)
331 #define NC_EMAXNAME (-53)
332 #define NC_EUNLIMIT (-54)
333 #define NC_ENORECVARS (-55)
334 #define NC_ECHAR (-56)
343 #define NC_EEDGE (-57)
344 #define NC_ESTRIDE (-58)
345 #define NC_EBADNAME (-59)
346 /* N.B. following must match value in ncx.h */
347 
352 #define NC_ERANGE (-60)
353 #define NC_ENOMEM (-61)
354 #define NC_EVARSIZE (-62)
355 #define NC_EDIMSIZE (-63)
356 #define NC_ETRUNC (-64)
357 #define NC_EAXISTYPE (-65)
359 /* Following errors are added for DAP */
360 #define NC_EDAP (-66)
361 #define NC_ECURL (-67)
362 #define NC_EIO (-68)
363 #define NC_ENODATA (-69)
364 #define NC_EDAPSVC (-70)
365 #define NC_EDAS (-71)
366 #define NC_EDDS (-72)
367 #define NC_EDATADDS (-73)
368 #define NC_EDAPURL (-74)
369 #define NC_EDAPCONSTRAINT (-75)
370 #define NC_ETRANSLATION (-76)
371 #define NC_EACCESS (-77)
372 #define NC_EAUTH (-78)
374 /* Misc. additional errors */
375 #define NC_ENOTFOUND (-90)
376 #define NC_ECANTREMOVE (-91)
378 /* The following was added in support of netcdf-4. Make all netcdf-4
379  error codes < -100 so that errors can be added to netcdf-3 if
380  needed. */
381 #define NC4_FIRST_ERROR (-100)
382 
384 #define NC_EHDFERR (-101)
385 #define NC_ECANTREAD (-102)
386 #define NC_ECANTWRITE (-103)
387 #define NC_ECANTCREATE (-104)
388 #define NC_EFILEMETA (-105)
389 #define NC_EDIMMETA (-106)
390 #define NC_EATTMETA (-107)
391 #define NC_EVARMETA (-108)
392 #define NC_ENOCOMPOUND (-109)
393 #define NC_EATTEXISTS (-110)
394 #define NC_ENOTNC4 (-111)
397 #define NC_ESTRICTNC3 (-112)
398 #define NC_ENOTNC3 (-113)
399 #define NC_ENOPAR (-114)
400 #define NC_EPARINIT (-115)
401 #define NC_EBADGRPID (-116)
402 #define NC_EBADTYPID (-117)
403 #define NC_ETYPDEFINED (-118)
404 #define NC_EBADFIELD (-119)
405 #define NC_EBADCLASS (-120)
406 #define NC_EMAPTYPE (-121)
407 #define NC_ELATEFILL (-122)
408 #define NC_ELATEDEF (-123)
409 #define NC_EDIMSCALE (-124)
410 #define NC_ENOGRP (-125)
411 #define NC_ESTORAGE (-126)
412 #define NC_EBADCHUNK (-127)
413 #define NC_ENOTBUILT (-128)
414 #define NC_EDISKLESS (-129)
415 #define NC_ECANTEXTEND (-130)
416 #define NC_EMPI (-131)
418 #define NC4_LAST_ERROR (-131)
419 
420 /* This is used in netCDF-4 files for dimensions without coordinate
421  * vars. */
422 #define DIM_WITHOUT_VARIABLE "This is a netCDF dimension but not a netCDF variable."
423 
424 /* This is here at the request of the NCO team to support our
425  * mistake of having chunksizes be first ints, then size_t. Doh! */
426 #define NC_HAVE_NEW_CHUNKING_API 1
427 
428 
429 /*Errors for all remote access methods(e.g. DAP and CDMREMOTE)*/
430 #define NC_EURL (NC_EDAPURL) /* Malformed URL */
431 #define NC_ECONSTRAINT (NC_EDAPCONSTRAINT) /* Malformed Constraint*/
432 
433 
434 /*
435  * The Interface
436  */
437 
438 /* Declaration modifiers for DLL support (MSC et al) */
439 #if defined(DLL_NETCDF) /* define when library is a DLL */
440 # if defined(DLL_EXPORT) /* define when building the library */
441 # define MSC_EXTRA __declspec(dllexport)
442 # else
443 # define MSC_EXTRA __declspec(dllimport)
444 # endif
445 #include <io.h>
446 #else
447 #define MSC_EXTRA
448 #endif /* defined(DLL_NETCDF) */
449 
450 # define EXTERNL MSC_EXTRA extern
451 
452 #if defined(DLL_NETCDF) /* define when library is a DLL */
453 EXTERNL int ncerr;
454 EXTERNL int ncopts;
455 #endif
456 
457 EXTERNL const char *
458 nc_inq_libvers(void);
459 
460 EXTERNL const char *
461 nc_strerror(int ncerr);
462 
463 EXTERNL int
464 nc__create(const char *path, int cmode, size_t initialsz,
465  size_t *chunksizehintp, int *ncidp);
466 
467 EXTERNL int
468 nc_create(const char *path, int cmode, int *ncidp);
469 
470 EXTERNL int
471 nc__open(const char *path, int mode,
472  size_t *chunksizehintp, int *ncidp);
473 
474 EXTERNL int
475 nc_open(const char *path, int mode, int *ncidp);
476 
477 /* Learn the path used to open/create the file. */
478 EXTERNL int
479 nc_inq_path(int ncid, size_t *pathlen, char *path);
480 
481 /* Given an ncid and group name (NULL gets root group), return
482  * locid. */
483 EXTERNL int
484 nc_inq_ncid(int ncid, const char *name, int *grp_ncid);
485 
486 /* Given a location id, return the number of groups it contains, and
487  * an array of their locids. */
488 EXTERNL int
489 nc_inq_grps(int ncid, int *numgrps, int *ncids);
490 
491 /* Given locid, find name of group. (Root group is named "/".) */
492 EXTERNL int
493 nc_inq_grpname(int ncid, char *name);
494 
495 /* Given ncid, find full name and len of full name. (Root group is
496  * named "/", with length 1.) */
497 EXTERNL int
498 nc_inq_grpname_full(int ncid, size_t *lenp, char *full_name);
499 
500 /* Given ncid, find len of full name. */
501 EXTERNL int
502 nc_inq_grpname_len(int ncid, size_t *lenp);
503 
504 /* Given an ncid, find the ncid of its parent group. */
505 EXTERNL int
506 nc_inq_grp_parent(int ncid, int *parent_ncid);
507 
508 /* Given a name and parent ncid, find group ncid. */
509 EXTERNL int
510 nc_inq_grp_ncid(int ncid, const char *grp_name, int *grp_ncid);
511 
512 /* Given a full name and ncid, find group ncid. */
513 EXTERNL int
514 nc_inq_grp_full_ncid(int ncid, const char *full_name, int *grp_ncid);
515 
516 /* Get a list of ids for all the variables in a group. */
517 EXTERNL int
518 nc_inq_varids(int ncid, int *nvars, int *varids);
519 
520 /* Find all dimids for a location. This finds all dimensions in a
521  * group, or any of its parents. */
522 EXTERNL int
523 nc_inq_dimids(int ncid, int *ndims, int *dimids, int include_parents);
524 
525 /* Find all user-defined types for a location. This finds all
526  * user-defined types in a group. */
527 EXTERNL int
528 nc_inq_typeids(int ncid, int *ntypes, int *typeids);
529 
530 /* Are two types equal? */
531 EXTERNL int
532 nc_inq_type_equal(int ncid1, nc_type typeid1, int ncid2,
533  nc_type typeid2, int *equal);
534 
535 /* Create a group. its ncid is returned in the new_ncid pointer. */
536 EXTERNL int
537 nc_def_grp(int parent_ncid, const char *name, int *new_ncid);
538 
539 /* Rename a group */
540 EXTERNL int
541 nc_rename_grp(int grpid, const char *name);
542 
543 /* Here are functions for dealing with compound types. */
544 
545 /* Create a compound type. */
546 EXTERNL int
547 nc_def_compound(int ncid, size_t size, const char *name, nc_type *typeidp);
548 
549 /* Insert a named field into a compound type. */
550 EXTERNL int
551 nc_insert_compound(int ncid, nc_type xtype, const char *name,
552  size_t offset, nc_type field_typeid);
553 
554 /* Insert a named array into a compound type. */
555 EXTERNL int
556 nc_insert_array_compound(int ncid, nc_type xtype, const char *name,
557  size_t offset, nc_type field_typeid,
558  int ndims, const int *dim_sizes);
559 
560 /* Get the name and size of a type. */
561 EXTERNL int
562 nc_inq_type(int ncid, nc_type xtype, char *name, size_t *size);
563 
564 /* Get the id of a type from the name. */
565 EXTERNL int
566 nc_inq_typeid(int ncid, const char *name, nc_type *typeidp);
567 
568 /* Get the name, size, and number of fields in a compound type. */
569 EXTERNL int
570 nc_inq_compound(int ncid, nc_type xtype, char *name, size_t *sizep,
571  size_t *nfieldsp);
572 
573 /* Get the name of a compound type. */
574 EXTERNL int
575 nc_inq_compound_name(int ncid, nc_type xtype, char *name);
576 
577 /* Get the size of a compound type. */
578 EXTERNL int
579 nc_inq_compound_size(int ncid, nc_type xtype, size_t *sizep);
580 
581 /* Get the number of fields in this compound type. */
582 EXTERNL int
583 nc_inq_compound_nfields(int ncid, nc_type xtype, size_t *nfieldsp);
584 
585 /* Given the xtype and the fieldid, get all info about it. */
586 EXTERNL int
587 nc_inq_compound_field(int ncid, nc_type xtype, int fieldid, char *name,
588  size_t *offsetp, nc_type *field_typeidp, int *ndimsp,
589  int *dim_sizesp);
590 
591 /* Given the typeid and the fieldid, get the name. */
592 EXTERNL int
593 nc_inq_compound_fieldname(int ncid, nc_type xtype, int fieldid,
594  char *name);
595 
596 /* Given the xtype and the name, get the fieldid. */
597 EXTERNL int
598 nc_inq_compound_fieldindex(int ncid, nc_type xtype, const char *name,
599  int *fieldidp);
600 
601 /* Given the xtype and fieldid, get the offset. */
602 EXTERNL int
603 nc_inq_compound_fieldoffset(int ncid, nc_type xtype, int fieldid,
604  size_t *offsetp);
605 
606 /* Given the xtype and the fieldid, get the type of that field. */
607 EXTERNL int
608 nc_inq_compound_fieldtype(int ncid, nc_type xtype, int fieldid,
609  nc_type *field_typeidp);
610 
611 /* Given the xtype and the fieldid, get the number of dimensions for
612  * that field (scalars are 0). */
613 EXTERNL int
614 nc_inq_compound_fieldndims(int ncid, nc_type xtype, int fieldid,
615  int *ndimsp);
616 
617 /* Given the xtype and the fieldid, get the sizes of dimensions for
618  * that field. User must have allocated storage for the dim_sizes. */
619 EXTERNL int
620 nc_inq_compound_fielddim_sizes(int ncid, nc_type xtype, int fieldid,
621  int *dim_sizes);
622 
624 typedef struct {
625  size_t len;
626  void *p;
627 } nc_vlen_t;
628 
633 #define NC_COMPOUND_OFFSET(S,M) (offsetof(S,M))
634 
635 /* Create a variable length type. */
636 EXTERNL int
637 nc_def_vlen(int ncid, const char *name, nc_type base_typeid, nc_type *xtypep);
638 
639 /* Find out about a vlen. */
640 EXTERNL int
641 nc_inq_vlen(int ncid, nc_type xtype, char *name, size_t *datum_sizep,
642  nc_type *base_nc_typep);
643 
644 /* When you read VLEN type the library will actually allocate the
645  * storage space for the data. This storage space must be freed, so
646  * pass the pointer back to this function, when you're done with the
647  * data, and it will free the vlen memory. */
648 EXTERNL int
650 
651 EXTERNL int
652 nc_free_vlens(size_t len, nc_vlen_t vlens[]);
653 
654 /* Put or get one element in a vlen array. */
655 EXTERNL int
656 nc_put_vlen_element(int ncid, int typeid1, void *vlen_element,
657  size_t len, const void *data);
658 
659 EXTERNL int
660 nc_get_vlen_element(int ncid, int typeid1, const void *vlen_element,
661  size_t *len, void *data);
662 
663 /* When you read the string type the library will allocate the storage
664  * space for the data. This storage space must be freed, so pass the
665  * pointer back to this function, when you're done with the data, and
666  * it will free the string memory. */
667 EXTERNL int
668 nc_free_string(size_t len, char **data);
669 
670 /* Find out about a user defined type. */
671 EXTERNL int
672 nc_inq_user_type(int ncid, nc_type xtype, char *name, size_t *size,
673  nc_type *base_nc_typep, size_t *nfieldsp, int *classp);
674 
675 /* Write an attribute of any type. */
676 EXTERNL int
677 nc_put_att(int ncid, int varid, const char *name, nc_type xtype,
678  size_t len, const void *op);
679 
680 /* Read an attribute of any type. */
681 EXTERNL int
682 nc_get_att(int ncid, int varid, const char *name, void *ip);
683 
684 /* Enum type. */
685 
686 /* Create an enum type. Provide a base type and a name. At the moment
687  * only ints are accepted as base types. */
688 EXTERNL int
689 nc_def_enum(int ncid, nc_type base_typeid, const char *name,
690  nc_type *typeidp);
691 
692 /* Insert a named value into an enum type. The value must fit within
693  * the size of the enum type, the name size must be <= NC_MAX_NAME. */
694 EXTERNL int
695 nc_insert_enum(int ncid, nc_type xtype, const char *name,
696  const void *value);
697 
698 /* Get information about an enum type: its name, base type and the
699  * number of members defined. */
700 EXTERNL int
701 nc_inq_enum(int ncid, nc_type xtype, char *name, nc_type *base_nc_typep,
702  size_t *base_sizep, size_t *num_membersp);
703 
704 /* Get information about an enum member: a name and value. Name size
705  * will be <= NC_MAX_NAME. */
706 EXTERNL int
707 nc_inq_enum_member(int ncid, nc_type xtype, int idx, char *name,
708  void *value);
709 
710 
711 /* Get enum name from enum value. Name size will be <= NC_MAX_NAME. */
712 EXTERNL int
713 nc_inq_enum_ident(int ncid, nc_type xtype, long long value, char *identifier);
714 
715 /* Opaque type. */
716 
717 /* Create an opaque type. Provide a size and a name. */
718 EXTERNL int
719 nc_def_opaque(int ncid, size_t size, const char *name, nc_type *xtypep);
720 
721 /* Get information about an opaque type. */
722 EXTERNL int
723 nc_inq_opaque(int ncid, nc_type xtype, char *name, size_t *sizep);
724 
725 /* Write entire var of any type. */
726 EXTERNL int
727 nc_put_var(int ncid, int varid, const void *op);
728 
729 /* Read entire var of any type. */
730 EXTERNL int
731 nc_get_var(int ncid, int varid, void *ip);
732 
733 /* Write one value. */
734 EXTERNL int
735 nc_put_var1(int ncid, int varid, const size_t *indexp,
736  const void *op);
737 
738 /* Read one value. */
739 EXTERNL int
740 nc_get_var1(int ncid, int varid, const size_t *indexp, void *ip);
741 
742 /* Write an array of values. */
743 EXTERNL int
744 nc_put_vara(int ncid, int varid, const size_t *startp,
745  const size_t *countp, const void *op);
746 
747 /* Read an array of values. */
748 EXTERNL int
749 nc_get_vara(int ncid, int varid, const size_t *startp,
750  const size_t *countp, void *ip);
751 
752 /* Write slices of an array of values. */
753 EXTERNL int
754 nc_put_vars(int ncid, int varid, const size_t *startp,
755  const size_t *countp, const ptrdiff_t *stridep,
756  const void *op);
757 
758 /* Read slices of an array of values. */
759 EXTERNL int
760 nc_get_vars(int ncid, int varid, const size_t *startp,
761  const size_t *countp, const ptrdiff_t *stridep,
762  void *ip);
763 
764 /* Write mapped slices of an array of values. */
765 EXTERNL int
766 nc_put_varm(int ncid, int varid, const size_t *startp,
767  const size_t *countp, const ptrdiff_t *stridep,
768  const ptrdiff_t *imapp, const void *op);
769 
770 /* Read mapped slices of an array of values. */
771 EXTERNL int
772 nc_get_varm(int ncid, int varid, const size_t *startp,
773  const size_t *countp, const ptrdiff_t *stridep,
774  const ptrdiff_t *imapp, void *ip);
775 
776 /* Extra netcdf-4 stuff. */
777 
778 /* Set compression settings for a variable. Lower is faster, higher is
779  * better. Must be called after nc_def_var and before nc_enddef. */
780 EXTERNL int
781 nc_def_var_deflate(int ncid, int varid, int shuffle, int deflate,
782  int deflate_level);
783 
784 /* Find out compression settings of a var. */
785 EXTERNL int
786 nc_inq_var_deflate(int ncid, int varid, int *shufflep,
787  int *deflatep, int *deflate_levelp);
788 
789 /* Find out szip settings of a var. */
790 EXTERNL int
791 nc_inq_var_szip(int ncid, int varid, int *options_maskp, int *pixels_per_blockp);
792 
793 /* Set fletcher32 checksum for a var. This must be done after nc_def_var
794  and before nc_enddef. */
795 EXTERNL int
796 nc_def_var_fletcher32(int ncid, int varid, int fletcher32);
797 
798 /* Inquire about fletcher32 checksum for a var. */
799 EXTERNL int
800 nc_inq_var_fletcher32(int ncid, int varid, int *fletcher32p);
801 
802 /* Define chunking for a variable. This must be done after nc_def_var
803  and before nc_enddef. */
804 EXTERNL int
805 nc_def_var_chunking(int ncid, int varid, int storage, const size_t *chunksizesp);
806 
807 /* Inq chunking stuff for a var. */
808 EXTERNL int
809 nc_inq_var_chunking(int ncid, int varid, int *storagep, size_t *chunksizesp);
810 
811 /* Define fill value behavior for a variable. This must be done after
812  nc_def_var and before nc_enddef. */
813 EXTERNL int
814 nc_def_var_fill(int ncid, int varid, int no_fill, const void *fill_value);
815 
816 /* Inq fill value setting for a var. */
817 EXTERNL int
818 nc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep);
819 
820 /* Define the endianness of a variable. */
821 EXTERNL int
822 nc_def_var_endian(int ncid, int varid, int endian);
823 
824 /* Learn about the endianness of a variable. */
825 EXTERNL int
826 nc_inq_var_endian(int ncid, int varid, int *endianp);
827 
828 /* Set the fill mode (classic or 64-bit offset files only). */
829 EXTERNL int
830 nc_set_fill(int ncid, int fillmode, int *old_modep);
831 
832 /* Set the default nc_create format to NC_FORMAT_CLASSIC,
833  * NC_FORMAT_64BIT, NC_FORMAT_NETCDF4, NC_FORMAT_NETCDF4_CLASSIC. */
834 EXTERNL int
835 nc_set_default_format(int format, int *old_formatp);
836 
837 /* Set the cache size, nelems, and preemption policy. */
838 EXTERNL int
839 nc_set_chunk_cache(size_t size, size_t nelems, float preemption);
840 
841 /* Get the cache size, nelems, and preemption policy. */
842 EXTERNL int
843 nc_get_chunk_cache(size_t *sizep, size_t *nelemsp, float *preemptionp);
844 
845 /* Set the per-variable cache size, nelems, and preemption policy. */
846 EXTERNL int
847 nc_set_var_chunk_cache(int ncid, int varid, size_t size, size_t nelems,
848  float preemption);
849 
850 /* Set the per-variable cache size, nelems, and preemption policy. */
851 EXTERNL int
852 nc_get_var_chunk_cache(int ncid, int varid, size_t *sizep, size_t *nelemsp,
853  float *preemptionp);
854 
855 EXTERNL int
856 nc_redef(int ncid);
857 
858 /* Is this ever used? */
859 EXTERNL int
860 nc__enddef(int ncid, size_t h_minfree, size_t v_align,
861  size_t v_minfree, size_t r_align);
862 
863 EXTERNL int
864 nc_enddef(int ncid);
865 
866 EXTERNL int
867 nc_sync(int ncid);
868 
869 EXTERNL int
870 nc_abort(int ncid);
871 
872 EXTERNL int
873 nc_close(int ncid);
874 
875 EXTERNL int
876 nc_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp);
877 
878 EXTERNL int
879 nc_inq_ndims(int ncid, int *ndimsp);
880 
881 EXTERNL int
882 nc_inq_nvars(int ncid, int *nvarsp);
883 
884 EXTERNL int
885 nc_inq_natts(int ncid, int *nattsp);
886 
887 EXTERNL int
888 nc_inq_unlimdim(int ncid, int *unlimdimidp);
889 
890 /* The next function is for NetCDF-4 only */
891 EXTERNL int
892 nc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp);
893 
894 /* Added in 3.6.1 to return format of netCDF file. */
895 EXTERNL int
896 nc_inq_format(int ncid, int *formatp);
897 
898 /* Added in 4.3.1 to return additional format info */
899 EXTERNL int
900 nc_inq_format_extended(int ncid, int *formatp, int* modep);
901 
902 /* Begin _dim */
903 
904 EXTERNL int
905 nc_def_dim(int ncid, const char *name, size_t len, int *idp);
906 
907 EXTERNL int
908 nc_inq_dimid(int ncid, const char *name, int *idp);
909 
910 EXTERNL int
911 nc_inq_dim(int ncid, int dimid, char *name, size_t *lenp);
912 
913 EXTERNL int
914 nc_inq_dimname(int ncid, int dimid, char *name);
915 
916 EXTERNL int
917 nc_inq_dimlen(int ncid, int dimid, size_t *lenp);
918 
919 EXTERNL int
920 nc_rename_dim(int ncid, int dimid, const char *name);
921 
922 /* End _dim */
923 /* Begin _att */
924 
925 EXTERNL int
926 nc_inq_att(int ncid, int varid, const char *name,
927  nc_type *xtypep, size_t *lenp);
928 
929 EXTERNL int
930 nc_inq_attid(int ncid, int varid, const char *name, int *idp);
931 
932 EXTERNL int
933 nc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep);
934 
935 EXTERNL int
936 nc_inq_attlen(int ncid, int varid, const char *name, size_t *lenp);
937 
938 EXTERNL int
939 nc_inq_attname(int ncid, int varid, int attnum, char *name);
940 
941 EXTERNL int
942 nc_copy_att(int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out);
943 
944 EXTERNL int
945 nc_rename_att(int ncid, int varid, const char *name, const char *newname);
946 
947 EXTERNL int
948 nc_del_att(int ncid, int varid, const char *name);
949 
950 /* End _att */
951 /* Begin {put,get}_att */
952 
953 EXTERNL int
954 nc_put_att_text(int ncid, int varid, const char *name,
955  size_t len, const char *op);
956 
957 EXTERNL int
958 nc_get_att_text(int ncid, int varid, const char *name, char *ip);
959 
960 EXTERNL int
961 nc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype,
962  size_t len, const unsigned char *op);
963 
964 EXTERNL int
965 nc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip);
966 
967 EXTERNL int
968 nc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype,
969  size_t len, const signed char *op);
970 
971 EXTERNL int
972 nc_get_att_schar(int ncid, int varid, const char *name, signed char *ip);
973 
974 EXTERNL int
975 nc_put_att_short(int ncid, int varid, const char *name, nc_type xtype,
976  size_t len, const short *op);
977 
978 EXTERNL int
979 nc_get_att_short(int ncid, int varid, const char *name, short *ip);
980 
981 EXTERNL int
982 nc_put_att_int(int ncid, int varid, const char *name, nc_type xtype,
983  size_t len, const int *op);
984 
985 EXTERNL int
986 nc_get_att_int(int ncid, int varid, const char *name, int *ip);
987 
988 EXTERNL int
989 nc_put_att_long(int ncid, int varid, const char *name, nc_type xtype,
990  size_t len, const long *op);
991 
992 EXTERNL int
993 nc_get_att_long(int ncid, int varid, const char *name, long *ip);
994 
995 EXTERNL int
996 nc_put_att_float(int ncid, int varid, const char *name, nc_type xtype,
997  size_t len, const float *op);
998 
999 EXTERNL int
1000 nc_get_att_float(int ncid, int varid, const char *name, float *ip);
1001 
1002 EXTERNL int
1003 nc_put_att_double(int ncid, int varid, const char *name, nc_type xtype,
1004  size_t len, const double *op);
1005 
1006 EXTERNL int
1007 nc_get_att_double(int ncid, int varid, const char *name, double *ip);
1008 
1009 EXTERNL int
1010 nc_put_att_ushort(int ncid, int varid, const char *name, nc_type xtype,
1011  size_t len, const unsigned short *op);
1012 
1013 EXTERNL int
1014 nc_get_att_ushort(int ncid, int varid, const char *name, unsigned short *ip);
1015 
1016 EXTERNL int
1017 nc_put_att_uint(int ncid, int varid, const char *name, nc_type xtype,
1018  size_t len, const unsigned int *op);
1019 
1020 EXTERNL int
1021 nc_get_att_uint(int ncid, int varid, const char *name, unsigned int *ip);
1022 
1023 EXTERNL int
1024 nc_put_att_longlong(int ncid, int varid, const char *name, nc_type xtype,
1025  size_t len, const long long *op);
1026 
1027 EXTERNL int
1028 nc_get_att_longlong(int ncid, int varid, const char *name, long long *ip);
1029 
1030 EXTERNL int
1031 nc_put_att_ulonglong(int ncid, int varid, const char *name, nc_type xtype,
1032  size_t len, const unsigned long long *op);
1033 
1034 EXTERNL int
1035 nc_get_att_ulonglong(int ncid, int varid, const char *name,
1036  unsigned long long *ip);
1037 
1038 EXTERNL int
1039 nc_put_att_string(int ncid, int varid, const char *name,
1040  size_t len, const char **op);
1041 
1042 EXTERNL int
1043 nc_get_att_string(int ncid, int varid, const char *name, char **ip);
1044 
1045 /* End {put,get}_att */
1046 /* Begin _var */
1047 
1048 EXTERNL int
1049 nc_def_var(int ncid, const char *name, nc_type xtype, int ndims,
1050  const int *dimidsp, int *varidp);
1051 
1052 EXTERNL int
1053 nc_inq_var(int ncid, int varid, char *name, nc_type *xtypep,
1054  int *ndimsp, int *dimidsp, int *nattsp);
1055 
1056 EXTERNL int
1057 nc_inq_varid(int ncid, const char *name, int *varidp);
1058 
1059 EXTERNL int
1060 nc_inq_varname(int ncid, int varid, char *name);
1061 
1062 EXTERNL int
1063 nc_inq_vartype(int ncid, int varid, nc_type *xtypep);
1064 
1065 EXTERNL int
1066 nc_inq_varndims(int ncid, int varid, int *ndimsp);
1067 
1068 EXTERNL int
1069 nc_inq_vardimid(int ncid, int varid, int *dimidsp);
1070 
1071 EXTERNL int
1072 nc_inq_varnatts(int ncid, int varid, int *nattsp);
1073 
1074 EXTERNL int
1075 nc_rename_var(int ncid, int varid, const char *name);
1076 
1077 EXTERNL int
1078 nc_copy_var(int ncid_in, int varid, int ncid_out);
1079 
1080 #ifndef ncvarcpy
1081 /* support the old name for now */
1082 #define ncvarcpy(ncid_in, varid, ncid_out) ncvarcopy((ncid_in), (varid), (ncid_out))
1083 #endif
1084 
1085 /* End _var */
1086 /* Begin {put,get}_var1 */
1087 
1088 EXTERNL int
1089 nc_put_var1_text(int ncid, int varid, const size_t *indexp, const char *op);
1090 
1091 EXTERNL int
1092 nc_get_var1_text(int ncid, int varid, const size_t *indexp, char *ip);
1093 
1094 EXTERNL int
1095 nc_put_var1_uchar(int ncid, int varid, const size_t *indexp,
1096  const unsigned char *op);
1097 
1098 EXTERNL int
1099 nc_get_var1_uchar(int ncid, int varid, const size_t *indexp,
1100  unsigned char *ip);
1101 
1102 EXTERNL int
1103 nc_put_var1_schar(int ncid, int varid, const size_t *indexp,
1104  const signed char *op);
1105 
1106 EXTERNL int
1107 nc_get_var1_schar(int ncid, int varid, const size_t *indexp,
1108  signed char *ip);
1109 
1110 EXTERNL int
1111 nc_put_var1_short(int ncid, int varid, const size_t *indexp,
1112  const short *op);
1113 
1114 EXTERNL int
1115 nc_get_var1_short(int ncid, int varid, const size_t *indexp,
1116  short *ip);
1117 
1118 EXTERNL int
1119 nc_put_var1_int(int ncid, int varid, const size_t *indexp, const int *op);
1120 
1121 EXTERNL int
1122 nc_get_var1_int(int ncid, int varid, const size_t *indexp, int *ip);
1123 
1124 EXTERNL int
1125 nc_put_var1_long(int ncid, int varid, const size_t *indexp, const long *op);
1126 
1127 EXTERNL int
1128 nc_get_var1_long(int ncid, int varid, const size_t *indexp, long *ip);
1129 
1130 EXTERNL int
1131 nc_put_var1_float(int ncid, int varid, const size_t *indexp, const float *op);
1132 
1133 EXTERNL int
1134 nc_get_var1_float(int ncid, int varid, const size_t *indexp, float *ip);
1135 
1136 EXTERNL int
1137 nc_put_var1_double(int ncid, int varid, const size_t *indexp, const double *op);
1138 
1139 EXTERNL int
1140 nc_get_var1_double(int ncid, int varid, const size_t *indexp, double *ip);
1141 
1142 EXTERNL int
1143 nc_put_var1_ushort(int ncid, int varid, const size_t *indexp,
1144  const unsigned short *op);
1145 
1146 EXTERNL int
1147 nc_get_var1_ushort(int ncid, int varid, const size_t *indexp,
1148  unsigned short *ip);
1149 
1150 EXTERNL int
1151 nc_put_var1_uint(int ncid, int varid, const size_t *indexp,
1152  const unsigned int *op);
1153 
1154 EXTERNL int
1155 nc_get_var1_uint(int ncid, int varid, const size_t *indexp,
1156  unsigned int *ip);
1157 
1158 EXTERNL int
1159 nc_put_var1_longlong(int ncid, int varid, const size_t *indexp,
1160  const long long *op);
1161 
1162 EXTERNL int
1163 nc_get_var1_longlong(int ncid, int varid, const size_t *indexp,
1164  long long *ip);
1165 
1166 EXTERNL int
1167 nc_put_var1_ulonglong(int ncid, int varid, const size_t *indexp,
1168  const unsigned long long *op);
1169 
1170 EXTERNL int
1171 nc_get_var1_ulonglong(int ncid, int varid, const size_t *indexp,
1172  unsigned long long *ip);
1173 
1174 EXTERNL int
1175 nc_put_var1_string(int ncid, int varid, const size_t *indexp,
1176  const char **op);
1177 
1178 EXTERNL int
1179 nc_get_var1_string(int ncid, int varid, const size_t *indexp,
1180  char **ip);
1181 
1182 /* End {put,get}_var1 */
1183 /* Begin {put,get}_vara */
1184 
1185 EXTERNL int
1186 nc_put_vara_text(int ncid, int varid, const size_t *startp,
1187  const size_t *countp, const char *op);
1188 
1189 EXTERNL int
1190 nc_get_vara_text(int ncid, int varid, const size_t *startp,
1191  const size_t *countp, char *ip);
1192 
1193 EXTERNL int
1194 nc_put_vara_uchar(int ncid, int varid, const size_t *startp,
1195  const size_t *countp, const unsigned char *op);
1196 
1197 EXTERNL int
1198 nc_get_vara_uchar(int ncid, int varid, const size_t *startp,
1199  const size_t *countp, unsigned char *ip);
1200 
1201 EXTERNL int
1202 nc_put_vara_schar(int ncid, int varid, const size_t *startp,
1203  const size_t *countp, const signed char *op);
1204 
1205 EXTERNL int
1206 nc_get_vara_schar(int ncid, int varid, const size_t *startp,
1207  const size_t *countp, signed char *ip);
1208 
1209 EXTERNL int
1210 nc_put_vara_short(int ncid, int varid, const size_t *startp,
1211  const size_t *countp, const short *op);
1212 
1213 EXTERNL int
1214 nc_get_vara_short(int ncid, int varid, const size_t *startp,
1215  const size_t *countp, short *ip);
1216 
1217 EXTERNL int
1218 nc_put_vara_int(int ncid, int varid, const size_t *startp,
1219  const size_t *countp, const int *op);
1220 
1221 EXTERNL int
1222 nc_get_vara_int(int ncid, int varid, const size_t *startp,
1223  const size_t *countp, int *ip);
1224 
1225 EXTERNL int
1226 nc_put_vara_long(int ncid, int varid, const size_t *startp,
1227  const size_t *countp, const long *op);
1228 
1229 EXTERNL int
1230 nc_get_vara_long(int ncid, int varid,
1231  const size_t *startp, const size_t *countp, long *ip);
1232 
1233 EXTERNL int
1234 nc_put_vara_float(int ncid, int varid,
1235  const size_t *startp, const size_t *countp, const float *op);
1236 
1237 EXTERNL int
1238 nc_get_vara_float(int ncid, int varid,
1239  const size_t *startp, const size_t *countp, float *ip);
1240 
1241 EXTERNL int
1242 nc_put_vara_double(int ncid, int varid, const size_t *startp,
1243  const size_t *countp, const double *op);
1244 
1245 EXTERNL int
1246 nc_get_vara_double(int ncid, int varid, const size_t *startp,
1247  const size_t *countp, double *ip);
1248 
1249 EXTERNL int
1250 nc_put_vara_ushort(int ncid, int varid, const size_t *startp,
1251  const size_t *countp, const unsigned short *op);
1252 
1253 EXTERNL int
1254 nc_get_vara_ushort(int ncid, int varid, const size_t *startp,
1255  const size_t *countp, unsigned short *ip);
1256 
1257 EXTERNL int
1258 nc_put_vara_uint(int ncid, int varid, const size_t *startp,
1259  const size_t *countp, const unsigned int *op);
1260 
1261 EXTERNL int
1262 nc_get_vara_uint(int ncid, int varid, const size_t *startp,
1263  const size_t *countp, unsigned int *ip);
1264 
1265 EXTERNL int
1266 nc_put_vara_longlong(int ncid, int varid, const size_t *startp,
1267  const size_t *countp, const long long *op);
1268 
1269 EXTERNL int
1270 nc_get_vara_longlong(int ncid, int varid, const size_t *startp,
1271  const size_t *countp, long long *ip);
1272 
1273 EXTERNL int
1274 nc_put_vara_ulonglong(int ncid, int varid, const size_t *startp,
1275  const size_t *countp, const unsigned long long *op);
1276 
1277 EXTERNL int
1278 nc_get_vara_ulonglong(int ncid, int varid, const size_t *startp,
1279  const size_t *countp, unsigned long long *ip);
1280 
1281 EXTERNL int
1282 nc_put_vara_string(int ncid, int varid, const size_t *startp,
1283  const size_t *countp, const char **op);
1284 
1285 EXTERNL int
1286 nc_get_vara_string(int ncid, int varid, const size_t *startp,
1287  const size_t *countp, char **ip);
1288 
1289 /* End {put,get}_vara */
1290 /* Begin {put,get}_vars */
1291 
1292 EXTERNL int
1293 nc_put_vars_text(int ncid, int varid,
1294  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1295  const char *op);
1296 
1297 EXTERNL int
1298 nc_get_vars_text(int ncid, int varid,
1299  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1300  char *ip);
1301 
1302 EXTERNL int
1303 nc_put_vars_uchar(int ncid, int varid,
1304  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1305  const unsigned char *op);
1306 
1307 EXTERNL int
1308 nc_get_vars_uchar(int ncid, int varid,
1309  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1310  unsigned char *ip);
1311 
1312 EXTERNL int
1313 nc_put_vars_schar(int ncid, int varid,
1314  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1315  const signed char *op);
1316 
1317 EXTERNL int
1318 nc_get_vars_schar(int ncid, int varid,
1319  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1320  signed char *ip);
1321 
1322 EXTERNL int
1323 nc_put_vars_short(int ncid, int varid,
1324  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1325  const short *op);
1326 
1327 EXTERNL int
1328 nc_get_vars_short(int ncid, int varid, const size_t *startp,
1329  const size_t *countp, const ptrdiff_t *stridep,
1330  short *ip);
1331 
1332 EXTERNL int
1333 nc_put_vars_int(int ncid, int varid,
1334  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1335  const int *op);
1336 
1337 EXTERNL int
1338 nc_get_vars_int(int ncid, int varid,
1339  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1340  int *ip);
1341 
1342 EXTERNL int
1343 nc_put_vars_long(int ncid, int varid,
1344  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1345  const long *op);
1346 
1347 EXTERNL int
1348 nc_get_vars_long(int ncid, int varid,
1349  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1350  long *ip);
1351 
1352 EXTERNL int
1353 nc_put_vars_float(int ncid, int varid,
1354  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1355  const float *op);
1356 
1357 EXTERNL int
1358 nc_get_vars_float(int ncid, int varid,
1359  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1360  float *ip);
1361 
1362 EXTERNL int
1363 nc_put_vars_double(int ncid, int varid,
1364  const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
1365  const double *op);
1366 
1367 EXTERNL int
1368 nc_get_vars_double(int ncid, int varid, const size_t *startp,
1369  const size_t *countp, const ptrdiff_t *stridep,
1370  double *ip);
1371 
1372 EXTERNL int
1373 nc_put_vars_ushort(int ncid, int varid, const size_t *startp,
1374  const size_t *countp, const ptrdiff_t *stridep,
1375  const unsigned short *op);
1376 
1377 EXTERNL int
1378 nc_get_vars_ushort(int ncid, int varid, const size_t *startp,
1379  const size_t *countp, const ptrdiff_t *stridep,
1380  unsigned short *ip);
1381 
1382 EXTERNL int
1383 nc_put_vars_uint(int ncid, int varid, const size_t *startp,
1384  const size_t *countp, const ptrdiff_t *stridep,
1385  const unsigned int *op);
1386 
1387 EXTERNL int
1388 nc_get_vars_uint(int ncid, int varid, const size_t *startp,
1389  const size_t *countp, const ptrdiff_t *stridep,
1390  unsigned int *ip);
1391 
1392 EXTERNL int
1393 nc_put_vars_longlong(int ncid, int varid, const size_t *startp,
1394  const size_t *countp, const ptrdiff_t *stridep,
1395  const long long *op);
1396 
1397 EXTERNL int
1398 nc_get_vars_longlong(int ncid, int varid, const size_t *startp,
1399  const size_t *countp, const ptrdiff_t *stridep,
1400  long long *ip);
1401 
1402 EXTERNL int
1403 nc_put_vars_ulonglong(int ncid, int varid, const size_t *startp,
1404  const size_t *countp, const ptrdiff_t *stridep,
1405  const unsigned long long *op);
1406 
1407 EXTERNL int
1408 nc_get_vars_ulonglong(int ncid, int varid, const size_t *startp,
1409  const size_t *countp, const ptrdiff_t *stridep,
1410  unsigned long long *ip);
1411 
1412 EXTERNL int
1413 nc_put_vars_string(int ncid, int varid, const size_t *startp,
1414  const size_t *countp, const ptrdiff_t *stridep,
1415  const char **op);
1416 
1417 EXTERNL int
1418 nc_get_vars_string(int ncid, int varid, const size_t *startp,
1419  const size_t *countp, const ptrdiff_t *stridep,
1420  char **ip);
1421 
1422 /* End {put,get}_vars */
1423 /* Begin {put,get}_varm */
1424 
1425 EXTERNL int
1426 nc_put_varm_text(int ncid, int varid, const size_t *startp,
1427  const size_t *countp, const ptrdiff_t *stridep,
1428  const ptrdiff_t *imapp, const char *op);
1429 
1430 EXTERNL int
1431 nc_get_varm_text(int ncid, int varid, const size_t *startp,
1432  const size_t *countp, const ptrdiff_t *stridep,
1433  const ptrdiff_t *imapp, char *ip);
1434 
1435 EXTERNL int
1436 nc_put_varm_uchar(int ncid, int varid, const size_t *startp,
1437  const size_t *countp, const ptrdiff_t *stridep,
1438  const ptrdiff_t *imapp, const unsigned char *op);
1439 
1440 EXTERNL int
1441 nc_get_varm_uchar(int ncid, int varid, const size_t *startp,
1442  const size_t *countp, const ptrdiff_t *stridep,
1443  const ptrdiff_t *imapp, unsigned char *ip);
1444 
1445 EXTERNL int
1446 nc_put_varm_schar(int ncid, int varid, const size_t *startp,
1447  const size_t *countp, const ptrdiff_t *stridep,
1448  const ptrdiff_t *imapp, const signed char *op);
1449 
1450 EXTERNL int
1451 nc_get_varm_schar(int ncid, int varid, const size_t *startp,
1452  const size_t *countp, const ptrdiff_t *stridep,
1453  const ptrdiff_t *imapp, signed char *ip);
1454 
1455 EXTERNL int
1456 nc_put_varm_short(int ncid, int varid, const size_t *startp,
1457  const size_t *countp, const ptrdiff_t *stridep,
1458  const ptrdiff_t *imapp, const short *op);
1459 
1460 EXTERNL int
1461 nc_get_varm_short(int ncid, int varid, const size_t *startp,
1462  const size_t *countp, const ptrdiff_t *stridep,
1463  const ptrdiff_t *imapp, short *ip);
1464 
1465 EXTERNL int
1466 nc_put_varm_int(int ncid, int varid, const size_t *startp,
1467  const size_t *countp, const ptrdiff_t *stridep,
1468  const ptrdiff_t *imapp, const int *op);
1469 
1470 EXTERNL int
1471 nc_get_varm_int(int ncid, int varid, const size_t *startp,
1472  const size_t *countp, const ptrdiff_t *stridep,
1473  const ptrdiff_t *imapp, int *ip);
1474 
1475 EXTERNL int
1476 nc_put_varm_long(int ncid, int varid, const size_t *startp,
1477  const size_t *countp, const ptrdiff_t *stridep,
1478  const ptrdiff_t *imapp, const long *op);
1479 
1480 EXTERNL int
1481 nc_get_varm_long(int ncid, int varid, const size_t *startp,
1482  const size_t *countp, const ptrdiff_t *stridep,
1483  const ptrdiff_t *imapp, long *ip);
1484 
1485 EXTERNL int
1486 nc_put_varm_float(int ncid, int varid,const size_t *startp,
1487  const size_t *countp, const ptrdiff_t *stridep,
1488  const ptrdiff_t *imapp, const float *op);
1489 
1490 EXTERNL int
1491 nc_get_varm_float(int ncid, int varid,const size_t *startp,
1492  const size_t *countp, const ptrdiff_t *stridep,
1493  const ptrdiff_t *imapp, float *ip);
1494 
1495 EXTERNL int
1496 nc_put_varm_double(int ncid, int varid, const size_t *startp,
1497  const size_t *countp, const ptrdiff_t *stridep,
1498  const ptrdiff_t *imapp, const double *op);
1499 
1500 EXTERNL int
1501 nc_get_varm_double(int ncid, int varid, const size_t *startp,
1502  const size_t *countp, const ptrdiff_t *stridep,
1503  const ptrdiff_t * imapp, double *ip);
1504 
1505 EXTERNL int
1506 nc_put_varm_ushort(int ncid, int varid, const size_t *startp,
1507  const size_t *countp, const ptrdiff_t *stridep,
1508  const ptrdiff_t * imapp, const unsigned short *op);
1509 
1510 EXTERNL int
1511 nc_get_varm_ushort(int ncid, int varid, const size_t *startp,
1512  const size_t *countp, const ptrdiff_t *stridep,
1513  const ptrdiff_t * imapp, unsigned short *ip);
1514 
1515 EXTERNL int
1516 nc_put_varm_uint(int ncid, int varid, const size_t *startp,
1517  const size_t *countp, const ptrdiff_t *stridep,
1518  const ptrdiff_t * imapp, const unsigned int *op);
1519 
1520 EXTERNL int
1521 nc_get_varm_uint(int ncid, int varid, const size_t *startp,
1522  const size_t *countp, const ptrdiff_t *stridep,
1523  const ptrdiff_t * imapp, unsigned int *ip);
1524 
1525 EXTERNL int
1526 nc_put_varm_longlong(int ncid, int varid, const size_t *startp,
1527  const size_t *countp, const ptrdiff_t *stridep,
1528  const ptrdiff_t * imapp, const long long *op);
1529 
1530 EXTERNL int
1531 nc_get_varm_longlong(int ncid, int varid, const size_t *startp,
1532  const size_t *countp, const ptrdiff_t *stridep,
1533  const ptrdiff_t * imapp, long long *ip);
1534 
1535 EXTERNL int
1536 nc_put_varm_ulonglong(int ncid, int varid, const size_t *startp,
1537  const size_t *countp, const ptrdiff_t *stridep,
1538  const ptrdiff_t * imapp, const unsigned long long *op);
1539 
1540 EXTERNL int
1541 nc_get_varm_ulonglong(int ncid, int varid, const size_t *startp,
1542  const size_t *countp, const ptrdiff_t *stridep,
1543  const ptrdiff_t * imapp, unsigned long long *ip);
1544 
1545 EXTERNL int
1546 nc_put_varm_string(int ncid, int varid, const size_t *startp,
1547  const size_t *countp, const ptrdiff_t *stridep,
1548  const ptrdiff_t * imapp, const char **op);
1549 
1550 EXTERNL int
1551 nc_get_varm_string(int ncid, int varid, const size_t *startp,
1552  const size_t *countp, const ptrdiff_t *stridep,
1553  const ptrdiff_t * imapp, char **ip);
1554 
1555 /* End {put,get}_varm */
1556 /* Begin {put,get}_var */
1557 
1558 EXTERNL int
1559 nc_put_var_text(int ncid, int varid, const char *op);
1560 
1561 EXTERNL int
1562 nc_get_var_text(int ncid, int varid, char *ip);
1563 
1564 EXTERNL int
1565 nc_put_var_uchar(int ncid, int varid, const unsigned char *op);
1566 
1567 EXTERNL int
1568 nc_get_var_uchar(int ncid, int varid, unsigned char *ip);
1569 
1570 EXTERNL int
1571 nc_put_var_schar(int ncid, int varid, const signed char *op);
1572 
1573 EXTERNL int
1574 nc_get_var_schar(int ncid, int varid, signed char *ip);
1575 
1576 EXTERNL int
1577 nc_put_var_short(int ncid, int varid, const short *op);
1578 
1579 EXTERNL int
1580 nc_get_var_short(int ncid, int varid, short *ip);
1581 
1582 EXTERNL int
1583 nc_put_var_int(int ncid, int varid, const int *op);
1584 
1585 EXTERNL int
1586 nc_get_var_int(int ncid, int varid, int *ip);
1587 
1588 EXTERNL int
1589 nc_put_var_long(int ncid, int varid, const long *op);
1590 
1591 EXTERNL int
1592 nc_get_var_long(int ncid, int varid, long *ip);
1593 
1594 EXTERNL int
1595 nc_put_var_float(int ncid, int varid, const float *op);
1596 
1597 EXTERNL int
1598 nc_get_var_float(int ncid, int varid, float *ip);
1599 
1600 EXTERNL int
1601 nc_put_var_double(int ncid, int varid, const double *op);
1602 
1603 EXTERNL int
1604 nc_get_var_double(int ncid, int varid, double *ip);
1605 
1606 EXTERNL int
1607 nc_put_var_ushort(int ncid, int varid, const unsigned short *op);
1608 
1609 EXTERNL int
1610 nc_get_var_ushort(int ncid, int varid, unsigned short *ip);
1611 
1612 EXTERNL int
1613 nc_put_var_uint(int ncid, int varid, const unsigned int *op);
1614 
1615 EXTERNL int
1616 nc_get_var_uint(int ncid, int varid, unsigned int *ip);
1617 
1618 EXTERNL int
1619 nc_put_var_longlong(int ncid, int varid, const long long *op);
1620 
1621 EXTERNL int
1622 nc_get_var_longlong(int ncid, int varid, long long *ip);
1623 
1624 EXTERNL int
1625 nc_put_var_ulonglong(int ncid, int varid, const unsigned long long *op);
1626 
1627 EXTERNL int
1628 nc_get_var_ulonglong(int ncid, int varid, unsigned long long *ip);
1629 
1630 EXTERNL int
1631 nc_put_var_string(int ncid, int varid, const char **op);
1632 
1633 EXTERNL int
1634 nc_get_var_string(int ncid, int varid, char **ip);
1635 
1636 /* Begin Deprecated, same as functions with "_ubyte" replaced by "_uchar" */
1637 EXTERNL int
1638 nc_put_att_ubyte(int ncid, int varid, const char *name, nc_type xtype,
1639  size_t len, const unsigned char *op);
1640 EXTERNL int
1641 nc_get_att_ubyte(int ncid, int varid, const char *name,
1642  unsigned char *ip);
1643 EXTERNL int
1644 nc_put_var1_ubyte(int ncid, int varid, const size_t *indexp,
1645  const unsigned char *op);
1646 EXTERNL int
1647 nc_get_var1_ubyte(int ncid, int varid, const size_t *indexp,
1648  unsigned char *ip);
1649 EXTERNL int
1650 nc_put_vara_ubyte(int ncid, int varid, const size_t *startp,
1651  const size_t *countp, const unsigned char *op);
1652 EXTERNL int
1653 nc_get_vara_ubyte(int ncid, int varid, const size_t *startp,
1654  const size_t *countp, unsigned char *ip);
1655 EXTERNL int
1656 nc_put_vars_ubyte(int ncid, int varid, const size_t *startp,
1657  const size_t *countp, const ptrdiff_t *stridep,
1658  const unsigned char *op);
1659 EXTERNL int
1660 nc_get_vars_ubyte(int ncid, int varid, const size_t *startp,
1661  const size_t *countp, const ptrdiff_t *stridep,
1662  unsigned char *ip);
1663 EXTERNL int
1664 nc_put_varm_ubyte(int ncid, int varid, const size_t *startp,
1665  const size_t *countp, const ptrdiff_t *stridep,
1666  const ptrdiff_t * imapp, const unsigned char *op);
1667 EXTERNL int
1668 nc_get_varm_ubyte(int ncid, int varid, const size_t *startp,
1669  const size_t *countp, const ptrdiff_t *stridep,
1670  const ptrdiff_t * imapp, unsigned char *ip);
1671 EXTERNL int
1672 nc_put_var_ubyte(int ncid, int varid, const unsigned char *op);
1673 EXTERNL int
1674 nc_get_var_ubyte(int ncid, int varid, unsigned char *ip);
1675 /* End Deprecated */
1676 
1677 #ifdef LOGGING
1678 
1679 /* Set the log level. 0 shows only errors, 1 only major messages,
1680  * etc., to 5, which shows way too much information. */
1681 EXTERNL int
1682 nc_set_log_level(int new_level);
1683 
1684 /* Use this to turn off logging by calling
1685  nc_log_level(NC_TURN_OFF_LOGGING) */
1686 #define NC_TURN_OFF_LOGGING (-1)
1687 
1688 #else /* not LOGGING */
1689 
1690 #define nc_set_log_level(e)
1691 
1692 #endif /* LOGGING */
1693 
1694 /* Show the netCDF library's in-memory metadata for a file. */
1695 EXTERNL int
1696 nc_show_metadata(int ncid);
1697 
1698 /* End {put,get}_var */
1699 
1700 /* #ifdef _CRAYMPP */
1701 /*
1702  * Public interfaces to better support
1703  * CRAY multi-processor systems like T3E.
1704  * A tip of the hat to NERSC.
1705  */
1706 /*
1707  * It turns out we need to declare and define
1708  * these public interfaces on all platforms
1709  * or things get ugly working out the
1710  * FORTRAN interface. On !_CRAYMPP platforms,
1711  * these functions work as advertised, but you
1712  * can only use "processor element" 0.
1713  */
1714 
1715 EXTERNL int
1716 nc__create_mp(const char *path, int cmode, size_t initialsz, int basepe,
1717  size_t *chunksizehintp, int *ncidp);
1718 
1719 EXTERNL int
1720 nc__open_mp(const char *path, int mode, int basepe,
1721  size_t *chunksizehintp, int *ncidp);
1722 
1723 EXTERNL int
1724 nc_delete(const char *path);
1725 
1726 EXTERNL int
1727 nc_delete_mp(const char *path, int basepe);
1728 
1729 EXTERNL int
1730 nc_set_base_pe(int ncid, int pe);
1731 
1732 EXTERNL int
1733 nc_inq_base_pe(int ncid, int *pe);
1734 
1735 /* #endif _CRAYMPP */
1736 
1737 /* This v2 function is used in the nc_test program. */
1738 EXTERNL int
1739 nctypelen(nc_type datatype);
1740 
1741 /* Begin v2.4 backward compatiblity */
1742 /*
1743  * defining NO_NETCDF_2 to the preprocessor
1744  * turns off backward compatiblity declarations.
1745  */
1746 #ifndef NO_NETCDF_2
1747 
1750 #define FILL_BYTE NC_FILL_BYTE
1751 #define FILL_CHAR NC_FILL_CHAR
1752 #define FILL_SHORT NC_FILL_SHORT
1753 #define FILL_LONG NC_FILL_INT
1754 #define FILL_FLOAT NC_FILL_FLOAT
1755 #define FILL_DOUBLE NC_FILL_DOUBLE
1756 
1757 #define MAX_NC_DIMS NC_MAX_DIMS
1758 #define MAX_NC_ATTRS NC_MAX_ATTRS
1759 #define MAX_NC_VARS NC_MAX_VARS
1760 #define MAX_NC_NAME NC_MAX_NAME
1761 #define MAX_VAR_DIMS NC_MAX_VAR_DIMS
1762 
1765 /*
1766  * Global error status
1767  */
1768 EXTERNL int ncerr;
1769 
1770 #define NC_ENTOOL NC_EMAXNAME /* Backward compatibility */
1771 #define NC_EXDR (-32) /* */
1772 #define NC_SYSERR (-31)
1773 
1774 /*
1775  * Global options variable.
1776  * Used to determine behavior of error handler.
1777  */
1778 #define NC_FATAL 1
1779 #define NC_VERBOSE 2
1780 
1781 EXTERNL int ncopts; /* default is (NC_FATAL | NC_VERBOSE) */
1782 
1783 EXTERNL void
1784 nc_advise(const char *cdf_routine_name, int err, const char *fmt,...);
1785 
1786 /*
1787  * C data type corresponding to a netCDF NC_LONG argument,
1788  * a signed 32 bit object.
1789  *
1790  * This is the only thing in this file which architecture dependent.
1791  */
1792 typedef int nclong;
1793 
1794 EXTERNL int
1795 nccreate(const char* path, int cmode);
1796 
1797 EXTERNL int
1798 ncopen(const char* path, int mode);
1799 
1800 EXTERNL int
1801 ncsetfill(int ncid, int fillmode);
1802 
1803 EXTERNL int
1804 ncredef(int ncid);
1805 
1806 EXTERNL int
1807 ncendef(int ncid);
1808 
1809 EXTERNL int
1810 ncsync(int ncid);
1811 
1812 EXTERNL int
1813 ncabort(int ncid);
1814 
1815 EXTERNL int
1816 ncclose(int ncid);
1817 
1818 EXTERNL int
1819 ncinquire(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp);
1820 
1821 EXTERNL int
1822 ncdimdef(int ncid, const char *name, long len);
1823 
1824 EXTERNL int
1825 ncdimid(int ncid, const char *name);
1826 
1827 EXTERNL int
1828 ncdiminq(int ncid, int dimid, char *name, long *lenp);
1829 
1830 EXTERNL int
1831 ncdimrename(int ncid, int dimid, const char *name);
1832 
1833 EXTERNL int
1834 ncattput(int ncid, int varid, const char *name, nc_type xtype,
1835  int len, const void *op);
1836 
1837 EXTERNL int
1838 ncattinq(int ncid, int varid, const char *name, nc_type *xtypep, int *lenp);
1839 
1840 EXTERNL int
1841 ncattget(int ncid, int varid, const char *name, void *ip);
1842 
1843 EXTERNL int
1844 ncattcopy(int ncid_in, int varid_in, const char *name, int ncid_out,
1845  int varid_out);
1846 
1847 EXTERNL int
1848 ncattname(int ncid, int varid, int attnum, char *name);
1849 
1850 EXTERNL int
1851 ncattrename(int ncid, int varid, const char *name, const char *newname);
1852 
1853 EXTERNL int
1854 ncattdel(int ncid, int varid, const char *name);
1855 
1856 EXTERNL int
1857 ncvardef(int ncid, const char *name, nc_type xtype,
1858  int ndims, const int *dimidsp);
1859 
1860 EXTERNL int
1861 ncvarid(int ncid, const char *name);
1862 
1863 EXTERNL int
1864 ncvarinq(int ncid, int varid, char *name, nc_type *xtypep,
1865  int *ndimsp, int *dimidsp, int *nattsp);
1866 
1867 EXTERNL int
1868 ncvarput1(int ncid, int varid, const long *indexp, const void *op);
1869 
1870 EXTERNL int
1871 ncvarget1(int ncid, int varid, const long *indexp, void *ip);
1872 
1873 EXTERNL int
1874 ncvarput(int ncid, int varid, const long *startp, const long *countp,
1875  const void *op);
1876 
1877 EXTERNL int
1878 ncvarget(int ncid, int varid, const long *startp, const long *countp,
1879  void *ip);
1880 
1881 EXTERNL int
1882 ncvarputs(int ncid, int varid, const long *startp, const long *countp,
1883  const long *stridep, const void *op);
1884 
1885 EXTERNL int
1886 ncvargets(int ncid, int varid, const long *startp, const long *countp,
1887  const long *stridep, void *ip);
1888 
1889 EXTERNL int
1890 ncvarputg(int ncid, int varid, const long *startp, const long *countp,
1891  const long *stridep, const long *imapp, const void *op);
1892 
1893 EXTERNL int
1894 ncvargetg(int ncid, int varid, const long *startp, const long *countp,
1895  const long *stridep, const long *imapp, void *ip);
1896 
1897 EXTERNL int
1898 ncvarrename(int ncid, int varid, const char *name);
1899 
1900 EXTERNL int
1901 ncrecinq(int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp);
1902 
1903 EXTERNL int
1904 ncrecget(int ncid, long recnum, void **datap);
1905 
1906 EXTERNL int
1907 ncrecput(int ncid, long recnum, void *const *datap);
1908 
1909 /* End v2.4 backward compatiblity */
1910 #endif
1912 #if defined(__cplusplus)
1913 }
1914 #endif
1915 
1916 /* Temporary hack to shut up warnings */
1917 #ifndef __MINGW32_VERSION
1918 #define END_OF_MAIN()
1919 #endif
1920 
1921 
1922 /* Allow dependent software to tell if
1923  nc_rename_grp() is available, as requested
1924  by Charlie Zender. */
1925 #ifndef NC_HAVE_RENAME_GRP
1926 #define NC_HAVE_RENAME_GRP
1927 #endif
1928 
1929 /* Allow dependent software to tell if
1930  inq_format_extended() is available.
1931 
1932  This is not a scalable approach to querying
1933  the functionality of the netcdf library, but
1934  it will do for the time being. */
1935 #ifndef NC_HAVE_INQ_FORMAT_EXTENDED
1936 #define NC_HAVE_INQ_FORMAT_EXTENDED
1937 #endif
1938 
1939 
1940 #endif /* _NETCDF_ */
1941 
1942 
1943 
int nc_get_vara_uint(int ncid, int varid, const size_t *startp, const size_t *countp, unsigned int *ip)
Read an array of values from a variable.
Definition: dvarget.c:745
int nc_get_var_uint(int ncid, int varid, unsigned int *ip)
Read an entire variable in one call.
Definition: dvarget.c:1105
int nc_get_var1_text(int ncid, int varid, const size_t *indexp, char *ip)
Read a single datum from a variable.
Definition: dvarget.c:829
EXTERNL int nc__open(const char *path, int mode, size_t *chunksizehintp, int *ncidp)
Open a netCDF file with extra performance parameters for the classic library.
Definition: dfile.c:645
EXTERNL int nc_rename_att(int ncid, int varid, const char *name, const char *newname)
Rename an attribute.
Definition: datt.c:107
int nc_put_var_long(int ncid, int varid, const long *op)
Write an entire variable with one call.
Definition: dvarput.c:997
EXTERNL int nc_def_enum(int ncid, nc_type base_typeid, const char *name, nc_type *typeidp)
Create an enum type.
Definition: denum.c:43
EXTERNL int nc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep)
Find the type of an attribute.
Definition: dattinq.c:174
int nc_get_var_ulonglong(int ncid, int varid, unsigned long long *ip)
Read an entire variable in one call.
Definition: dvarget.c:1123
EXTERNL int nc_inq_var_endian(int ncid, int varid, int *endianp)
Find the endianness of a variable.
Definition: dvarinq.c:506
int nc_put_varm_ubyte(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned char *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1467
int nc_put_vars_double(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const double *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1214
EXTERNL int nc_inq_unlimdim(int ncid, int *unlimdimidp)
Find the ID of the unlimited dimension.
Definition: ddim.c:280
int nc_put_vars_uchar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned char *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1149
int nc_get_varm_short(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, short *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1463
EXTERNL int nc_inq_opaque(int ncid, nc_type xtype, char *name, size_t *sizep)
Learn about an opaque type.
Definition: dopaque.c:61
EXTERNL int nc_get_var_chunk_cache(int ncid, int varid, size_t *sizep, size_t *nelemsp, float *preemptionp)
Definition: dvar.c:506
EXTERNL int nc_inq_vardimid(int ncid, int varid, int *dimidsp)
Learn the dimension IDs associated with a variable.
Definition: dvarinq.c:213
int nc_put_vara_schar(int ncid, int varid, const size_t *startp, const size_t *countp, const signed char *op)
Write an array of values to a variable.
Definition: dvarput.c:596
int nc_get_att_ushort(int ncid, int varid, const char *name, unsigned short *value)
Get an attribute.
Definition: dattget.c:213
EXTERNL int nc_inq_att(int ncid, int varid, const char *name, nc_type *xtypep, size_t *lenp)
Return information about a netCDF attribute.
Definition: dattinq.c:72
int nc_get_varm_ubyte(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned char *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1522
EXTERNL int nc_def_var(int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
Define a new variable.
Definition: dvar.c:207
int nc_put_var1_string(int ncid, int varid, const size_t *indexp, const char **op)
Write one datum.
Definition: dvarput.c:889
int nc_get_vara_double(int ncid, int varid, const size_t *startp, const size_t *countp, double *ip)
Read an array of values from a variable.
Definition: dvarget.c:715
int nc_put_vars_uint(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned int *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1253
int nc_get_varm_float(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, float *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1498
int nc_put_att_double(int ncid, int varid, const char *name, nc_type xtype, size_t len, const double *value)
Write an attribute.
Definition: dattput.c:303
int nc_put_vara_uchar(int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned char *op)
Write an array of values to a variable.
Definition: dvarput.c:607
EXTERNL int nc_redef(int ncid)
Put open netcdf dataset into define mode.
Definition: dfile.c:751
int nc_get_vars_text(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, char *ip)
Read a strided array from a variable.
Definition: dvarget.c:1198
int nc_get_vars_ubyte(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned char *ip)
Read a strided array from a variable.
Definition: dvarget.c:1294
EXTERNL int nc__enddef(int ncid, size_t h_minfree, size_t v_align, size_t v_minfree, size_t r_align)
Leave define mode with performance tuning.
Definition: dfile.c:906
int nc_get_att_ulonglong(int ncid, int varid, const char *name, unsigned long long *value)
Get an attribute.
Definition: dattget.c:240
int nc_put_att_ushort(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned short *value)
Write an attribute.
Definition: dattput.c:325
int nc_get_var1_string(int ncid, int varid, const size_t *indexp, char **ip)
Read a single datum from a variable.
Definition: dvarget.c:955
EXTERNL const char * nc_inq_libvers(void)
Return the library version.
Definition: derror.c:23
int nc_put_var_uint(int ncid, int varid, const unsigned int *op)
Write an entire variable with one call.
Definition: dvarput.c:1042
int nc_put_vars_longlong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const long long *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1266
int nc_put_vara_longlong(int ncid, int varid, const size_t *startp, const size_t *countp, const long long *op)
Write an array of values to a variable.
Definition: dvarput.c:706
int nc_put_var_ulonglong(int ncid, int varid, const unsigned long long *op)
Write an entire variable with one call.
Definition: dvarput.c:1060
int nc_put_varm_ushort(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned short *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1480
int nc_put_vars_int(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const int *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1175
int nc_get_var_long(int ncid, int varid, long *ip)
Read an entire variable in one call.
Definition: dvarget.c:1060
int nc_get_varm_schar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, signed char *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1438
int nc_put_vars_ubyte(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned char *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1227
int nc_put_vars_ushort(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned short *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1240
int nc_put_var_schar(int ncid, int varid, const signed char *op)
Write an entire variable with one call.
Definition: dvarput.c:961
EXTERNL int nc_free_vlens(size_t len, nc_vlen_t vlens[])
Free an array of vlens given the number of elements and an array.
Definition: dvlen.c:52
int nc_put_vara_double(int ncid, int varid, const size_t *startp, const size_t *countp, const double *op)
Write an array of values to a variable.
Definition: dvarput.c:662
int nc_put_var_int(int ncid, int varid, const int *op)
Write an entire variable with one call.
Definition: dvarput.c:988
int nc_put_var1_uchar(int ncid, int varid, const size_t *indexp, const unsigned char *op)
Write one datum.
Definition: dvarput.c:789
int nc_put_vara_float(int ncid, int varid, const size_t *startp, const size_t *countp, const float *op)
Write an array of values to a variable.
Definition: dvarput.c:651
EXTERNL int nc_put_var(int ncid, int varid, const void *op)
Write an entire variable with one call.
Definition: dvarput.c:946
int nc_put_var1_ushort(int ncid, int varid, const size_t *indexp, const unsigned short *op)
Write one datum.
Definition: dvarput.c:852
EXTERNL int nc_inq_var_chunking(int ncid, int varid, int *storagep, size_t *chunksizesp)
This is a wrapper for nc_inq_var_all().
Definition: dvarinq.c:424
EXTERNL int nc_put_vara(int ncid, int varid, const size_t *startp, const size_t *countp, const void *op)
Write an array of values to a variable.
Definition: dvarput.c:575
int nc_get_vars_double(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, double *ip)
Read a strided array from a variable.
Definition: dvarget.c:1282
EXTERNL int nc_insert_array_compound(int ncid, nc_type xtype, const char *name, size_t offset, nc_type field_typeid, int ndims, const int *dim_sizes)
Insert a named array field into a compound type.
Definition: dcompound.c:141
EXTERNL int nc_rename_dim(int ncid, int dimid, const char *name)
Rename a dimension.
Definition: ddim.c:220
EXTERNL int nc_inq_varndims(int ncid, int varid, int *ndimsp)
Learn how many dimensions are associated with a variable.
Definition: dvarinq.c:191
int nc_get_var_schar(int ncid, int varid, signed char *ip)
Read an entire variable in one call.
Definition: dvarget.c:1024
EXTERNL int nc_inq_compound_fielddim_sizes(int ncid, nc_type xtype, int fieldid, int *dim_sizes)
Get information about one of the fields of a compound type.
Definition: dcompound.c:443
int nc_put_var1_double(int ncid, int varid, const size_t *indexp, const double *op)
Write one datum.
Definition: dvarput.c:834
int nc_get_att_short(int ncid, int varid, const char *name, short *value)
Get an attribute.
Definition: dattget.c:159
EXTERNL int nc_inq_format(int ncid, int *formatp)
Inquire about the binary format of a netCDF file as presented by the API.
Definition: dfile.c:1278
int nc_put_att_ubyte(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned char *value)
Write an attribute.
Definition: dattput.c:314
EXTERNL int nc_inq_enum(int ncid, nc_type xtype, char *name, nc_type *base_nc_typep, size_t *base_sizep, size_t *num_membersp)
Learn about a user-define enumeration type.
Definition: denum.c:107
EXTERNL int nc_put_varm(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const void *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1350
int nc_put_vars_short(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const short *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1162
EXTERNL int nc_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp)
Inquire about a file or group.
Definition: dfile.c:1365
EXTERNL int nc_get_varm(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, void *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1424
EXTERNL int nc_def_opaque(int ncid, size_t size, const char *name, nc_type *xtypep)
Create an opaque type.
Definition: dopaque.c:33
int nc_type
The nc_type type is just an int.
Definition: netcdf.h:27
int nc_put_varm_int(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const int *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1415
int nc_get_att_uint(int ncid, int varid, const char *name, unsigned int *value)
Get an attribute.
Definition: dattget.c:222
int nc_get_vara_string(int ncid, int varid, const size_t *startp, const size_t *countp, char **ip)
Read an array of values from a variable.
Definition: dvarget.c:776
EXTERNL int nc_put_vars(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const void *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1111
EXTERNL int nc_inq_compound_name(int ncid, nc_type xtype, char *name)
Learn the name of a compound type.
Definition: dcompound.c:203
EXTERNL int nc_def_dim(int ncid, const char *name, size_t len, int *idp)
Define a new dimension.
Definition: ddim.c:67
int nc_put_var_string(int ncid, int varid, const char **op)
Write an entire variable with one call.
Definition: dvarput.c:1070
int nc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype, size_t len, const signed char *value)
Write an attribute.
Definition: dattput.c:237
int nc_put_vara_short(int ncid, int varid, const size_t *startp, const size_t *countp, const short *op)
Write an array of values to a variable.
Definition: dvarput.c:618
EXTERNL int nc_inq_attlen(int ncid, int varid, const char *name, size_t *lenp)
Find the length of an attribute.
Definition: dattinq.c:200
int nc_put_vara_uint(int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned int *op)
Write an array of values to a variable.
Definition: dvarput.c:695
EXTERNL int nc_inq_format_extended(int ncid, int *formatp, int *modep)
Obtain more detailed (vis-a-vis nc_inq_format) format information about an open dataset.
Definition: dfile.c:1312
int nc_put_att_int(int ncid, int varid, const char *name, nc_type xtype, size_t len, const int *value)
Write an attribute.
Definition: dattput.c:270
int nc_put_varm_short(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const short *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1402
EXTERNL int nc_put_att_text(int ncid, int varid, const char *name, size_t len, const char *op)
Write a text attribute.
Definition: dattput.c:135
int nc_put_var_ubyte(int ncid, int varid, const unsigned char *op)
Write an entire variable with one call.
Definition: dvarput.c:1024
int nc_put_vars_float(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const float *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1201
int nc_put_vara_string(int ncid, int varid, const size_t *startp, const size_t *countp, const char **op)
Write an array of values to a variable.
Definition: dvarput.c:729
EXTERNL int nc_set_var_chunk_cache(int ncid, int varid, size_t size, size_t nelems, float preemption)
Definition: dvar.c:468
EXTERNL int nc_inq_natts(int ncid, int *nattsp)
Find number of global or group attributes.
Definition: dattinq.c:149
EXTERNL int nc_rename_var(int ncid, int varid, const char *name)
Rename a variable.
Definition: dvar.c:280
int nc_put_att_short(int ncid, int varid, const char *name, nc_type xtype, size_t len, const short *value)
Write an attribute.
Definition: dattput.c:259
EXTERNL int nc_del_att(int ncid, int varid, const char *name)
Delete an attribute.
Definition: datt.c:157
int nc_get_var1_longlong(int ncid, int varid, const size_t *indexp, long long *ip)
Read a single datum from a variable.
Definition: dvarget.c:934
int nc_put_vara_text(int ncid, int varid, const size_t *startp, const size_t *countp, const char *op)
Write an array of values to a variable.
Definition: dvarput.c:588
int nc_put_var1_float(int ncid, int varid, const size_t *indexp, const float *op)
Write one datum.
Definition: dvarput.c:825
EXTERNL int nc_inq_vlen(int ncid, nc_type xtype, char *name, size_t *datum_sizep, nc_type *base_nc_typep)
Learn about a VLEN type.
Definition: dvlen.c:118
EXTERNL int nc_close(int ncid)
Close an open netCDF dataset.
Definition: dfile.c:1093
int nc_put_var_longlong(int ncid, int varid, const long long *op)
Write an entire variable with one call.
Definition: dvarput.c:1051
int nc_get_varm_int(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, int *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1474
int nc_get_vars_longlong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, long long *ip)
Read a strided array from a variable.
Definition: dvarget.c:1330
int nc_put_vara_ubyte(int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned char *op)
Write an array of values to a variable.
Definition: dvarput.c:673
int nc_get_att_string(int ncid, int varid, const char *name, char **value)
Get an attribute.
Definition: dattget.c:249
EXTERNL int nc_inq_compound_field(int ncid, nc_type xtype, int fieldid, char *name, size_t *offsetp, nc_type *field_typeidp, int *ndimsp, int *dim_sizesp)
Get information about one of the fields of a compound type.
Definition: dcompound.c:287
int nc_put_varm_text(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const char *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1364
int nc_put_var1_int(int ncid, int varid, const size_t *indexp, const int *op)
Write one datum.
Definition: dvarput.c:807
int nc_get_vara_ushort(int ncid, int varid, const size_t *startp, const size_t *countp, unsigned short *ip)
Read an array of values from a variable.
Definition: dvarget.c:735
EXTERNL int nc_get_var(int ncid, int varid, void *ip)
Read an entire variable in one call.
Definition: dvarget.c:1009
EXTERNL int nc_get_att(int ncid, int varid, const char *name, void *ip)
Get an attribute of any type.
Definition: dattget.c:41
int nc_get_var_int(int ncid, int varid, int *ip)
Read an entire variable in one call.
Definition: dvarget.c:1051
int nc_put_varm_string(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const char **op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1533
int nc_get_vara_short(int ncid, int varid, const size_t *startp, const size_t *countp, short *ip)
Read an array of values from a variable.
Definition: dvarget.c:673
EXTERNL int nc_inq_compound_fieldtype(int ncid, nc_type xtype, int fieldid, nc_type *field_typeidp)
Get information about one of the fields of a compound type.
Definition: dcompound.c:383
int nc_get_var_ushort(int ncid, int varid, unsigned short *ip)
Read an entire variable in one call.
Definition: dvarget.c:1096
EXTERNL int nc_def_compound(int ncid, size_t size, const char *name, nc_type *typeidp)
Create a compound type.
Definition: dcompound.c:63
EXTERNL int nc_get_att_text(int ncid, int varid, const char *name, char *ip)
Get an attribute.
Definition: dattget.c:132
int nc_get_att_longlong(int ncid, int varid, const char *name, long long *value)
Get an attribute.
Definition: dattget.c:231
int nc_get_var_double(int ncid, int varid, double *ip)
Read an entire variable in one call.
Definition: dvarget.c:1078
EXTERNL int nc_inq_dimname(int ncid, int dimid, char *name)
Find out the name of a dimension.
Definition: ddim.c:338
int nc_put_varm_ulonglong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned long long *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1519
int nc_get_vara_float(int ncid, int varid, const size_t *startp, const size_t *countp, float *ip)
Read an array of values from a variable.
Definition: dvarget.c:704
This is the type of arrays of vlens.
Definition: netcdf.h:624
int nc_put_att_long(int ncid, int varid, const char *name, nc_type xtype, size_t len, const long *value)
Write an attribute.
Definition: dattput.c:281
int nc_put_vara_ushort(int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned short *op)
Write an array of values to a variable.
Definition: dvarput.c:684
int nc_get_varm_uint(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned int *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1548
int nc_get_var_string(int ncid, int varid, char **ip)
Read an entire variable in one call.
Definition: dvarget.c:1133
int nc_put_var1_longlong(int ncid, int varid, const size_t *indexp, const long long *op)
Write one datum.
Definition: dvarput.c:870
int nc_get_var1_ubyte(int ncid, int varid, const size_t *indexp, unsigned char *ip)
Read a single datum from a variable.
Definition: dvarget.c:904
int nc_get_var1_uchar(int ncid, int varid, const size_t *indexp, unsigned char *ip)
Read a single datum from a variable.
Definition: dvarget.c:847
EXTERNL int nc_get_var1(int ncid, int varid, const size_t *indexp, void *ip)
Read a single datum from a variable.
Definition: dvarget.c:823
EXTERNL int nc_inq_compound(int ncid, nc_type xtype, char *name, size_t *sizep, size_t *nfieldsp)
Learn about a compound type.
Definition: dcompound.c:175
int nc_get_vara_int(int ncid, int varid, const size_t *startp, const size_t *countp, int *ip)
Read an array of values from a variable.
Definition: dvarget.c:684
EXTERNL int nc_inq_var_szip(int ncid, int varid, int *options_maskp, int *pixels_per_blockp)
Learn the szip settings of a variable.
Definition: dvarinq.c:328
int nc_put_vara_long(int ncid, int varid, const size_t *startp, const size_t *countp, const long *op)
Write an array of values to a variable.
Definition: dvarput.c:640
EXTERNL int nc_inq_var_fletcher32(int ncid, int varid, int *fletcher32p)
Learn the checksum settings for a variable.
Definition: dvarinq.c:375
int nc_get_var1_uint(int ncid, int varid, const size_t *indexp, unsigned int *ip)
Read a single datum from a variable.
Definition: dvarget.c:924
void * p
Pointer to VL data.
Definition: netcdf.h:626
int nc_get_att_float(int ncid, int varid, const char *name, float *value)
Get an attribute.
Definition: dattget.c:186
int nc_get_vara_longlong(int ncid, int varid, const size_t *startp, const size_t *countp, long long *ip)
Read an array of values from a variable.
Definition: dvarget.c:755
int nc_put_varm_longlong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const long long *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1506
EXTERNL int nc_put_var1(int ncid, int varid, const size_t *indexp, const void *op)
Write one datum.
Definition: dvarput.c:765
int nc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned char *value)
Write an attribute.
Definition: dattput.c:248
int nc_get_vara_ulonglong(int ncid, int varid, const size_t *startp, const size_t *countp, unsigned long long *ip)
Read an array of values from a variable.
Definition: dvarget.c:765
int nc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *value)
Get an attribute.
Definition: dattget.c:150
int nc_get_vars_uchar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned char *ip)
Read a strided array from a variable.
Definition: dvarget.c:1222
int nc_get_var_text(int ncid, int varid, char *ip)
Read an entire variable in one call.
Definition: dvarget.c:1015
EXTERNL int nc_inq_compound_nfields(int ncid, nc_type xtype, size_t *nfieldsp)
Learn the number of fields in a compound type.
Definition: dcompound.c:249
int nc_get_varm_uchar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned char *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1451
EXTERNL int nc_inq_compound_fieldndims(int ncid, nc_type xtype, int fieldid, int *ndimsp)
Get information about one of the fields of a compound type.
Definition: dcompound.c:413
int nc_get_vars_ulonglong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned long long *ip)
Read a strided array from a variable.
Definition: dvarget.c:1342
int nc_get_vars_int(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, int *ip)
Read a strided array from a variable.
Definition: dvarget.c:1246
int nc_get_vara_ubyte(int ncid, int varid, const size_t *startp, const size_t *countp, unsigned char *ip)
Read an array of values from a variable.
Definition: dvarget.c:725
int nc_get_var1_float(int ncid, int varid, const size_t *indexp, float *ip)
Read a single datum from a variable.
Definition: dvarget.c:884
EXTERNL int nc_set_fill(int ncid, int fillmode, int *old_modep)
Change the fill-value mode to improve write performance.
Definition: dfile.c:1211
int nc_get_vara_text(int ncid, int varid, const size_t *startp, const size_t *countp, char *ip)
Read an array of values from a variable.
Definition: dvarget.c:640
int nc_put_att_uint(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned int *value)
Write an attribute.
Definition: dattput.c:336
int nc_get_vara_schar(int ncid, int varid, const size_t *startp, const size_t *countp, signed char *ip)
Read an array of values from a variable.
Definition: dvarget.c:651
int nc_put_var1_schar(int ncid, int varid, const size_t *indexp, const signed char *op)
Write one datum.
Definition: dvarput.c:780
EXTERNL int nc_inq_vartype(int ncid, int varid, nc_type *xtypep)
Learn the type of a variable.
Definition: dvarinq.c:168
EXTERNL int nc_put_att(int ncid, int varid, const char *name, nc_type xtype, size_t len, const void *op)
Write an attribute.
Definition: dattput.c:226
int nc_get_vars_float(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, float *ip)
Read a strided array from a variable.
Definition: dvarget.c:1270
EXTERNL int nc_inq_type(int ncid, nc_type xtype, char *name, size_t *size)
Inquire about a type.
Definition: dfile.c:1448
int nc_put_att_ulonglong(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned long long *value)
Write an attribute.
Definition: dattput.c:359
EXTERNL int nc_free_vlen(nc_vlen_t *vl)
Free memory in a VLEN object.
Definition: dvlen.c:31
int nc_put_vara_int(int ncid, int varid, const size_t *startp, const size_t *countp, const int *op)
Write an array of values to a variable.
Definition: dvarput.c:629
EXTERNL int nc_free_string(size_t len, char **data)
Free string space allocated by the library.
Definition: dvar.c:530
int nc_put_varm_schar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const signed char *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1376
EXTERNL int nc_inq_compound_fieldindex(int ncid, nc_type xtype, const char *name, int *fieldidp)
Learn the Index of a Named Field in a Compound Type.
Definition: dcompound.c:475
EXTERNL int nc_inq_compound_fieldoffset(int ncid, nc_type xtype, int fieldid, size_t *offsetp)
Get information about one of the fields of a compound type.
Definition: dcompound.c:353
int nc_get_var_ubyte(int ncid, int varid, unsigned char *ip)
Read an entire variable in one call.
Definition: dvarget.c:1087
EXTERNL int nc_inq_varname(int ncid, int varid, char *name)
Learn the name of a variable.
Definition: dvarinq.c:146
int nc_get_var_longlong(int ncid, int varid, long long *ip)
Read an entire variable in one call.
Definition: dvarget.c:1114
int nc_put_var1_ulonglong(int ncid, int varid, const size_t *indexp, const unsigned long long *op)
Write one datum.
Definition: dvarput.c:879
int nc_put_varm_double(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const double *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1454
int nc_get_att_long(int ncid, int varid, const char *name, long *value)
Get an attribute.
Definition: dattget.c:177
int nc_get_vars_short(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, short *ip)
Read a strided array from a variable.
Definition: dvarget.c:1234
int nc_get_var1_ushort(int ncid, int varid, const size_t *indexp, unsigned short *ip)
Read a single datum from a variable.
Definition: dvarget.c:914
size_t len
Length of VL data (in base type units)
Definition: netcdf.h:625
EXTERNL int nc__create(const char *path, int cmode, size_t initialsz, size_t *chunksizehintp, int *ncidp)
Create a netCDF file with some extra parameters controlling classic file cacheing.
Definition: dfile.c:450
int nc_get_varm_text(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, char *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1586
int nc_put_var1_short(int ncid, int varid, const size_t *indexp, const short *op)
Write one datum.
Definition: dvarput.c:798
EXTERNL int nc_inq_compound_fieldname(int ncid, nc_type xtype, int fieldid, char *name)
Get information about one of the fields of a compound type.
Definition: dcompound.c:321
int nc_get_var1_schar(int ncid, int varid, const size_t *indexp, signed char *ip)
Read a single datum from a variable.
Definition: dvarget.c:838
int nc_put_var_double(int ncid, int varid, const double *op)
Write an entire variable with one call.
Definition: dvarput.c:1015
int nc_get_vars_schar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, signed char *ip)
Read a strided array from a variable.
Definition: dvarget.c:1210
EXTERNL int nc_insert_enum(int ncid, nc_type xtype, const char *name, const void *value)
Insert a named member into a enum type.
Definition: denum.c:71
int nc_get_vars_long(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, long *ip)
Read a strided array from a variable.
Definition: dvarget.c:1258
EXTERNL int nc_inq_varid(int ncid, const char *name, int *varidp)
Find the ID of a variable, from the name.
Definition: dvarinq.c:52
EXTERNL int nc_insert_compound(int ncid, nc_type xtype, const char *name, size_t offset, nc_type field_typeid)
Insert a named field into a compound type.
Definition: dcompound.c:99
int nc_get_vars_ushort(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned short *ip)
Read a strided array from a variable.
Definition: dvarget.c:1306
int nc_put_varm_long(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const long *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1428
int nc_get_vara_uchar(int ncid, int varid, const size_t *startp, const size_t *countp, unsigned char *ip)
Read an array of values from a variable.
Definition: dvarget.c:662
int nc_get_var_float(int ncid, int varid, float *ip)
Read an entire variable in one call.
Definition: dvarget.c:1069
int nc_get_var1_short(int ncid, int varid, const size_t *indexp, short *ip)
Read a single datum from a variable.
Definition: dvarget.c:856
EXTERNL int nc_get_vars(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, void *ip)
Read a strided array from a variable.
Definition: dvarget.c:1184
int nc_put_att_float(int ncid, int varid, const char *name, nc_type xtype, size_t len, const float *value)
Write an attribute.
Definition: dattput.c:292
int nc_put_var_text(int ncid, int varid, const char *op)
Write an entire variable with one call.
Definition: dvarput.c:952
EXTERNL int nc_inq_enum_member(int ncid, nc_type xtype, int idx, char *name, void *value)
Learn about a about a member of an enum type.
Definition: denum.c:140
int nc_get_var_short(int ncid, int varid, short *ip)
Read an entire variable in one call.
Definition: dvarget.c:1042
int nc_put_varm_uint(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned int *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1493
int nc_get_var1_ulonglong(int ncid, int varid, const size_t *indexp, unsigned long long *ip)
Read a single datum from a variable.
Definition: dvarget.c:944
int nc_get_att_schar(int ncid, int varid, const char *name, signed char *value)
Get an attribute.
Definition: dattget.c:141
int nc_put_att_longlong(int ncid, int varid, const char *name, nc_type xtype, size_t len, const long long *value)
Write an attribute.
Definition: dattput.c:347
int nc_put_var1_text(int ncid, int varid, const size_t *indexp, const char *op)
Write one datum.
Definition: dvarput.c:771
int nc_put_vara_ulonglong(int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned long long *op)
Write an array of values to a variable.
Definition: dvarput.c:717
int nc_put_var_float(int ncid, int varid, const float *op)
Write an entire variable with one call.
Definition: dvarput.c:1006
EXTERNL int nc_inq_enum_ident(int ncid, nc_type xtype, long long value, char *identifier)
Get the name which is associated with an enum member value.
Definition: denum.c:168
int nc_put_vars_text(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const char *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1125
int nc_get_var1_double(int ncid, int varid, const size_t *indexp, double *ip)
Read a single datum from a variable.
Definition: dvarget.c:894
int nc_put_var1_long(int ncid, int varid, const size_t *indexp, const long *op)
Write one datum.
Definition: dvarput.c:816
int nc_put_var_ushort(int ncid, int varid, const unsigned short *op)
Write an entire variable with one call.
Definition: dvarput.c:1033
EXTERNL int nc_inq_var_deflate(int ncid, int varid, int *shufflep, int *deflatep, int *deflate_levelp)
Learn the storage and deflate settings for a variable.
Definition: dvarinq.c:273
EXTERNL int nc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp)
Return number and list of unlimited dimensions.
Definition: dvarinq.c:563
EXTERNL int nc_inq_var(int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
Learn about a variable.
Definition: dvarinq.c:116
int nc_put_vars_schar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const signed char *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1137
int nc_get_var_uchar(int ncid, int varid, unsigned char *ip)
Read an entire variable in one call.
Definition: dvarget.c:1033
EXTERNL int nc_inq_path(int ncid, size_t *pathlen, char *path)
Get the file pathname (or the opendap URL) which was used to open/create the ncid's file...
Definition: dfile.c:686
int nc_put_vars_long(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const long *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1188
int nc_get_var1_long(int ncid, int varid, const size_t *indexp, long *ip)
Read a single datum from a variable.
Definition: dvarget.c:874
int nc_get_varm_long(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, long *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1486
EXTERNL int nc_put_att_string(int ncid, int varid, const char *name, size_t len, const char **op)
Write a string attribute.
Definition: dattput.c:48
EXTERNL int nc_def_vlen(int ncid, const char *name, nc_type base_typeid, nc_type *xtypep)
Use this function to define a variable length array type.
Definition: dvlen.c:90
EXTERNL int nc_open(const char *path, int mode, int *ncidp)
Open an existing netCDF file.
Definition: dfile.c:588
EXTERNL int nc_inq_dimid(int ncid, const char *name, int *idp)
Find the ID of a dimension from the name.
Definition: ddim.c:96
EXTERNL int nc_inq_ndims(int ncid, int *ndimsp)
Find the number of dimensions.
Definition: ddim.c:250
EXTERNL int nc_inq_varnatts(int ncid, int varid, int *nattsp)
Learn how many attributes are associated with a variable.
Definition: dvarinq.c:236
int nc_get_att_ubyte(int ncid, int varid, const char *name, unsigned char *value)
Get an attribute.
Definition: dattget.c:204
int nc_put_vars_ulonglong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned long long *op)
Write a strided array of values to a variable.
Definition: dvarput.c:1279
EXTERNL int nc_inq_compound_size(int ncid, nc_type xtype, size_t *sizep)
Learn the size of a compound type.
Definition: dcompound.c:226
EXTERNL int nc_enddef(int ncid)
Leave define mode.
Definition: dfile.c:815
int nc_put_var1_uint(int ncid, int varid, const size_t *indexp, const unsigned int *op)
Write one datum.
Definition: dvarput.c:861
int nc_get_att_int(int ncid, int varid, const char *name, int *value)
Get an attribute.
Definition: dattget.c:168
int nc_get_att_double(int ncid, int varid, const char *name, double *value)
Get an attribute.
Definition: dattget.c:195
EXTERNL int nc_inq_dimlen(int ncid, int dimid, size_t *lenp)
Find the length of a dimension.
Definition: ddim.c:394
EXTERNL int nc_inq_user_type(int ncid, nc_type xtype, char *name, size_t *size, nc_type *base_nc_typep, size_t *nfieldsp, int *classp)
Learn about a user defined type.
Definition: dtype.c:102
EXTERNL int nc_inq_attid(int ncid, int varid, const char *name, int *idp)
Find an attribute ID.
Definition: dattinq.c:101
int nc_get_var1_int(int ncid, int varid, const size_t *indexp, int *ip)
Read a single datum from a variable.
Definition: dvarget.c:865
int nc_put_var_uchar(int ncid, int varid, const unsigned char *op)
Write an entire variable with one call.
Definition: dvarput.c:970
int nc_get_varm_ushort(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned short *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1535
int nc_put_var_short(int ncid, int varid, const short *op)
Write an entire variable with one call.
Definition: dvarput.c:979
EXTERNL int nc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep)
Learn the fill mode of a variable.
Definition: dvarinq.c:458
int nc_put_varm_float(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const float *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1441
int nc_get_varm_string(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, char **ip)
Read a mapped array from a variable.
Definition: dvarget.c:1599
int nc_get_varm_double(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, double *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1510
EXTERNL int nc_sync(int ncid)
Synchronize an open netcdf dataset to disk.
Definition: dfile.c:983
EXTERNL int nc_get_vara(int ncid, int varid, const size_t *startp, const size_t *countp, void *ip)
Read an array of values from a variable.
Definition: dvarget.c:627
EXTERNL int nc_create(const char *path, int cmode, int *ncidp)
Create a new netCDF file.
Definition: dfile.c:383
int nc_put_var1_ubyte(int ncid, int varid, const size_t *indexp, const unsigned char *op)
Write one datum.
Definition: dvarput.c:843
int nc_put_varm_uchar(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned char *op)
Write a mapped array of values to a variable.
Definition: dvarput.c:1389
int nc_get_vara_long(int ncid, int varid, const size_t *startp, const size_t *countp, long *ip)
Read an array of values from a variable.
Definition: dvarget.c:694
int nc_get_varm_longlong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, long long *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1561
int nc_put_vars_string(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const char **op)
Write a strided array of values to a variable.
Definition: dvarput.c:1293
EXTERNL int nc_inq_dim(int ncid, int dimid, char *name, size_t *lenp)
Find the name and length of a dimension.
Definition: ddim.c:159
int nc_get_vars_string(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, char **ip)
Read a strided array from a variable.
Definition: dvarget.c:1355
EXTERNL int nc_inq_attname(int ncid, int varid, int attnum, char *name)
Find the name of an attribute.
Definition: dattinq.c:129
int nc_get_vars_uint(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned int *ip)
Read a strided array from a variable.
Definition: dvarget.c:1318
EXTERNL int nc_inq_typeid(int ncid, const char *name, nc_type *typeidp)
Find a type by name.
Definition: dtype.c:59
int nc_get_varm_ulonglong(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned long long *ip)
Read a mapped array from a variable.
Definition: dvarget.c:1573

Return to the Main Unidata NetCDF page.
Generated on Sun Nov 23 2014 16:24:54 for NetCDF. NetCDF is a Unidata library.