20#if defined(_WIN32) || defined(_WIN64)
27#if defined(__cplusplus)
49#define NC_MAX_ATOMIC_TYPE NC_STRING
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)
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)
418#define NC_ECURL (-67)
420#define NC_ENODATA (-69)
421#define NC_EDAPSVC (-70)
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)
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)
530typedef struct NC_Dispatch NC_Dispatch;
538nc__create(
const char *path,
int cmode,
size_t initialsz,
539 size_t *chunksizehintp,
int *ncidp);
542nc_create(
const char *path,
int cmode,
int *ncidp);
546 size_t *chunksizehintp,
int *ncidp);
549nc_open(
const char *path,
int mode,
int *ncidp);
558nc_inq_ncid(
int ncid,
const char *name,
int *grp_ncid);
597nc_inq_dimids(
int ncid,
int *ndims,
int *dimids,
int include_parents);
611nc_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))
731 size_t len,
const void *data);
735 size_t *len,
void *data);
747 nc_type *base_nc_typep,
size_t *nfieldsp,
int *classp);
752 size_t len,
const void *op);
756nc_get_att(
int ncid,
int varid,
const char *name,
void *ip);
776 size_t *base_sizep,
size_t *num_membersp);
801nc_put_var(
int ncid,
int varid,
const void *op);
809nc_put_var1(
int ncid,
int varid,
const size_t *indexp,
814nc_get_var1(
int ncid,
int varid,
const size_t *indexp,
void *ip);
818nc_put_vara(
int ncid,
int varid,
const size_t *startp,
819 const size_t *countp,
const void *op);
823nc_get_vara(
int ncid,
int varid,
const size_t *startp,
824 const size_t *countp,
void *ip);
828nc_put_vars(
int ncid,
int varid,
const size_t *startp,
829 const size_t *countp,
const ptrdiff_t *stridep,
834nc_get_vars(
int ncid,
int varid,
const size_t *startp,
835 const size_t *countp,
const ptrdiff_t *stridep,
840nc_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);
846nc_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);
869nc_inq_var_szip(
int ncid,
int varid,
int *options_maskp,
int *pixels_per_blockp);
892nc_def_var_fill(
int ncid,
int varid,
int no_fill,
const void *fill_value);
908nc_def_var_filter(
int ncid,
int varid,
unsigned int id,
size_t nparams,
const unsigned int* parms);
912nc_inq_var_filter(
int ncid,
int varid,
unsigned int* idp,
size_t* nparams,
unsigned int* params);
916nc_set_fill(
int ncid,
int fillmode,
int *old_modep);
921nc_set_default_format(
int format,
int *old_formatp);
925nc_set_chunk_cache(
size_t size,
size_t nelems,
float preemption);
929nc_get_chunk_cache(
size_t *sizep,
size_t *nelemsp,
float *preemptionp);
946nc__enddef(
int ncid,
size_t h_minfree,
size_t v_align,
947 size_t v_minfree,
size_t r_align);
962nc_inq(
int ncid,
int *ndimsp,
int *nvarsp,
int *nattsp,
int *unlimdimidp);
991nc_def_dim(
int ncid,
const char *name,
size_t len,
int *idp);
997nc_inq_dim(
int ncid,
int dimid,
char *name,
size_t *lenp);
1012nc_inq_att(
int ncid,
int varid,
const char *name,
1013 nc_type *xtypep,
size_t *lenp);
1016nc_inq_attid(
int ncid,
int varid,
const char *name,
int *idp);
1022nc_inq_attlen(
int ncid,
int varid,
const char *name,
size_t *lenp);
1028nc_copy_att(
int ncid_in,
int varid_in,
const char *name,
int ncid_out,
int varid_out);
1031nc_rename_att(
int ncid,
int varid,
const char *name,
const char *newname);
1034nc_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);
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);
1113nc_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);
1168#define ncvarcpy(ncid_in, varid, ncid_out) ncvarcopy((ncid_in), (varid), (ncid_out))
1175nc_put_var1_text(
int ncid,
int varid,
const size_t *indexp,
const char *op);
1178nc_get_var1_text(
int ncid,
int varid,
const size_t *indexp,
char *ip);
1181nc_put_var1_uchar(
int ncid,
int varid,
const size_t *indexp,
1182 const unsigned char *op);
1185nc_get_var1_uchar(
int ncid,
int varid,
const size_t *indexp,
1189nc_put_var1_schar(
int ncid,
int varid,
const size_t *indexp,
1190 const signed char *op);
1193nc_get_var1_schar(
int ncid,
int varid,
const size_t *indexp,
1197nc_put_var1_short(
int ncid,
int varid,
const size_t *indexp,
1201nc_get_var1_short(
int ncid,
int varid,
const size_t *indexp,
1205nc_put_var1_int(
int ncid,
int varid,
const size_t *indexp,
const int *op);
1208nc_get_var1_int(
int ncid,
int varid,
const size_t *indexp,
int *ip);
1211nc_put_var1_long(
int ncid,
int varid,
const size_t *indexp,
const long *op);
1214nc_get_var1_long(
int ncid,
int varid,
const size_t *indexp,
long *ip);
1217nc_put_var1_float(
int ncid,
int varid,
const size_t *indexp,
const float *op);
1220nc_get_var1_float(
int ncid,
int varid,
const size_t *indexp,
float *ip);
1223nc_put_var1_double(
int ncid,
int varid,
const size_t *indexp,
const double *op);
1226nc_get_var1_double(
int ncid,
int varid,
const size_t *indexp,
double *ip);
1229nc_put_var1_ushort(
int ncid,
int varid,
const size_t *indexp,
1230 const unsigned short *op);
1233nc_get_var1_ushort(
int ncid,
int varid,
const size_t *indexp,
1234 unsigned short *ip);
1237nc_put_var1_uint(
int ncid,
int varid,
const size_t *indexp,
1238 const unsigned int *op);
1241nc_get_var1_uint(
int ncid,
int varid,
const size_t *indexp,
1245nc_put_var1_longlong(
int ncid,
int varid,
const size_t *indexp,
1246 const long long *op);
1249nc_get_var1_longlong(
int ncid,
int varid,
const size_t *indexp,
1253nc_put_var1_ulonglong(
int ncid,
int varid,
const size_t *indexp,
1254 const unsigned long long *op);
1257nc_get_var1_ulonglong(
int ncid,
int varid,
const size_t *indexp,
1258 unsigned long long *ip);
1261nc_put_var1_string(
int ncid,
int varid,
const size_t *indexp,
1265nc_get_var1_string(
int ncid,
int varid,
const size_t *indexp,
1272nc_put_vara_text(
int ncid,
int varid,
const size_t *startp,
1273 const size_t *countp,
const char *op);
1276nc_get_vara_text(
int ncid,
int varid,
const size_t *startp,
1277 const size_t *countp,
char *ip);
1280nc_put_vara_uchar(
int ncid,
int varid,
const size_t *startp,
1281 const size_t *countp,
const unsigned char *op);
1284nc_get_vara_uchar(
int ncid,
int varid,
const size_t *startp,
1285 const size_t *countp,
unsigned char *ip);
1288nc_put_vara_schar(
int ncid,
int varid,
const size_t *startp,
1289 const size_t *countp,
const signed char *op);
1292nc_get_vara_schar(
int ncid,
int varid,
const size_t *startp,
1293 const size_t *countp,
signed char *ip);
1296nc_put_vara_short(
int ncid,
int varid,
const size_t *startp,
1297 const size_t *countp,
const short *op);
1300nc_get_vara_short(
int ncid,
int varid,
const size_t *startp,
1301 const size_t *countp,
short *ip);
1304nc_put_vara_int(
int ncid,
int varid,
const size_t *startp,
1305 const size_t *countp,
const int *op);
1308nc_get_vara_int(
int ncid,
int varid,
const size_t *startp,
1309 const size_t *countp,
int *ip);
1312nc_put_vara_long(
int ncid,
int varid,
const size_t *startp,
1313 const size_t *countp,
const long *op);
1316nc_get_vara_long(
int ncid,
int varid,
1317 const size_t *startp,
const size_t *countp,
long *ip);
1320nc_put_vara_float(
int ncid,
int varid,
1321 const size_t *startp,
const size_t *countp,
const float *op);
1324nc_get_vara_float(
int ncid,
int varid,
1325 const size_t *startp,
const size_t *countp,
float *ip);
1328nc_put_vara_double(
int ncid,
int varid,
const size_t *startp,
1329 const size_t *countp,
const double *op);
1332nc_get_vara_double(
int ncid,
int varid,
const size_t *startp,
1333 const size_t *countp,
double *ip);
1336nc_put_vara_ushort(
int ncid,
int varid,
const size_t *startp,
1337 const size_t *countp,
const unsigned short *op);
1340nc_get_vara_ushort(
int ncid,
int varid,
const size_t *startp,
1341 const size_t *countp,
unsigned short *ip);
1344nc_put_vara_uint(
int ncid,
int varid,
const size_t *startp,
1345 const size_t *countp,
const unsigned int *op);
1348nc_get_vara_uint(
int ncid,
int varid,
const size_t *startp,
1349 const size_t *countp,
unsigned int *ip);
1352nc_put_vara_longlong(
int ncid,
int varid,
const size_t *startp,
1353 const size_t *countp,
const long long *op);
1356nc_get_vara_longlong(
int ncid,
int varid,
const size_t *startp,
1357 const size_t *countp,
long long *ip);
1360nc_put_vara_ulonglong(
int ncid,
int varid,
const size_t *startp,
1361 const size_t *countp,
const unsigned long long *op);
1364nc_get_vara_ulonglong(
int ncid,
int varid,
const size_t *startp,
1365 const size_t *countp,
unsigned long long *ip);
1368nc_put_vara_string(
int ncid,
int varid,
const size_t *startp,
1369 const size_t *countp,
const char **op);
1372nc_get_vara_string(
int ncid,
int varid,
const size_t *startp,
1373 const size_t *countp,
char **ip);
1379nc_put_vars_text(
int ncid,
int varid,
1380 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1384nc_get_vars_text(
int ncid,
int varid,
1385 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1389nc_put_vars_uchar(
int ncid,
int varid,
1390 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1391 const unsigned char *op);
1394nc_get_vars_uchar(
int ncid,
int varid,
1395 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1399nc_put_vars_schar(
int ncid,
int varid,
1400 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1401 const signed char *op);
1404nc_get_vars_schar(
int ncid,
int varid,
1405 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1409nc_put_vars_short(
int ncid,
int varid,
1410 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1414nc_get_vars_short(
int ncid,
int varid,
const size_t *startp,
1415 const size_t *countp,
const ptrdiff_t *stridep,
1419nc_put_vars_int(
int ncid,
int varid,
1420 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1424nc_get_vars_int(
int ncid,
int varid,
1425 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1429nc_put_vars_long(
int ncid,
int varid,
1430 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1434nc_get_vars_long(
int ncid,
int varid,
1435 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1439nc_put_vars_float(
int ncid,
int varid,
1440 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1444nc_get_vars_float(
int ncid,
int varid,
1445 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1449nc_put_vars_double(
int ncid,
int varid,
1450 const size_t *startp,
const size_t *countp,
const ptrdiff_t *stridep,
1454nc_get_vars_double(
int ncid,
int varid,
const size_t *startp,
1455 const size_t *countp,
const ptrdiff_t *stridep,
1459nc_put_vars_ushort(
int ncid,
int varid,
const size_t *startp,
1460 const size_t *countp,
const ptrdiff_t *stridep,
1461 const unsigned short *op);
1464nc_get_vars_ushort(
int ncid,
int varid,
const size_t *startp,
1465 const size_t *countp,
const ptrdiff_t *stridep,
1466 unsigned short *ip);
1469nc_put_vars_uint(
int ncid,
int varid,
const size_t *startp,
1470 const size_t *countp,
const ptrdiff_t *stridep,
1471 const unsigned int *op);
1474nc_get_vars_uint(
int ncid,
int varid,
const size_t *startp,
1475 const size_t *countp,
const ptrdiff_t *stridep,
1479nc_put_vars_longlong(
int ncid,
int varid,
const size_t *startp,
1480 const size_t *countp,
const ptrdiff_t *stridep,
1481 const long long *op);
1484nc_get_vars_longlong(
int ncid,
int varid,
const size_t *startp,
1485 const size_t *countp,
const ptrdiff_t *stridep,
1489nc_put_vars_ulonglong(
int ncid,
int varid,
const size_t *startp,
1490 const size_t *countp,
const ptrdiff_t *stridep,
1491 const unsigned long long *op);
1494nc_get_vars_ulonglong(
int ncid,
int varid,
const size_t *startp,
1495 const size_t *countp,
const ptrdiff_t *stridep,
1496 unsigned long long *ip);
1499nc_put_vars_string(
int ncid,
int varid,
const size_t *startp,
1500 const size_t *countp,
const ptrdiff_t *stridep,
1504nc_get_vars_string(
int ncid,
int varid,
const size_t *startp,
1505 const size_t *countp,
const ptrdiff_t *stridep,
1512nc_put_varm_text(
int ncid,
int varid,
const size_t *startp,
1513 const size_t *countp,
const ptrdiff_t *stridep,
1514 const ptrdiff_t *imapp,
const char *op);
1517nc_get_varm_text(
int ncid,
int varid,
const size_t *startp,
1518 const size_t *countp,
const ptrdiff_t *stridep,
1519 const ptrdiff_t *imapp,
char *ip);
1522nc_put_varm_uchar(
int ncid,
int varid,
const size_t *startp,
1523 const size_t *countp,
const ptrdiff_t *stridep,
1524 const ptrdiff_t *imapp,
const unsigned char *op);
1527nc_get_varm_uchar(
int ncid,
int varid,
const size_t *startp,
1528 const size_t *countp,
const ptrdiff_t *stridep,
1529 const ptrdiff_t *imapp,
unsigned char *ip);
1532nc_put_varm_schar(
int ncid,
int varid,
const size_t *startp,
1533 const size_t *countp,
const ptrdiff_t *stridep,
1534 const ptrdiff_t *imapp,
const signed char *op);
1537nc_get_varm_schar(
int ncid,
int varid,
const size_t *startp,
1538 const size_t *countp,
const ptrdiff_t *stridep,
1539 const ptrdiff_t *imapp,
signed char *ip);
1542nc_put_varm_short(
int ncid,
int varid,
const size_t *startp,
1543 const size_t *countp,
const ptrdiff_t *stridep,
1544 const ptrdiff_t *imapp,
const short *op);
1547nc_get_varm_short(
int ncid,
int varid,
const size_t *startp,
1548 const size_t *countp,
const ptrdiff_t *stridep,
1549 const ptrdiff_t *imapp,
short *ip);
1552nc_put_varm_int(
int ncid,
int varid,
const size_t *startp,
1553 const size_t *countp,
const ptrdiff_t *stridep,
1554 const ptrdiff_t *imapp,
const int *op);
1557nc_get_varm_int(
int ncid,
int varid,
const size_t *startp,
1558 const size_t *countp,
const ptrdiff_t *stridep,
1559 const ptrdiff_t *imapp,
int *ip);
1562nc_put_varm_long(
int ncid,
int varid,
const size_t *startp,
1563 const size_t *countp,
const ptrdiff_t *stridep,
1564 const ptrdiff_t *imapp,
const long *op);
1567nc_get_varm_long(
int ncid,
int varid,
const size_t *startp,
1568 const size_t *countp,
const ptrdiff_t *stridep,
1569 const ptrdiff_t *imapp,
long *ip);
1572nc_put_varm_float(
int ncid,
int varid,
const size_t *startp,
1573 const size_t *countp,
const ptrdiff_t *stridep,
1574 const ptrdiff_t *imapp,
const float *op);
1577nc_get_varm_float(
int ncid,
int varid,
const size_t *startp,
1578 const size_t *countp,
const ptrdiff_t *stridep,
1579 const ptrdiff_t *imapp,
float *ip);
1582nc_put_varm_double(
int ncid,
int varid,
const size_t *startp,
1583 const size_t *countp,
const ptrdiff_t *stridep,
1584 const ptrdiff_t *imapp,
const double *op);
1587nc_get_varm_double(
int ncid,
int varid,
const size_t *startp,
1588 const size_t *countp,
const ptrdiff_t *stridep,
1589 const ptrdiff_t * imapp,
double *ip);
1592nc_put_varm_ushort(
int ncid,
int varid,
const size_t *startp,
1593 const size_t *countp,
const ptrdiff_t *stridep,
1594 const ptrdiff_t * imapp,
const unsigned short *op);
1597nc_get_varm_ushort(
int ncid,
int varid,
const size_t *startp,
1598 const size_t *countp,
const ptrdiff_t *stridep,
1599 const ptrdiff_t * imapp,
unsigned short *ip);
1602nc_put_varm_uint(
int ncid,
int varid,
const size_t *startp,
1603 const size_t *countp,
const ptrdiff_t *stridep,
1604 const ptrdiff_t * imapp,
const unsigned int *op);
1607nc_get_varm_uint(
int ncid,
int varid,
const size_t *startp,
1608 const size_t *countp,
const ptrdiff_t *stridep,
1609 const ptrdiff_t * imapp,
unsigned int *ip);
1612nc_put_varm_longlong(
int ncid,
int varid,
const size_t *startp,
1613 const size_t *countp,
const ptrdiff_t *stridep,
1614 const ptrdiff_t * imapp,
const long long *op);
1617nc_get_varm_longlong(
int ncid,
int varid,
const size_t *startp,
1618 const size_t *countp,
const ptrdiff_t *stridep,
1619 const ptrdiff_t * imapp,
long long *ip);
1622nc_put_varm_ulonglong(
int ncid,
int varid,
const size_t *startp,
1623 const size_t *countp,
const ptrdiff_t *stridep,
1624 const ptrdiff_t * imapp,
const unsigned long long *op);
1627nc_get_varm_ulonglong(
int ncid,
int varid,
const size_t *startp,
1628 const size_t *countp,
const ptrdiff_t *stridep,
1629 const ptrdiff_t * imapp,
unsigned long long *ip);
1632nc_put_varm_string(
int ncid,
int varid,
const size_t *startp,
1633 const size_t *countp,
const ptrdiff_t *stridep,
1634 const ptrdiff_t * imapp,
const char **op);
1637nc_get_varm_string(
int ncid,
int varid,
const size_t *startp,
1638 const size_t *countp,
const ptrdiff_t *stridep,
1639 const ptrdiff_t * imapp,
char **ip);
1645nc_put_var_text(
int ncid,
int varid,
const char *op);
1648nc_get_var_text(
int ncid,
int varid,
char *ip);
1651nc_put_var_uchar(
int ncid,
int varid,
const unsigned char *op);
1654nc_get_var_uchar(
int ncid,
int varid,
unsigned char *ip);
1657nc_put_var_schar(
int ncid,
int varid,
const signed char *op);
1660nc_get_var_schar(
int ncid,
int varid,
signed char *ip);
1663nc_put_var_short(
int ncid,
int varid,
const short *op);
1666nc_get_var_short(
int ncid,
int varid,
short *ip);
1669nc_put_var_int(
int ncid,
int varid,
const int *op);
1672nc_get_var_int(
int ncid,
int varid,
int *ip);
1675nc_put_var_long(
int ncid,
int varid,
const long *op);
1678nc_get_var_long(
int ncid,
int varid,
long *ip);
1681nc_put_var_float(
int ncid,
int varid,
const float *op);
1684nc_get_var_float(
int ncid,
int varid,
float *ip);
1687nc_put_var_double(
int ncid,
int varid,
const double *op);
1690nc_get_var_double(
int ncid,
int varid,
double *ip);
1693nc_put_var_ushort(
int ncid,
int varid,
const unsigned short *op);
1696nc_get_var_ushort(
int ncid,
int varid,
unsigned short *ip);
1699nc_put_var_uint(
int ncid,
int varid,
const unsigned int *op);
1702nc_get_var_uint(
int ncid,
int varid,
unsigned int *ip);
1705nc_put_var_longlong(
int ncid,
int varid,
const long long *op);
1708nc_get_var_longlong(
int ncid,
int varid,
long long *ip);
1711nc_put_var_ulonglong(
int ncid,
int varid,
const unsigned long long *op);
1714nc_get_var_ulonglong(
int ncid,
int varid,
unsigned long long *ip);
1717nc_put_var_string(
int ncid,
int varid,
const char **op);
1720nc_get_var_string(
int ncid,
int varid,
char **ip);
1725 size_t len,
const unsigned char *op);
1730nc_put_var1_ubyte(
int ncid,
int varid,
const size_t *indexp,
1731 const unsigned char *op);
1733nc_get_var1_ubyte(
int ncid,
int varid,
const size_t *indexp,
1736nc_put_vara_ubyte(
int ncid,
int varid,
const size_t *startp,
1737 const size_t *countp,
const unsigned char *op);
1739nc_get_vara_ubyte(
int ncid,
int varid,
const size_t *startp,
1740 const size_t *countp,
unsigned char *ip);
1742nc_put_vars_ubyte(
int ncid,
int varid,
const size_t *startp,
1743 const size_t *countp,
const ptrdiff_t *stridep,
1744 const unsigned char *op);
1746nc_get_vars_ubyte(
int ncid,
int varid,
const size_t *startp,
1747 const size_t *countp,
const ptrdiff_t *stridep,
1750nc_put_varm_ubyte(
int ncid,
int varid,
const size_t *startp,
1751 const size_t *countp,
const ptrdiff_t *stridep,
1752 const ptrdiff_t * imapp,
const unsigned char *op);
1754nc_get_varm_ubyte(
int ncid,
int varid,
const size_t *startp,
1755 const size_t *countp,
const ptrdiff_t *stridep,
1756 const ptrdiff_t * imapp,
unsigned char *ip);
1758nc_put_var_ubyte(
int ncid,
int varid,
const unsigned char *op);
1760nc_get_var_ubyte(
int ncid,
int varid,
unsigned char *ip);
1766nc_set_log_level(
int new_level);
1770#define NC_TURN_OFF_LOGGING (-1)
1780nc_delete(
const char *path);
1792nc__create_mp(
const char *path,
int cmode,
size_t initialsz,
int basepe,
1793 size_t *chunksizehintp,
int *ncidp);
1796nc__open_mp(
const char *path,
int mode,
int basepe,
1797 size_t *chunksizehintp,
int *ncidp);
1800nc_delete_mp(
const char *path,
int basepe);
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)
1851nc_advise(
const char *cdf_routine_name,
int err,
const char *fmt,...);
1861nccreate(
const char* path,
int cmode);
1864ncopen(
const char* path,
int mode);
1885ncinquire(
int ncid,
int *ndimsp,
int *nvarsp,
int *nattsp,
int *unlimdimp);
1888ncdimdef(
int ncid,
const char *name,
long len);
1891ncdimid(
int ncid,
const char *name);
1894ncdiminq(
int ncid,
int dimid,
char *name,
long *lenp);
1897ncdimrename(
int ncid,
int dimid,
const char *name);
1901 int len,
const void *op);
1904ncattinq(
int ncid,
int varid,
const char *name,
nc_type *xtypep,
int *lenp);
1907ncattget(
int ncid,
int varid,
const char *name,
void *ip);
1910ncattcopy(
int ncid_in,
int varid_in,
const char *name,
int ncid_out,
1914ncattname(
int ncid,
int varid,
int attnum,
char *name);
1917ncattrename(
int ncid,
int varid,
const char *name,
const char *newname);
1920ncattdel(
int ncid,
int varid,
const char *name);
1924 int ndims,
const int *dimidsp);
1927ncvarid(
int ncid,
const char *name);
1931 int *ndimsp,
int *dimidsp,
int *nattsp);
1934ncvarput1(
int ncid,
int varid,
const long *indexp,
const void *op);
1937ncvarget1(
int ncid,
int varid,
const long *indexp,
void *ip);
1940ncvarput(
int ncid,
int varid,
const long *startp,
const long *countp,
1944ncvarget(
int ncid,
int varid,
const long *startp,
const long *countp,
1948ncvarputs(
int ncid,
int varid,
const long *startp,
const long *countp,
1949 const long *stridep,
const void *op);
1952ncvargets(
int ncid,
int varid,
const long *startp,
const long *countp,
1953 const long *stridep,
void *ip);
1956ncvarputg(
int ncid,
int varid,
const long *startp,
const long *countp,
1957 const long *stridep,
const long *imapp,
const void *op);
1960ncvargetg(
int ncid,
int varid,
const long *startp,
const long *countp,
1961 const long *stridep,
const long *imapp,
void *ip);
1964ncvarrename(
int ncid,
int varid,
const char *name);
1967ncrecinq(
int ncid,
int *nrecvarsp,
int *recvaridsp,
long *recsizesp);
1970ncrecget(
int ncid,
long recnum,
void **datap);
1973ncrecput(
int ncid,
long recnum,
void *
const *datap);
1978EXTERNL int nc_initialize(
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
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_get_vlen_element(int ncid, int typeid1, const void *vlen_element, size_t *len, void *data)
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_put_vlen_element(int ncid, int typeid1, void *vlen_element, size_t len, const void *data)
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.
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.
EXTERNL int nc_def_var_endian(int ncid, int varid, int endian)
Define endianness of a variable.
EXTERNL int nc_inq_varname(int ncid, int varid, char *name)
Learn the name of a variable.
EXTERNL int nc_free_string(size_t len, char **data)
Free string space allocated by the library.
EXTERNL int nc_def_var_szip(int ncid, int varid, int options_mask, int pixels_per_block)
Set szip compression settings on a variable.
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.
EXTERNL int nc_inq_var_fletcher32(int ncid, int varid, int *fletcher32p)
Learn the checksum settings for a variable.
EXTERNL int nc_inq_varid(int ncid, const char *name, int *varidp)
Find the ID of a variable, from the name.
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.
EXTERNL int nc_inq_varnatts(int ncid, int varid, int *nattsp)
Learn how many attributes are associated with 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.
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.
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.
EXTERNL int nc_def_var_fletcher32(int ncid, int varid, int fletcher32)
Set checksum for a var.
EXTERNL int nc_get_var(int ncid, int varid, void *ip)
Read an entire variable in 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.
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 nctypelen(nc_type datatype)
EXTERNL int nc_inq_var_szip(int ncid, int varid, int *options_maskp, int *pixels_per_blockp)
Learn the szip settings of a variable.
EXTERNL int nc_inq_vardimid(int ncid, int varid, int *dimidsp)
Learn the dimension IDs associated with a variable.
EXTERNL int nc_get_var1(int ncid, int varid, const size_t *indexp, void *ip)
Read a single datum from 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.
EXTERNL int nc_def_var(int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
Define a new variable.
EXTERNL int nc_rename_var(int ncid, int varid, const char *name)
Rename a variable.
EXTERNL int nc_put_var1(int ncid, int varid, const size_t *indexp, const void *op)
Write one datum.
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.
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.
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.
EXTERNL int nc_inq_var_fill(int ncid, int varid, int *no_fill, void *fill_valuep)
Learn the fill mode of a variable.
EXTERNL int nc_inq_nvars(int ncid, int *nvarsp)
Learn the number of variables in a file or group.
EXTERNL const char * nc_inq_libvers(void)
Return the library version.
void * p
Pointer to VL data.
EXTERNL int nc_inq_base_pe(int ncid, int *pe)
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 int nc__open_mp(const char *path, int mode, int basepe, size_t *chunksizehintp, int *ncidp)
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__create_mp(const char *path, int cmode, size_t initialsz, int basepe, size_t *chunksizehintp, int *ncidp)
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...
EXTERNL int nc_set_base_pe(int ncid, int pe)
int nc_type
The nc_type type is just an int.
This is the type of arrays of vlens.