20 #if defined(_WIN32) || defined(_WIN64)
27 #if defined(__cplusplus)
39 #define NC_LONG NC_INT
49 #define NC_MAX_ATOMIC_TYPE NC_STRING
56 #define NC_COMPOUND 16
60 #define NC_FIRSTUSERTYPEID 32
67 #define NC_FILL_BYTE ((signed char)-127)
68 #define NC_FILL_CHAR ((char)0)
69 #define NC_FILL_SHORT ((short)-32767)
70 #define NC_FILL_INT (-2147483647)
71 #define NC_FILL_FLOAT (9.9692099683868690e+36f)
72 #define NC_FILL_DOUBLE (9.9692099683868690e+36)
73 #define NC_FILL_UBYTE (255)
74 #define NC_FILL_USHORT (65535)
75 #define NC_FILL_UINT (4294967295U)
76 #define NC_FILL_INT64 ((long long)-9223372036854775806LL)
77 #define NC_FILL_UINT64 ((unsigned long long)18446744073709551614ULL)
78 #define NC_FILL_STRING ((char *)"")
89 #define NC_MAX_BYTE 127
90 #define NC_MIN_BYTE (-NC_MAX_BYTE-1)
91 #define NC_MAX_CHAR 255
92 #define NC_MAX_SHORT 32767
93 #define NC_MIN_SHORT (-NC_MAX_SHORT - 1)
94 #define NC_MAX_INT 2147483647
95 #define NC_MIN_INT (-NC_MAX_INT - 1)
96 #define NC_MAX_FLOAT 3.402823466e+38f
97 #define NC_MIN_FLOAT (-NC_MAX_FLOAT)
98 #define NC_MAX_DOUBLE 1.7976931348623157e+308
99 #define NC_MIN_DOUBLE (-NC_MAX_DOUBLE)
100 #define NC_MAX_UBYTE NC_MAX_CHAR
101 #define NC_MAX_USHORT 65535U
102 #define NC_MAX_UINT 4294967295U
103 #define NC_MAX_INT64 (9223372036854775807LL)
104 #define NC_MIN_INT64 (-9223372036854775807LL-1)
105 #define NC_MAX_UINT64 (18446744073709551615ULL)
113 #define _FillValue "_FillValue"
115 #define NC_NOFILL 0x100
125 #define NC_NOWRITE 0x0000
126 #define NC_WRITE 0x0001
128 #define NC_CLOBBER 0x0000
129 #define NC_NOCLOBBER 0x0004
130 #define NC_DISKLESS 0x0008
131 #define NC_MMAP 0x0010
133 #define NC_64BIT_DATA 0x0020
134 #define NC_CDF5 NC_64BIT_DATA
136 #define NC_UDF0 0x0040
137 #define NC_UDF1 0x0080
139 #define NC_CLASSIC_MODEL 0x0100
140 #define NC_64BIT_OFFSET 0x0200
146 #define NC_LOCK 0x0400
150 #define NC_SHARE 0x0800
152 #define NC_NETCDF4 0x1000
157 #define NC_MPIIO 0x2000
158 #define NC_MPIPOSIX NC_MPIIO
159 #define NC_PNETCDF (NC_MPIIO)
161 #define NC_PERSIST 0x4000
162 #define NC_INMEMORY 0x8000
164 #define NC_MAX_MAGIC_NUMBER_LEN 8
173 #define NC_FORMAT_CLASSIC (1)
179 #define NC_FORMAT_64BIT_OFFSET (2)
180 #define NC_FORMAT_64BIT (NC_FORMAT_64BIT_OFFSET)
181 #define NC_FORMAT_NETCDF4 (3)
182 #define NC_FORMAT_NETCDF4_CLASSIC (4)
183 #define NC_FORMAT_64BIT_DATA (5)
186 #define NC_FORMAT_CDF5 NC_FORMAT_64BIT_DATA
189 #define NC_FORMAT_ALL (NC_64BIT_OFFSET|NC_64BIT_DATA|NC_CLASSIC_MODEL|NC_NETCDF4|NC_UDF0|NC_UDF1)
211 #define NC_FORMATX_NC3 (1)
212 #define NC_FORMATX_NC_HDF5 (2)
213 #define NC_FORMATX_NC4 NC_FORMATX_NC_HDF5
214 #define NC_FORMATX_NC_HDF4 (3)
215 #define NC_FORMATX_PNETCDF (4)
216 #define NC_FORMATX_DAP2 (5)
217 #define NC_FORMATX_DAP4 (6)
218 #define NC_FORMATX_UDF0 (8)
219 #define NC_FORMATX_UDF1 (9)
220 #define NC_FORMATX_NCZARR (10)
221 #define NC_FORMATX_UNDEFINED (0)
228 #define NC_FORMAT_NC3 NC_FORMATX_NC3
229 #define NC_FORMAT_NC_HDF5 NC_FORMATX_NC_HDF5
230 #define NC_FORMAT_NC4 NC_FORMATX_NC4
231 #define NC_FORMAT_NC_HDF4 NC_FORMATX_NC_HDF4
232 #define NC_FORMAT_PNETCDF NC_FORMATX_PNETCDF
233 #define NC_FORMAT_DAP2 NC_FORMATX_DAP2
234 #define NC_FORMAT_DAP4 NC_FORMATX_DAP4
235 #define NC_FORMAT_UNDEFINED NC_FORMATX_UNDEFINED
240 #define NC_SIZEHINT_DEFAULT 0
243 #define NC_ALIGN_CHUNK ((size_t)(-1))
246 #define NC_UNLIMITED 0L
273 #define NC_MAX_DIMS 1024
274 #define NC_MAX_ATTRS 8192
275 #define NC_MAX_VARS 8192
276 #define NC_MAX_NAME 256
277 #define NC_MAX_VAR_DIMS 1024
284 #define NC_MAX_HDF4_NAME NC_MAX_NAME
289 #define NC_ENDIAN_NATIVE 0
290 #define NC_ENDIAN_LITTLE 1
291 #define NC_ENDIAN_BIG 2
299 #define NC_CONTIGUOUS 1
308 #define NC_NOCHECKSUM 0
309 #define NC_FLETCHER32 1
317 #define NC_NOSHUFFLE 0
321 #define NC_MIN_DEFLATE_LEVEL 0
322 #define NC_MAX_DEFLATE_LEVEL 9
328 #define NC_ISSYSERR(err) ((err) > 0)
337 #define NC_EBADID (-33)
338 #define NC_ENFILE (-34)
339 #define NC_EEXIST (-35)
340 #define NC_EINVAL (-36)
341 #define NC_EPERM (-37)
346 #define NC_ENOTINDEFINE (-38)
355 #define NC_EINDEFINE (-39)
362 #define NC_EINVALCOORDS (-40)
367 #define NC_EMAXDIMS (-41)
369 #define NC_ENAMEINUSE (-42)
370 #define NC_ENOTATT (-43)
371 #define NC_EMAXATTS (-44)
372 #define NC_EBADTYPE (-45)
373 #define NC_EBADDIM (-46)
374 #define NC_EUNLIMPOS (-47)
379 #define NC_EMAXVARS (-48)
384 #define NC_ENOTVAR (-49)
385 #define NC_EGLOBAL (-50)
386 #define NC_ENOTNC (-51)
387 #define NC_ESTS (-52)
388 #define NC_EMAXNAME (-53)
389 #define NC_EUNLIMIT (-54)
390 #define NC_ENORECVARS (-55)
391 #define NC_ECHAR (-56)
400 #define NC_EEDGE (-57)
401 #define NC_ESTRIDE (-58)
402 #define NC_EBADNAME (-59)
409 #define NC_ERANGE (-60)
410 #define NC_ENOMEM (-61)
411 #define NC_EVARSIZE (-62)
412 #define NC_EDIMSIZE (-63)
413 #define NC_ETRUNC (-64)
414 #define NC_EAXISTYPE (-65)
417 #define NC_EDAP (-66)
418 #define NC_ECURL (-67)
420 #define NC_ENODATA (-69)
421 #define NC_EDAPSVC (-70)
422 #define NC_EDAS (-71)
423 #define NC_EDDS (-72)
424 #define NC_EDMR NC_EDDS
425 #define NC_EDATADDS (-73)
426 #define NC_EDATADAP NC_EDATADDS
427 #define NC_EDAPURL (-74)
428 #define NC_EDAPCONSTRAINT (-75)
429 #define NC_ETRANSLATION (-76)
430 #define NC_EACCESS (-77)
431 #define NC_EAUTH (-78)
434 #define NC_ENOTFOUND (-90)
435 #define NC_ECANTREMOVE (-91)
436 #define NC_EINTERNAL (-92)
437 #define NC_EPNETCDF (-93)
442 #define NC4_FIRST_ERROR (-100)
443 #define NC_EHDFERR (-101)
444 #define NC_ECANTREAD (-102)
445 #define NC_ECANTWRITE (-103)
446 #define NC_ECANTCREATE (-104)
447 #define NC_EFILEMETA (-105)
448 #define NC_EDIMMETA (-106)
449 #define NC_EATTMETA (-107)
450 #define NC_EVARMETA (-108)
451 #define NC_ENOCOMPOUND (-109)
452 #define NC_EATTEXISTS (-110)
453 #define NC_ENOTNC4 (-111)
454 #define NC_ESTRICTNC3 (-112)
455 #define NC_ENOTNC3 (-113)
456 #define NC_ENOPAR (-114)
457 #define NC_EPARINIT (-115)
458 #define NC_EBADGRPID (-116)
459 #define NC_EBADTYPID (-117)
460 #define NC_ETYPDEFINED (-118)
461 #define NC_EBADFIELD (-119)
462 #define NC_EBADCLASS (-120)
463 #define NC_EMAPTYPE (-121)
464 #define NC_ELATEFILL (-122)
465 #define NC_ELATEDEF (-123)
466 #define NC_EDIMSCALE (-124)
467 #define NC_ENOGRP (-125)
468 #define NC_ESTORAGE (-126)
469 #define NC_EBADCHUNK (-127)
470 #define NC_ENOTBUILT (-128)
471 #define NC_EDISKLESS (-129)
472 #define NC_ECANTEXTEND (-130)
473 #define NC_EMPI (-131)
475 #define NC_EFILTER (-132)
476 #define NC_ERCFILE (-133)
477 #define NC_ENULLPAD (-134)
478 #define NC_EINMEMORY (-135)
479 #define NC_ENOFILTER (-136)
480 #define NC_ENCZARR (-137)
481 #define NC_ES3 (-138)
482 #define NC_EEMPTY (-139)
483 #define NC_EFOUND (-140)
485 #define NC4_LAST_ERROR (-140)
488 #define NC_EURL (NC_EDAPURL)
489 #define NC_ECONSTRAINT (NC_EDAPCONSTRAINT)
493 #define DIM_WITHOUT_VARIABLE "This is a netCDF dimension but not a netCDF variable."
498 #define NC_HAVE_NEW_CHUNKING_API 1
505 #if defined(DLL_NETCDF)
506 # if defined(DLL_EXPORT)
507 # define MSC_EXTRA __declspec(dllexport)
509 # define MSC_EXTRA __declspec(dllimport)
516 #define EXTERNL MSC_EXTRA extern
518 #if defined(DLL_NETCDF)
530 typedef struct NC_Dispatch NC_Dispatch;
538 nc__create(
const char *path,
int cmode,
size_t initialsz,
539 size_t *chunksizehintp,
int *ncidp);
542 nc_create(
const char *path,
int cmode,
int *ncidp);
545 nc__open(
const char *path,
int mode,
546 size_t *chunksizehintp,
int *ncidp);
549 nc_open(
const char *path,
int mode,
int *ncidp);
553 nc_inq_path(
int ncid,
size_t *pathlen,
char *path);
558 nc_inq_ncid(
int ncid,
const char *name,
int *grp_ncid);
597 nc_inq_dimids(
int ncid,
int *ndims,
int *dimids,
int include_parents);
611 nc_def_grp(
int parent_ncid,
const char *name,
int *new_ncid);
626 size_t offset,
nc_type field_typeid);
631 size_t offset,
nc_type field_typeid,
632 int ndims,
const int *dim_sizes);
662 size_t *offsetp,
nc_type *field_typeidp,
int *ndimsp,
707 #define NC_COMPOUND_OFFSET(S,M) (offsetof(S,M))
730 nc_put_vlen_element(
int ncid,
int typeid1,
void *vlen_element,
731 size_t len,
const void *data);
734 nc_get_vlen_element(
int ncid,
int typeid1,
const void *vlen_element,
735 size_t *len,
void *data);
747 nc_type *base_nc_typep,
size_t *nfieldsp,
int *classp);
752 size_t len,
const void *op);
756 nc_get_att(
int ncid,
int varid,
const char *name,
void *ip);
776 size_t *base_sizep,
size_t *num_membersp);
801 nc_put_var(
int ncid,
int varid,
const void *op);
809 nc_put_var1(
int ncid,
int varid,
const size_t *indexp,
814 nc_get_var1(
int ncid,
int varid,
const size_t *indexp,
void *ip);
818 nc_put_vara(
int ncid,
int varid,
const size_t *startp,
819 const size_t *countp,
const void *op);
823 nc_get_vara(
int ncid,
int varid,
const size_t *startp,
824 const size_t *countp,
void *ip);
828 nc_put_vars(
int ncid,
int varid,
const size_t *startp,
829 const size_t *countp,
const ptrdiff_t *stridep,
834 nc_get_vars(
int ncid,
int varid,
const size_t *startp,
835 const size_t *countp,
const ptrdiff_t *stridep,
840 nc_put_varm(
int ncid,
int varid,
const size_t *startp,
841 const size_t *countp,
const ptrdiff_t *stridep,
842 const ptrdiff_t *imapp,
const void *op);
846 nc_get_varm(
int ncid,
int varid,
const size_t *startp,
847 const size_t *countp,
const ptrdiff_t *stridep,
848 const ptrdiff_t *imapp,
void *ip);
861 int *deflatep,
int *deflate_levelp);
865 int pixels_per_block);
869 nc_inq_var_szip(
int ncid,
int varid,
int *options_maskp,
int *pixels_per_blockp);
892 nc_def_var_fill(
int ncid,
int varid,
int no_fill,
const void *fill_value);
908 nc_def_var_filter(
int ncid,
int varid,
unsigned int id,
size_t nparams,
const unsigned int* parms);
912 nc_inq_var_filter(
int ncid,
int varid,
unsigned int* idp,
size_t* nparams,
unsigned int* params);
916 nc_set_fill(
int ncid,
int fillmode,
int *old_modep);
921 nc_set_default_format(
int format,
int *old_formatp);
925 nc_set_chunk_cache(
size_t size,
size_t nelems,
float preemption);
929 nc_get_chunk_cache(
size_t *sizep,
size_t *nelemsp,
float *preemptionp);
946 nc__enddef(
int ncid,
size_t h_minfree,
size_t v_align,
947 size_t v_minfree,
size_t r_align);
962 nc_inq(
int ncid,
int *ndimsp,
int *nvarsp,
int *nattsp,
int *unlimdimidp);
991 nc_def_dim(
int ncid,
const char *name,
size_t len,
int *idp);
997 nc_inq_dim(
int ncid,
int dimid,
char *name,
size_t *lenp);
1012 nc_inq_att(
int ncid,
int varid,
const char *name,
1013 nc_type *xtypep,
size_t *lenp);
1016 nc_inq_attid(
int ncid,
int varid,
const char *name,
int *idp);
1022 nc_inq_attlen(
int ncid,
int varid,
const char *name,
size_t *lenp);
1028 nc_copy_att(
int ncid_in,
int varid_in,
const char *name,
int ncid_out,
int varid_out);
1031 nc_rename_att(
int ncid,
int varid,
const char *name,
const char *newname);
1034 nc_del_att(
int ncid,
int varid,
const char *name);
1040 size_t len,
const char *op);
1047 size_t len,
const char **op);
1054 size_t len,
const unsigned char *op);
1057 nc_get_att_uchar(
int ncid,
int varid,
const char *name,
unsigned char *ip);
1061 size_t len,
const signed char *op);
1068 size_t len,
const short *op);
1075 size_t len,
const int *op);
1082 size_t len,
const long *op);
1089 size_t len,
const float *op);
1096 size_t len,
const double *op);
1103 size_t len,
const unsigned short *op);
1110 size_t len,
const unsigned int *op);
1113 nc_get_att_uint(
int ncid,
int varid,
const char *name,
unsigned int *ip);
1117 size_t len,
const long long *op);
1124 size_t len,
const unsigned long long *op);
1128 unsigned long long *ip);
1136 const int *dimidsp,
int *varidp);
1140 int *ndimsp,
int *dimidsp,
int *nattsp);
1164 nc_copy_var(
int ncid_in,
int varid,
int ncid_out);
1168 #define ncvarcpy(ncid_in, varid, ncid_out) ncvarcopy((ncid_in), (varid), (ncid_out))
1175 nc_put_var1_text(
int ncid,
int varid,
const size_t *indexp,
const char *op);
1182 const unsigned char *op);
1190 const signed char *op);
1205 nc_put_var1_int(
int ncid,
int varid,
const size_t *indexp,
const int *op);
1211 nc_put_var1_long(
int ncid,
int varid,
const size_t *indexp,
const long *op);
1230 const unsigned short *op);
1234 unsigned short *ip);
1238 const unsigned int *op);
1246 const long long *op);
1254 const unsigned long long *op);
1258 unsigned long long *ip);
1273 const size_t *countp,
const char *op);
1277 const size_t *countp,
char *ip);
1281 const size_t *countp,
const unsigned char *op);
1285 const size_t *countp,
unsigned char *ip);
1289 const size_t *countp,
const signed char *op);
1293 const size_t *countp,
signed char *ip);
1297 const size_t *countp,
const short *op);
1301 const size_t *countp,
short *ip);
1305 const size_t *countp,
const int *op);
1309 const size_t *countp,
int *ip);
1313 const size_t *countp,
const long *op);
1317 const size_t *startp,
const size_t *countp,
long *ip);
1321 const size_t *startp,
const size_t *countp,
const float *op);
1325 const size_t *startp,
const size_t *countp,
float *ip);
1329 const size_t *countp,
const double *op);
1333 const size_t *countp,
double *ip);
1337 const size_t *countp,
const unsigned short *op);
1341 const size_t *countp,
unsigned short *ip);
1345 const size_t *countp,
const unsigned int *op);
1349 const size_t *countp,
unsigned int *ip);
1353 const size_t *countp,
const long long *op);
1357 const size_t *countp,
long long *ip);
1361 const size_t *countp,
const unsigned long long *op);
1365 const size_t *countp,
unsigned long long *ip);
1369 const size_t *countp,
const char **op);
1373 const size_t *countp,
char **ip);
1380 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1385 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1390 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1391 const unsigned char *op);
1395 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1400 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1401 const signed char *op);
1405 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1410 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1415 const size_t *countp,
const ptrdiff_t *stridep,
1420 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1425 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1430 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1435 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1440 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1445 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1450 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1455 const size_t *countp,
const ptrdiff_t *stridep,
1460 const size_t *countp,
const ptrdiff_t *stridep,
1461 const unsigned short *op);
1465 const size_t *countp,
const ptrdiff_t *stridep,
1466 unsigned short *ip);
1470 const size_t *countp,
const ptrdiff_t *stridep,
1471 const unsigned int *op);
1475 const size_t *countp,
const ptrdiff_t *stridep,
1480 const size_t *countp,
const ptrdiff_t *stridep,
1481 const long long *op);
1485 const size_t *countp,
const ptrdiff_t *stridep,
1490 const size_t *countp,
const ptrdiff_t *stridep,
1491 const unsigned long long *op);
1495 const size_t *countp,
const ptrdiff_t *stridep,
1496 unsigned long long *ip);
1500 const size_t *countp,
const ptrdiff_t *stridep,
1505 const size_t *countp,
const ptrdiff_t *stridep,
1513 const size_t *countp,
const ptrdiff_t *stridep,
1514 const ptrdiff_t *imapp,
const char *op);
1518 const size_t *countp,
const ptrdiff_t *stridep,
1519 const ptrdiff_t *imapp,
char *ip);
1523 const size_t *countp,
const ptrdiff_t *stridep,
1524 const ptrdiff_t *imapp,
const unsigned char *op);
1528 const size_t *countp,
const ptrdiff_t *stridep,
1529 const ptrdiff_t *imapp,
unsigned char *ip);
1533 const size_t *countp,
const ptrdiff_t *stridep,
1534 const ptrdiff_t *imapp,
const signed char *op);
1538 const size_t *countp,
const ptrdiff_t *stridep,
1539 const ptrdiff_t *imapp,
signed char *ip);
1543 const size_t *countp,
const ptrdiff_t *stridep,
1544 const ptrdiff_t *imapp,
const short *op);
1548 const size_t *countp,
const ptrdiff_t *stridep,
1549 const ptrdiff_t *imapp,
short *ip);
1553 const size_t *countp,
const ptrdiff_t *stridep,
1554 const ptrdiff_t *imapp,
const int *op);
1558 const size_t *countp,
const ptrdiff_t *stridep,
1559 const ptrdiff_t *imapp,
int *ip);
1563 const size_t *countp,
const ptrdiff_t *stridep,
1564 const ptrdiff_t *imapp,
const long *op);
1568 const size_t *countp,
const ptrdiff_t *stridep,
1569 const ptrdiff_t *imapp,
long *ip);
1573 const size_t *countp,
const ptrdiff_t *stridep,
1574 const ptrdiff_t *imapp,
const float *op);
1578 const size_t *countp,
const ptrdiff_t *stridep,
1579 const ptrdiff_t *imapp,
float *ip);
1583 const size_t *countp,
const ptrdiff_t *stridep,
1584 const ptrdiff_t *imapp,
const double *op);
1588 const size_t *countp,
const ptrdiff_t *stridep,
1589 const ptrdiff_t * imapp,
double *ip);
1593 const size_t *countp,
const ptrdiff_t *stridep,
1594 const ptrdiff_t * imapp,
const unsigned short *op);
1598 const size_t *countp,
const ptrdiff_t *stridep,
1599 const ptrdiff_t * imapp,
unsigned short *ip);
1603 const size_t *countp,
const ptrdiff_t *stridep,
1604 const ptrdiff_t * imapp,
const unsigned int *op);
1608 const size_t *countp,
const ptrdiff_t *stridep,
1609 const ptrdiff_t * imapp,
unsigned int *ip);
1613 const size_t *countp,
const ptrdiff_t *stridep,
1614 const ptrdiff_t * imapp,
const long long *op);
1618 const size_t *countp,
const ptrdiff_t *stridep,
1619 const ptrdiff_t * imapp,
long long *ip);
1623 const size_t *countp,
const ptrdiff_t *stridep,
1624 const ptrdiff_t * imapp,
const unsigned long long *op);
1628 const size_t *countp,
const ptrdiff_t *stridep,
1629 const ptrdiff_t * imapp,
unsigned long long *ip);
1633 const size_t *countp,
const ptrdiff_t *stridep,
1634 const ptrdiff_t * imapp,
const char **op);
1638 const size_t *countp,
const ptrdiff_t *stridep,
1639 const ptrdiff_t * imapp,
char **ip);
1725 size_t len,
const unsigned char *op);
1731 const unsigned char *op);
1737 const size_t *countp,
const unsigned char *op);
1740 const size_t *countp,
unsigned char *ip);
1743 const size_t *countp,
const ptrdiff_t *stridep,
1744 const unsigned char *op);
1747 const size_t *countp,
const ptrdiff_t *stridep,
1751 const size_t *countp,
const ptrdiff_t *stridep,
1752 const ptrdiff_t * imapp,
const unsigned char *op);
1755 const size_t *countp,
const ptrdiff_t *stridep,
1756 const ptrdiff_t * imapp,
unsigned char *ip);
1766 nc_set_log_level(
int new_level);
1770 #define NC_TURN_OFF_LOGGING (-1)
1780 nc_delete(
const char *path);
1792 nc__create_mp(
const char *path,
int cmode,
size_t initialsz,
int basepe,
1793 size_t *chunksizehintp,
int *ncidp);
1796 nc__open_mp(
const char *path,
int mode,
int basepe,
1797 size_t *chunksizehintp,
int *ncidp);
1800 nc_delete_mp(
const char *path,
int basepe);
1803 nc_set_base_pe(
int ncid,
int pe);
1806 nc_inq_base_pe(
int ncid,
int *pe);
1816 #define FILL_BYTE NC_FILL_BYTE
1817 #define FILL_CHAR NC_FILL_CHAR
1818 #define FILL_SHORT NC_FILL_SHORT
1819 #define FILL_LONG NC_FILL_INT
1820 #define FILL_FLOAT NC_FILL_FLOAT
1821 #define FILL_DOUBLE NC_FILL_DOUBLE
1823 #define MAX_NC_DIMS NC_MAX_DIMS
1824 #define MAX_NC_ATTRS NC_MAX_ATTRS
1825 #define MAX_NC_VARS NC_MAX_VARS
1826 #define MAX_NC_NAME NC_MAX_NAME
1827 #define MAX_VAR_DIMS NC_MAX_VAR_DIMS
1836 #define NC_ENTOOL NC_EMAXNAME
1837 #define NC_EXDR (-32)
1838 #define NC_SYSERR (-31)
1845 #define NC_VERBOSE 2
1851 nc_advise(
const char *cdf_routine_name,
int err,
const char *fmt,...);
1861 nccreate(
const char* path,
int cmode);
1864 ncopen(
const char* path,
int mode);
1885 ncinquire(
int ncid,
int *ndimsp,
int *nvarsp,
int *nattsp,
int *unlimdimp);
1888 ncdimdef(
int ncid,
const char *name,
long len);
1891 ncdimid(
int ncid,
const char *name);
1894 ncdiminq(
int ncid,
int dimid,
char *name,
long *lenp);
1897 ncdimrename(
int ncid,
int dimid,
const char *name);
1901 int len,
const void *op);
1904 ncattinq(
int ncid,
int varid,
const char *name,
nc_type *xtypep,
int *lenp);
1907 ncattget(
int ncid,
int varid,
const char *name,
void *ip);
1910 ncattcopy(
int ncid_in,
int varid_in,
const char *name,
int ncid_out,
1914 ncattname(
int ncid,
int varid,
int attnum,
char *name);
1917 ncattrename(
int ncid,
int varid,
const char *name,
const char *newname);
1920 ncattdel(
int ncid,
int varid,
const char *name);
1924 int ndims,
const int *dimidsp);
1927 ncvarid(
int ncid,
const char *name);
1931 int *ndimsp,
int *dimidsp,
int *nattsp);
1934 ncvarput1(
int ncid,
int varid,
const long *indexp,
const void *op);
1937 ncvarget1(
int ncid,
int varid,
const long *indexp,
void *ip);
1940 ncvarput(
int ncid,
int varid,
const long *startp,
const long *countp,
1944 ncvarget(
int ncid,
int varid,
const long *startp,
const long *countp,
1948 ncvarputs(
int ncid,
int varid,
const long *startp,
const long *countp,
1949 const long *stridep,
const void *op);
1952 ncvargets(
int ncid,
int varid,
const long *startp,
const long *countp,
1953 const long *stridep,
void *ip);
1956 ncvarputg(
int ncid,
int varid,
const long *startp,
const long *countp,
1957 const long *stridep,
const long *imapp,
const void *op);
1960 ncvargetg(
int ncid,
int varid,
const long *startp,
const long *countp,
1961 const long *stridep,
const long *imapp,
void *ip);
1964 ncvarrename(
int ncid,
int varid,
const char *name);
1967 ncrecinq(
int ncid,
int *nrecvarsp,
int *recvaridsp,
long *recsizesp);
1970 ncrecget(
int ncid,
long recnum,
void **datap);
1973 ncrecput(
int ncid,
long recnum,
void *
const *datap);
1978 EXTERNL int nc_initialize(
void);
1984 EXTERNL int nc_finalize(
void);
1986 #if defined(__cplusplus)
1996 #ifndef NC_HAVE_RENAME_GRP
1997 #define NC_HAVE_RENAME_GRP
2000 #ifndef NC_HAVE_INQ_FORMAT_EXTENDED
2001 #define NC_HAVE_INQ_FORMAT_EXTENDED
2004 #define NC_HAVE_META_H
int ncerr
V2 API error code.
EXTERNL int nc_get_att_int(int ncid, int varid, const char *name, int *ip)
Get an attribute array of type int.
EXTERNL int nc_get_att_string(int ncid, int varid, const char *name, char **ip)
Get an attribute array of type string.
EXTERNL int nc_put_att(int ncid, int varid, const char *name, nc_type xtype, size_t len, const void *op)
Write an attribute of any type.
EXTERNL int nc_get_att(int ncid, int varid, const char *name, void *ip)
Get an attribute of any type.
EXTERNL int nc_get_att_float(int ncid, int varid, const char *name, float *ip)
Get an attribute array of type float.
EXTERNL int nc_get_att_long(int ncid, int varid, const char *name, long *ip)
Get an attribute array of type long.
EXTERNL int nc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip)
Get an attribute of an atomic type.
EXTERNL int nc_inq_attid(int ncid, int varid, const char *name, int *idp)
Find an attribute ID.
EXTERNL int nc_get_att_longlong(int ncid, int varid, const char *name, long long *ip)
Get an attribute array of type long long.
EXTERNL int nc_put_att_uint(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned int *op)
Write an attribute of type unsigned int.
EXTERNL int nc_get_att_ubyte(int ncid, int varid, const char *name, unsigned char *ip)
Get an attribute array of type unsigned char.
EXTERNL int nc_put_att_string(int ncid, int varid, const char *name, size_t len, const char **op)
Write a string attribute.
EXTERNL int nc_inq_natts(int ncid, int *nattsp)
Find number of global or group attributes.
EXTERNL int nc_put_att_ubyte(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned char *op)
Write an attribute of type unsigned char.
EXTERNL int nc_put_att_text(int ncid, int varid, const char *name, size_t len, const char *op)
Write a text attribute.
EXTERNL int nc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype, size_t len, const signed char *op)
Write an attribute of type signed char.
EXTERNL int nc_put_att_ushort(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned short *op)
Write an attribute of type unsigned short.
EXTERNL int nc_put_att_long(int ncid, int varid, const char *name, nc_type xtype, size_t len, const long *op)
Write an attribute of type long.
EXTERNL int nc_put_att_float(int ncid, int varid, const char *name, nc_type xtype, size_t len, const float *op)
Write an attribute of type float.
EXTERNL int nc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned char *op)
Write an attribute of type unsigned char.
EXTERNL int nc_get_att_ulonglong(int ncid, int varid, const char *name, unsigned long long *ip)
Get an attribute array of type unsigned long long.
EXTERNL int nc_get_att_text(int ncid, int varid, const char *name, char *ip)
Get a text attribute.
EXTERNL int nc_get_att_short(int ncid, int varid, const char *name, short *ip)
Get an attribute array of type short.
EXTERNL int nc_inq_att(int ncid, int varid, const char *name, nc_type *xtypep, size_t *lenp)
Return information about a netCDF attribute.
EXTERNL int nc_get_att_schar(int ncid, int varid, const char *name, signed char *ip)
Get an attribute of an signed char type.
EXTERNL int nc_put_att_longlong(int ncid, int varid, const char *name, nc_type xtype, size_t len, const long long *op)
Write an attribute of type long long.
EXTERNL int nc_get_att_double(int ncid, int varid, const char *name, double *ip)
Get an attribute array of type double.
EXTERNL int nc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep)
Find the type of an attribute.
EXTERNL int nc_put_att_ulonglong(int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned long long *op)
Write an attribute of type unsigned long long.
EXTERNL int nc_put_att_int(int ncid, int varid, const char *name, nc_type xtype, size_t len, const int *op)
Write an attribute of type int.
EXTERNL int nc_del_att(int ncid, int varid, const char *name)
Delete an attribute.
EXTERNL int nc_rename_att(int ncid, int varid, const char *name, const char *newname)
Rename an attribute.
EXTERNL int nc_get_att_ushort(int ncid, int varid, const char *name, unsigned short *ip)
Get an attribute array of type unsigned short.
EXTERNL int nc_put_att_short(int ncid, int varid, const char *name, nc_type xtype, size_t len, const short *op)
Write an attribute of type short.
EXTERNL int nc_inq_attname(int ncid, int varid, int attnum, char *name)
Find the name of an attribute.
EXTERNL int nc_inq_attlen(int ncid, int varid, const char *name, size_t *lenp)
Find the length of an attribute.
EXTERNL int nc_get_att_uint(int ncid, int varid, const char *name, unsigned int *ip)
Get an attribute array of type unsigned int.
EXTERNL int nc_put_att_double(int ncid, int varid, const char *name, nc_type xtype, size_t len, const double *op)
Write an attribute of type double.
EXTERNL int nc_inq_user_format(int mode_flag, NC_Dispatch **dispatch_table, char *magic_number)
Inquire about user-defined format.
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 caching.
EXTERNL int nc_close(int ncid)
Close an open netCDF dataset.
EXTERNL int nc_abort(int ncid)
No longer necessary for user to invoke manually.
EXTERNL int nc_create(const char *path, int cmode, int *ncidp)
Create a new netCDF file.
EXTERNL int nc_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp)
Inquire about a file or group.
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.
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.
EXTERNL int nc_set_fill(int ncid, int fillmode, int *old_modep)
Change the fill-value mode to improve write performance.
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.
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.
EXTERNL int nc_def_user_format(int mode_flag, NC_Dispatch *dispatch_table, char *magic_number)
Add handling of user-defined format.
EXTERNL int nc_inq_type(int ncid, nc_type xtype, char *name, size_t *size)
Inquire about a type.
EXTERNL int nc_enddef(int ncid)
Leave define mode.
EXTERNL int nc_redef(int ncid)
Put open netcdf dataset into define mode.
EXTERNL int nc_open(const char *path, int mode, int *ncidp)
Open an existing netCDF file.
EXTERNL int nc_inq_format(int ncid, int *formatp)
Inquire about the binary format of a netCDF file as presented by the API.
EXTERNL int nc_sync(int ncid)
Synchronize an open netcdf dataset to disk.
EXTERNL int nc_inq_ndims(int ncid, int *ndimsp)
Find the number of dimensions.
EXTERNL int nc_inq_dimlen(int ncid, int dimid, size_t *lenp)
Find the length of a dimension.
EXTERNL int nc_inq_dimname(int ncid, int dimid, char *name)
Find out the name of a dimension.
EXTERNL int nc_def_dim(int ncid, const char *name, size_t len, int *idp)
Define a new dimension.
EXTERNL int nc_rename_dim(int ncid, int dimid, const char *name)
Rename a dimension.
EXTERNL int nc_inq_dim(int ncid, int dimid, char *name, size_t *lenp)
Find the name and length of a dimension.
EXTERNL int nc_inq_unlimdim(int ncid, int *unlimdimidp)
Find the ID of the unlimited dimension.
EXTERNL int nc_inq_dimid(int ncid, const char *name, int *idp)
Find the ID of a dimension from the name.
EXTERNL const char * nc_strerror(int ncerr)
Given an error number, return an error message.
EXTERNL int nc_inq_typeids(int ncid, int *ntypes, int *typeids)
Retrieve a list of types associated with a group.
EXTERNL int nc_inq_dimids(int ncid, int *ndims, int *dimids, int include_parents)
Retrieve a list of dimension ids associated with a group.
EXTERNL int nc_inq_grps(int ncid, int *numgrps, int *ncids)
Get a list of groups or subgroups from a file or groupID.
EXTERNL int nc_show_metadata(int ncid)
Print the metadata for a file.
EXTERNL int nc_inq_grp_full_ncid(int ncid, const char *full_name, int *grp_ncid)
Get the full ncid given a group name.
EXTERNL int nc_inq_grpname(int ncid, char *name)
Get the name of a group given an ID.
EXTERNL int nc_inq_ncid(int ncid, const char *name, int *grp_ncid)
Return the group ID for a group given the name.
EXTERNL int nc_inq_varids(int ncid, int *nvars, int *varids)
Get a list of varids associated with a group given a group ID.
EXTERNL int nc_inq_grp_parent(int ncid, int *parent_ncid)
Get the ID of the parent based on a group ID.
EXTERNL int nc_inq_grpname_len(int ncid, size_t *lenp)
Get the length of a group name given an ID.
EXTERNL int nc_inq_grpname_full(int ncid, size_t *lenp, char *full_name)
Get the full path/groupname of a group/subgroup given an ID.
EXTERNL int nc_def_grp(int parent_ncid, const char *name, int *new_ncid)
Define a new group.
EXTERNL int nc_rename_grp(int grpid, const char *name)
Rename a group.
EXTERNL int nc_inq_grp_ncid(int ncid, const char *grp_name, int *grp_ncid)
Get a group ncid given the group name.
EXTERNL int nc_def_enum(int ncid, nc_type base_typeid, const char *name, nc_type *typeidp)
Create an enum type.
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.
EXTERNL int nc_inq_type_equal(int ncid1, nc_type typeid1, int ncid2, nc_type typeid2, int *equal)
Learn if two types are equal.
EXTERNL int nc_inq_compound(int ncid, nc_type xtype, char *name, size_t *sizep, size_t *nfieldsp)
Learn about a compound type.
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.
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.
EXTERNL int nc_def_opaque(int ncid, size_t size, const char *name, nc_type *xtypep)
Create an opaque type.
EXTERNL int nc_inq_compound_name(int ncid, nc_type xtype, char *name)
Learn the name of a compound type.
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.
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.
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.
EXTERNL int nc_free_vlen(nc_vlen_t *vl)
Free memory in a VLEN object.
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.
EXTERNL int nc_inq_opaque(int ncid, nc_type xtype, char *name, size_t *sizep)
Learn about an opaque type.
EXTERNL int nc_def_compound(int ncid, size_t size, const char *name, nc_type *typeidp)
Create a compound type.
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.
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.
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.
EXTERNL int nc_inq_compound_nfields(int ncid, nc_type xtype, size_t *nfieldsp)
Learn the number of fields in a compound type.
EXTERNL int nc_insert_enum(int ncid, nc_type xtype, const char *name, const void *value)
Insert a named member into a enum type.
EXTERNL int nc_inq_typeid(int ncid, const char *name, nc_type *typeidp)
Find a type by name.
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.
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.
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.
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.
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.
EXTERNL int nc_inq_compound_size(int ncid, nc_type xtype, size_t *sizep)
Learn the size of a compound type.
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.
EXTERNL int ncvardef(int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp)
Define a variable.
EXTERNL int ncclose(int ncid)
Close a file.
EXTERNL int ncvarputg(int ncid, int varid, const long *startp, const long *countp, const long *stridep, const long *imapp, const void *op)
Write mapped data.
EXTERNL int ncattget(int ncid, int varid, const char *name, void *ip)
Read an attribute.
EXTERNL int ncattinq(int ncid, int varid, const char *name, nc_type *xtypep, int *lenp)
Learn about an attribute.
EXTERNL int ncattrename(int ncid, int varid, const char *name, const char *newname)
Rename an attribute.
EXTERNL int ncattname(int ncid, int varid, int attnum, char *name)
Learn attribute name from its number.
EXTERNL int ncvarput1(int ncid, int varid, const long *indexp, const void *op)
Write 1 data value.
EXTERNL int ncvarid(int ncid, const char *name)
Learn a variable ID from the name.
EXTERNL int nccreate(const char *path, int cmode)
Create a netCDF file.
EXTERNL int ncendef(int ncid)
End define mode for file.
EXTERNL int ncopen(const char *path, int mode)
Open a netCDF file.
EXTERNL int ncrecput(int ncid, long recnum, void *const *datap)
Write one record's worth of data, except don't write to variables for which the address of the data t...
EXTERNL int ncattcopy(int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out)
Copy an attribute.
EXTERNL int ncdimrename(int ncid, int dimid, const char *name)
Rename a dimension.
EXTERNL int ncattdel(int ncid, int varid, const char *name)
Delete an attribute.
EXTERNL int ncvarputs(int ncid, int varid, const long *startp, const long *countp, const long *stridep, const void *op)
Write strided data.
EXTERNL int ncvarput(int ncid, int varid, const long *startp, const long *countp, const void *op)
Write some data.
EXTERNL int ncdiminq(int ncid, int dimid, char *name, long *lenp)
Learn about a dimension.
EXTERNL int ncvarget1(int ncid, int varid, const long *indexp, void *ip)
Read 1 data value.
EXTERNL int ncvargetg(int ncid, int varid, const long *startp, const long *countp, const long *stridep, const long *imapp, void *ip)
Read mapped data.
EXTERNL int ncinquire(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp)
Learn about a file.
EXTERNL int ncvarinq(int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
Learn about a variable.
EXTERNL int ncattput(int ncid, int varid, const char *name, nc_type xtype, int len, const void *op)
Write an attribute.
EXTERNL void nc_advise(const char *cdf_routine_name, int err, const char *fmt,...)
Show an error message and exit (based on ncopts).
EXTERNL int ncabort(int ncid)
Abort defining a file.
EXTERNL int ncsync(int ncid)
Sync a file.
EXTERNL int ncrecinq(int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp)
Learn record variables and the lengths of the record dimension.
EXTERNL int ncrecget(int ncid, long recnum, void **datap)
Read one record's worth of data, except don't read from variables for which the address of the data t...
EXTERNL int ncsetfill(int ncid, int fillmode)
Set the fill mode.
EXTERNL int ncdimdef(int ncid, const char *name, long len)
Define a dimension.
EXTERNL int ncvarget(int ncid, int varid, const long *startp, const long *countp, void *ip)
Read some data.
EXTERNL int ncvargets(int ncid, int varid, const long *startp, const long *countp, const long *stridep, void *ip)
Read strided data.
EXTERNL int ncredef(int ncid)
Put file in define mode.
EXTERNL int ncvarrename(int ncid, int varid, const char *name)
Rename a variable.
EXTERNL int ncdimid(int ncid, const char *name)
Find dimension ID from name.
int nc_put_var_ushort(int ncid, int varid, const unsigned short *op)
Write an entire variable with one call.
EXTERNL int nc_inq_var_endian(int ncid, int varid, int *endianp)
Find the endianness of a variable.
EXTERNL int nc_inq_varndims(int ncid, int varid, int *ndimsp)
Learn how many dimensions are associated with a variable.
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.
int nc_put_var_longlong(int ncid, int varid, const long long *op)
Write an entire variable with one call.
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.
int nc_put_var1_uint(int ncid, int varid, const size_t *indexp, const unsigned int *op)
Write one datum.
EXTERNL int nc_def_var_endian(int ncid, int varid, int endian)
Define endianness of a variable.
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.
EXTERNL int nc_inq_varname(int ncid, int varid, char *name)
Learn the name of a variable.
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.
EXTERNL int nc_free_string(size_t len, char **data)
Free string space allocated by the library.
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.
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.
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.
int nc_get_var1_longlong(int ncid, int varid, const size_t *indexp, long long *ip)
Read a single datum from a variable.
int nc_put_var1_float(int ncid, int varid, const size_t *indexp, const float *op)
Write one datum.
EXTERNL int nc_def_var_szip(int ncid, int varid, int options_mask, int pixels_per_block)
Set szip compression settings on a variable.
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.
int nc_put_var1_schar(int ncid, int varid, const size_t *indexp, const signed char *op)
Write one datum.
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.
int nc_get_var_schar(int ncid, int varid, signed char *ip)
Read an entire variable in one call.
EXTERNL int nc_inq_var_deflate(int ncid, int varid, int *shufflep, int *deflatep, int *deflate_levelp)
Learn the shuffle and deflate settings for a variable.
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.
EXTERNL int nc_set_var_chunk_cache(int ncid, int varid, size_t size, size_t nelems, float preemption)
Change the cache settings for a chunked variable.
EXTERNL int nc_inq_vartype(int ncid, int varid, nc_type *xtypep)
Learn the type of a variable.
int nc_put_var1_double(int ncid, int varid, const size_t *indexp, const double *op)
Write one datum.
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.
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.
EXTERNL int nc_inq_var_fletcher32(int ncid, int varid, int *fletcher32p)
Learn the checksum settings for a variable.
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.
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.
int nc_get_var1_short(int ncid, int varid, const size_t *indexp, short *ip)
Read a single datum from a variable.
int nc_get_var1_ushort(int ncid, int varid, const size_t *indexp, unsigned short *ip)
Read a single datum from a variable.
int nc_get_var_ubyte(int ncid, int varid, unsigned char *ip)
Read an entire variable in one call.
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.
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.
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.
EXTERNL int nc_inq_varid(int ncid, const char *name, int *varidp)
Find the ID of a variable, from the name.
int nc_get_var1_uint(int ncid, int varid, const size_t *indexp, unsigned int *ip)
Read a single datum from a variable.
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.
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.
int nc_put_var_short(int ncid, int varid, const short *op)
Write an entire variable with one call.
int nc_get_var_long(int ncid, int varid, long *ip)
Read an entire variable in one call.
int nc_put_var1_ushort(int ncid, int varid, const size_t *indexp, const unsigned short *op)
Write one datum.
int nc_put_var_long(int ncid, int varid, const long *op)
Write an entire variable with one call.
int nc_get_var1_string(int ncid, int varid, const size_t *indexp, char **ip)
Read a single datum from a variable.
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.
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.
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.
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.
int nc_get_var1_ubyte(int ncid, int varid, const size_t *indexp, unsigned char *ip)
Read a single datum from a variable.
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.
int nc_get_var_uchar(int ncid, int varid, unsigned char *ip)
Read an entire variable in one call.
int nc_get_var_ushort(int ncid, int varid, unsigned short *ip)
Read an entire variable in one call.
EXTERNL int nc_inq_varnatts(int ncid, int varid, int *nattsp)
Learn how many attributes are associated with a variable.
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.
int nc_put_var_float(int ncid, int varid, const float *op)
Write an entire variable with one call.
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.
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.
EXTERNL int nc_put_var(int ncid, int varid, const void *op)
Write an entire variable with one call.
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.
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.
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.
EXTERNL int nc_def_var_deflate(int ncid, int varid, int shuffle, int deflate, int deflate_level)
Set the zlib compression and shuffle settings for a variable in an netCDF/HDF5 file.
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.
int nc_get_var1_ulonglong(int ncid, int varid, const size_t *indexp, unsigned long long *ip)
Read a single datum from a variable.
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.
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.
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.
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.
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.
EXTERNL int nc_def_var_fletcher32(int ncid, int varid, int fletcher32)
Set checksum for a var.
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.
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.
EXTERNL int nc_get_var(int ncid, int varid, void *ip)
Read an entire variable in one call.
int nc_put_var_double(int ncid, int varid, const double *op)
Write an entire variable with one call.
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.
int nc_put_var_text(int ncid, int varid, const char *op)
Write an entire variable with one call.
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.
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.
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.
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.
int nc_put_var1_ubyte(int ncid, int varid, const size_t *indexp, const unsigned char *op)
Write one datum.
int nc_get_var1_double(int ncid, int varid, const size_t *indexp, double *ip)
Read a single datum from a variable.
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.
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.
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.
int nc_put_var_string(int ncid, int varid, const char **op)
Write an entire variable with one call.
int nc_put_var1_short(int ncid, int varid, const size_t *indexp, const short *op)
Write one datum.
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.
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.
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.
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.
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.
int nc_get_var_double(int ncid, int varid, double *ip)
Read an entire variable in one call.
int nc_put_var1_text(int ncid, int varid, const size_t *indexp, const char *op)
Write one datum.
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.
int nc_put_var_schar(int ncid, int varid, const signed char *op)
Write an entire variable with one call.
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.
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.
int nc_get_var1_text(int ncid, int varid, const size_t *indexp, char *ip)
Read a single datum from a variable.
int nc_put_var_ulonglong(int ncid, int varid, const unsigned long long *op)
Write an entire variable with one call.
int nc_get_var_text(int ncid, int varid, char *ip)
Read an entire variable in one call.
EXTERNL int nc_inq_var(int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
Learn about a variable.
EXTERNL int nc_inq_var_szip(int ncid, int varid, int *options_maskp, int *pixels_per_blockp)
Learn the szip settings of a variable.
int nc_get_var1_int(int ncid, int varid, const size_t *indexp, int *ip)
Read a single datum from a variable.
int nc_put_var_int(int ncid, int varid, const int *op)
Write an entire variable with one call.
int nc_put_var1_string(int ncid, int varid, const size_t *indexp, const char **op)
Write one datum.
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.
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.
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.
EXTERNL int nc_inq_vardimid(int ncid, int varid, int *dimidsp)
Learn the dimension IDs associated with a variable.
int nc_put_var1_ulonglong(int ncid, int varid, const size_t *indexp, const unsigned long long *op)
Write one datum.
int nc_get_var_ulonglong(int ncid, int varid, unsigned long long *ip)
Read an entire variable in one call.
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.
int nc_get_var1_float(int ncid, int varid, const size_t *indexp, float *ip)
Read a single datum from a variable.
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.
int nc_get_var_uint(int ncid, int varid, unsigned int *ip)
Read an entire variable in one call.
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.
int nc_put_var_uint(int ncid, int varid, const unsigned int *op)
Write an entire variable with one call.
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.
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.
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.
int nc_get_var_short(int ncid, int varid, short *ip)
Read an entire variable in one call.
int nc_put_var1_long(int ncid, int varid, const size_t *indexp, const long *op)
Write one datum.
EXTERNL int nc_get_var1(int ncid, int varid, const size_t *indexp, void *ip)
Read a single datum from a variable.
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.
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.
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.
EXTERNL int nc_def_var_fill(int ncid, int varid, int no_fill, const void *fill_value)
Set the fill value for a variable.
EXTERNL int nc_inq_var_chunking(int ncid, int varid, int *storagep, size_t *chunksizesp)
Get the storage and (for chunked variables) the chunksizes of a variable.
int nc_put_var1_longlong(int ncid, int varid, const size_t *indexp, const long long *op)
Write one datum.
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.
int nc_put_var1_uchar(int ncid, int varid, const size_t *indexp, const unsigned char *op)
Write one datum.
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.
int nc_put_var_uchar(int ncid, int varid, const unsigned char *op)
Write an entire variable with one call.
int nc_put_var_ubyte(int ncid, int varid, const unsigned char *op)
Write an entire variable with one call.
EXTERNL int nc_def_var(int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
Define a new variable.
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.
int nc_get_var_float(int ncid, int varid, float *ip)
Read an entire variable in one call.
EXTERNL int nc_rename_var(int ncid, int varid, const char *name)
Rename a variable.
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.
int nc_get_var_longlong(int ncid, int varid, long long *ip)
Read an entire variable in one call.
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.
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.
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.
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.
EXTERNL int nc_put_var1(int ncid, int varid, const size_t *indexp, const void *op)
Write one datum.
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.
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.
int nc_get_var_int(int ncid, int varid, int *ip)
Read an entire variable in one call.
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.
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.
int nc_put_var1_int(int ncid, int varid, const size_t *indexp, const int *op)
Write one datum.
int nc_get_var_string(int ncid, int varid, char **ip)
Read an entire variable in one call.
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.
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.
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.
EXTERNL int nc_def_var_chunking(int ncid, int varid, int storage, const size_t *chunksizesp)
Define storage and, if chunked storage is used, chunking parameters for a variable.
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.
EXTERNL int nc_get_var_chunk_cache(int ncid, int varid, size_t *sizep, size_t *nelemsp, float *preemptionp)
Get the per-variable chunk cache settings from the HDF5 layer.
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.
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.
int nc_get_var1_schar(int ncid, int varid, const size_t *indexp, signed char *ip)
Read a single datum from a variable.
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.
int nc_get_var1_uchar(int ncid, int varid, const size_t *indexp, unsigned char *ip)
Read a single datum from a variable.
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.
EXTERNL int nc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep)
Learn the fill mode of a variable.
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.
int nc_get_var1_long(int ncid, int varid, const size_t *indexp, long *ip)
Read a single datum from a variable.
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.
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.
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.
EXTERNL int nc_inq_nvars(int ncid, int *nvarsp)
Learn the number of variables in a file or group.
void * p
Pointer to VL data.
size_t len
Length of VL data (in base type units)
EXTERNL int nc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp)
Return number and list of unlimited dimensions.
#define EXTERNL
Needed for DLL build.
EXTERNL int ncopts
V2 API error handling.
EXTERNL const char * nc_inq_libvers(void)
Return the library version.
int nclong
C data type corresponding to a netCDF NC_LONG argument, a signed 32 bit object.
EXTERNL int nc_copy_att(int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out)
Copy an attribute from one open file to another.
EXTERNL int nc_copy_var(int ncid_in, int varid, int ncid_out)
This will copy a variable that is an array of primitive type and its attributes from one file to anot...
int nc_type
The nc_type type is just an int.
This is the type of arrays of vlens.