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

Return to the Main Unidata NetCDF page.
Generated on Mon Jul 13 2015 07:53:10 for NetCDF. NetCDF is a Unidata library.