NetCDF  4.9.2
netcdf.h File Reference

Main header file for the C API. More...

#include <stddef.h>
#include <errno.h>
Include dependency graph for netcdf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nc_vlen_t
 This is the type of arrays of vlens. More...
 

Macros

#define _FillValue   "_FillValue"
 Name of fill value attribute. More...
 
#define DIM_WITHOUT_VARIABLE   "This is a netCDF dimension but not a netCDF variable."
 
#define EXTERNL   MSC_EXTRA extern
 Needed for DLL build. More...
 
#define MSC_EXTRA
 Needed for DLL build. More...
 
#define NC2_ERR   (-1)
 Returned for all errors in the v2 API. More...
 
#define NC4_FIRST_ERROR   (-100)
 
#define NC4_LAST_ERROR   (-142)
 
#define NC_64BIT_DATA   0x0020
 CDF-5 format: classic model but 64 bit dimensions and sizes. More...
 
#define NC_64BIT_OFFSET   0x0200
 Use large (64-bit) file offsets. More...
 
#define NC_ALIGN_CHUNK   ((size_t)(-1))
 In nc__enddef(), align to the buffer size. More...
 
#define NC_BYTE   1
 signed 1 byte integer More...
 
#define NC_CDF5   NC_64BIT_DATA
 Alias NC_CDF5 to NC_64BIT_DATA. More...
 
#define NC_CHAR   2
 ISO/ASCII character. More...
 
#define NC_CLASSIC_MODEL   0x0100
 Enforce classic model on netCDF-4. More...
 
#define NC_CLOBBER   0x0000
 Destroy existing file. More...
 
#define NC_COMPOUND   16
 compound types More...
 
#define NC_COMPOUND_OFFSET(S, M)   (offsetof(S,M))
 Calculate an offset for creating a compound type. More...
 
#define NC_DISKLESS   0x0008
 Use diskless file. More...
 
#define NC_DOUBLE   6
 double precision floating point number More...
 
#define NC_EACCESS   (-77)
 Access Failure. More...
 
#define NC_EATTEXISTS   (-110)
 Attribute already exists. More...
 
#define NC_EATTMETA   (-107)
 Problem with attribute metadata. More...
 
#define NC_EAUTH   (-78)
 Authorization Failure. More...
 
#define NC_EAXISTYPE   (-65)
 Unknown axis type. More...
 
#define NC_EBADCHUNK   (-127)
 Bad chunksize. More...
 
#define NC_EBADCLASS   (-120)
 Bad class. More...
 
#define NC_EBADDIM   (-46)
 Invalid dimension id or name. More...
 
#define NC_EBADFIELD   (-119)
 Bad field ID. More...
 
#define NC_EBADGRPID   (-116)
 Bad group ID. More...
 
#define NC_EBADID   (-33)
 Not a netcdf id. More...
 
#define NC_EBADNAME   (-59)
 Attribute or variable name contains illegal characters. More...
 
#define NC_EBADTYPE   (-45)
 Not a netcdf data type. More...
 
#define NC_EBADTYPID   (-117)
 Bad type ID. More...
 
#define NC_ECANTCREATE   (-104)
 Can't create. More...
 
#define NC_ECANTEXTEND   (-130)
 Attempt to extend dataset during ind. More...
 
#define NC_ECANTREAD   (-102)
 Can't read. More...
 
#define NC_ECANTREMOVE   (-91)
 Can't remove file. More...
 
#define NC_ECANTWRITE   (-103)
 Can't write. More...
 
#define NC_ECHAR   (-56)
 Attempt to convert between text & numbers. More...
 
#define NC_ECONSTRAINT   (NC_EDAPCONSTRAINT)
 Malformed Constraint. More...
 
#define NC_ECURL   (-67)
 Generic libcurl error. More...
 
#define NC_EDAP   (-66)
 Generic DAP error. More...
 
#define NC_EDAPCONSTRAINT   (-75)
 Malformed DAP Constraint. More...
 
#define NC_EDAPSVC   (-70)
 DAP server error. More...
 
#define NC_EDAPURL   (-74)
 Malformed DAP URL. More...
 
#define NC_EDAS   (-71)
 Malformed or inaccessible DAS. More...
 
#define NC_EDATADAP   NC_EDATADDS
 Dap4 alias. More...
 
#define NC_EDATADDS   (-73)
 Malformed or inaccessible DATADDS. More...
 
#define NC_EDDS   (-72)
 Malformed or inaccessible DDS. More...
 
#define NC_EDIMMETA   (-106)
 Problem with dimension metadata. More...
 
#define NC_EDIMSCALE   (-124)
 Problem with HDF5 dimscales. More...
 
#define NC_EDIMSIZE   (-63)
 Invalid dimension size. More...
 
#define NC_EDISKLESS   (-129)
 Error in using diskless access. More...
 
#define NC_EDMR   NC_EDDS
 Dap4 alias. More...
 
#define NC_EEDGE   (-57)
 Start+count exceeds dimension bound. More...
 
#define NC_EEMPTY   (-139)
 Attempt to read empty NCZarr map key. More...
 
#define NC_EEXIST   (-35)
 netcdf file exists && NC_NOCLOBBER More...
 
#define NC_EFILEMETA   (-105)
 Problem with file metadata. More...
 
#define NC_EFILTER   (-132)
 Filter operation failed. More...
 
#define NC_EGLOBAL   (-50)
 Action prohibited on NC_GLOBAL varid. More...
 
#define NC_EHDFERR   (-101)
 Error at HDF5 layer. More...
 
#define NC_EINDEFINE   (-39)
 Operation not allowed in define mode. More...
 
#define NC_EINMEMORY   (-135)
 In-memory file error. More...
 
#define NC_EINTERNAL   (-92)
 NetCDF Library Internal Error. More...
 
#define NC_EINVAL   (-36)
 Invalid Argument. More...
 
#define NC_EINVALCOORDS   (-40)
 Index exceeds dimension bound. More...
 
#define NC_EIO   (-68)
 Generic IO error. More...
 
#define NC_ELATEDEF   (-123)
 Attempt to define var properties, like deflate, after enddef. More...
 
#define NC_ELATEFILL   (-122)
 Attempt to define fill value when data already exists. More...
 
#define NC_EMAPTYPE   (-121)
 Mapped access for atomic types only. More...
 
#define NC_EMAXATTS   (-44)
 NC_MAX_ATTRS exceeded - not enforced after 4.5.0. More...
 
#define NC_EMAXDIMS   (-41) /* not enforced after 4.5.0 */
 NC_MAX_DIMS exceeded. More...
 
#define NC_EMAXNAME   (-53)
 NC_MAX_NAME exceeded. More...
 
#define NC_EMAXVARS   (-48) /* not enforced after 4.5.0 */
 NC_MAX_VARS exceeded. More...
 
#define NC_EMPI   (-131)
 MPI operation failed. More...
 
#define NC_ENAMEINUSE   (-42)
 String match to name in use. More...
 
#define NC_ENCZARR   (-137)
 Error at NCZarr layer. More...
 
#define NC_ENFILE   (-34)
 Too many netcdfs open. More...
 
#define NC_ENOCOMPOUND   (-109)
 Not a compound type. More...
 
#define NC_ENODATA   (-69)
 Attempt to access variable with no data. More...
 
#define NC_ENOFILTER   (-136)
 Filter not defined on variable. More...
 
#define NC_ENOGRP   (-125)
 No group found. More...
 
#define NC_ENOMEM   (-61)
 Memory allocation (malloc) failure. More...
 
#define NC_ENOOBJECT   (-141)
 Some object not found. More...
 
#define NC_ENOPAR   (-114)
 Parallel operation on file opened for non-parallel access. More...
 
#define NC_ENORECVARS   (-55)
 nc_rec op when there are no record vars More...
 
#define NC_ENOTATT   (-43)
 Attribute not found. More...
 
#define NC_ENOTBUILT   (-128)
 Attempt to use feature that was not turned on when netCDF was built. More...
 
#define NC_ENOTFOUND   (-90)
 No such file. More...
 
#define NC_ENOTINDEFINE   (-38)
 Operation not allowed in data mode. More...
 
#define NC_ENOTNC   (-51)
 Not a netcdf file. More...
 
#define NC_ENOTNC3   (-113)
 Attempting netcdf-3 operation on netcdf-4 file. More...
 
#define NC_ENOTNC4   (-111)
 Attempting netcdf-4 operation on netcdf-3 file. More...
 
#define NC_ENOTVAR   (-49)
 Variable not found. More...
 
#define NC_ENTOOL   NC_EMAXNAME
 Backward compatibility. More...
 
#define NC_ENULLPAD   (-134)
 Header Bytes not Null-Byte padded. More...
 
#define NC_ENUM   15
 enum types More...
 
#define NC_EOBJECT   (-140)
 Some object exists when it should not. More...
 
#define NC_EPARINIT   (-115)
 Error initializing for parallel access. More...
 
#define NC_EPERM   (-37)
 Write to read only. More...
 
#define NC_EPLUGIN   (-142)
 Unclassified failure in accessing a dynamically loaded plugin> More...
 
#define NC_EPNETCDF   (-93)
 Error at PnetCDF layer. More...
 
#define NC_ERANGE   (-60)
 Math result not representable. More...
 
#define NC_ERCFILE   (-133)
 RC file failure. More...
 
#define NC_ES3   (-138)
 Generic S3 error. More...
 
#define NC_ESTORAGE   (-126)
 Can't specify both contiguous and chunking. More...
 
#define NC_ESTRICTNC3   (-112)
 Attempting netcdf-4 operation on strict nc3 netcdf-4 file. More...
 
#define NC_ESTRIDE   (-58)
 Illegal stride. More...
 
#define NC_ESTS   (-52)
 In Fortran, string too short. More...
 
#define NC_ETRANSLATION   (-76)
 Untranslatable construct. More...
 
#define NC_ETRUNC   (-64)
 File likely truncated or possibly corrupted. More...
 
#define NC_ETYPDEFINED   (-118)
 Type has already been defined and may not be edited. More...
 
#define NC_EUNLIMIT   (-54)
 NC_UNLIMITED size already in use. More...
 
#define NC_EUNLIMPOS   (-47)
 NC_UNLIMITED in the wrong index. More...
 
#define NC_EURL   (NC_EDAPURL)
 Malformed URL. More...
 
#define NC_EVARMETA   (-108)
 Problem with variable metadata. More...
 
#define NC_EVARSIZE   (-62)
 One or more variable sizes violate format constraints. More...
 
#define NC_EXDR   (-32)
 V2 API error. More...
 
#define NC_FATAL   1
 For V2 API, exit on error. More...
 
#define NC_FILL   0
 Argument to nc_set_fill() to clear NC_NOFILL. More...
 
#define NC_FIRSTUSERTYPEID   32
 
#define NC_FLOAT   5
 single precision floating point number More...
 
#define NC_GLOBAL   -1
 Attribute id to put/get a global attribute. More...
 
#define NC_HAVE_INQ_FORMAT_EXTENDED
 inq_format_extended() support. More...
 
#define NC_HAVE_META_H
 
#define NC_HAVE_NEW_CHUNKING_API   1
 
#define NC_HAVE_RENAME_GRP
 rename_grp() support. More...
 
#define NC_INMEMORY   0x8000
 Read from memory. More...
 
#define NC_INT   4
 signed 4 byte integer More...
 
#define NC_INT64   10
 signed 8-byte int More...
 
#define NC_ISSYSERR(err)   ((err) > 0)
 The netcdf version 3 functions all return integer error status. More...
 
#define NC_LOCK   0x0400
 
#define NC_LONG   NC_INT
 
#define NC_MAX_ATOMIC_TYPE   NC_STRING
 
#define NC_MAX_DEFLATE_LEVEL   9
 Maximum deflate level. More...
 
#define NC_MAX_HDF4_NAME   NC_MAX_NAME
 The max size of an SD dataset name in HDF4 (from HDF4 documentation) is 64. More...
 
#define NC_MAX_MAGIC_NUMBER_LEN   8
 Max len of user-defined format magic number. More...
 
#define NC_MIN_DEFLATE_LEVEL   0
 Minimum deflate level. More...
 
#define NC_MMAP   0x0010
 
#define NC_MPIIO   0x2000
 The following 3 flags are deprecated as of 4.6.2. More...
 
#define NC_MPIPOSIX   NC_MPIIO
 
#define NC_NAT   0
 Not A Type. More...
 
#define NC_NETCDF4   0x1000
 Use netCDF-4/HDF5 format. More...
 
#define NC_NOATTCREORD   0x20000
 Disable the netcdf-4 (hdf5) attribute creation order tracking. More...
 
#define NC_NOCLOBBER   0x0004
 Don't destroy existing file. More...
 
#define NC_NODIMSCALE_ATTACH   0x40000
 Disable the netcdf-4 (hdf5) attaching of dimscales to variables (#2128) More...
 
#define NC_NOERR   0
 No Error. More...
 
#define NC_NOFILL   0x100
 Argument to nc_set_fill() to turn off filling of data. More...
 
#define NC_NOQUANTIZE   0
 No quantization in use. More...
 
#define NC_NOWRITE   0x0000
 Set read-only access for nc_open(). More...
 
#define NC_OPAQUE   14
 opaque types More...
 
#define NC_PERSIST   0x4000
 Save diskless contents to disk. More...
 
#define NC_PNETCDF   (NC_MPIIO)
 
#define NC_QUANTIZE_BITGROOM   1
 Use BitGroom quantization. More...
 
#define NC_QUANTIZE_BITROUND   3
 Use BitRound quantization. More...
 
#define NC_QUANTIZE_GRANULARBR   2
 Use Granular BitRound quantization. More...
 
#define NC_SHARE   0x0800
 Share updates, limit caching. More...
 
#define NC_SHORT   3
 signed 2 byte integer More...
 
#define NC_SIZEHINT_DEFAULT   0
 Let nc__create() or nc__open() figure out a suitable buffer size. More...
 
#define NC_STRING   12
 string More...
 
#define NC_SYSERR   (-31)
 V2 API system error. More...
 
#define NC_SZIP_EC   4
 SZIP EC option mask. More...
 
#define NC_SZIP_NN   32
 SZIP NN option mask. More...
 
#define NC_TURN_OFF_LOGGING   (-1)
 
#define NC_UBYTE   7
 unsigned 1 byte int More...
 
#define NC_UDF0   0x0040
 User-defined format 0. More...
 
#define NC_UDF1   0x0080
 User-defined format 1. More...
 
#define NC_UINT   9
 unsigned 4-byte int More...
 
#define NC_UINT64   11
 unsigned 8-byte int More...
 
#define NC_UNDEFINED_ENUM_IDENT   "_UNDEFINED"
 
#define NC_UNLIMITED   0L
 Size argument to nc_def_dim() for an unlimited dimension. More...
 
#define NC_USHORT   8
 unsigned 2-byte int More...
 
#define NC_VERBOSE   2
 For V2 API, be verbose on error. More...
 
#define NC_VLEN   13
 vlen (variable-length) types More...
 
#define NC_WRITE   0x0001
 Set read-write access for nc_open(). More...
 
#define ncvarcpy(ncid_in, varid, ncid_out)   ncvarcopy((ncid_in), (varid), (ncid_out))
 
#define NC_FILL_BYTE   ((signed char)-127)
 Default fill value. More...
 
#define NC_FILL_CHAR   ((char)0)
 Default fill value. More...
 
#define NC_FILL_DOUBLE   (9.9692099683868690e+36)
 Default fill value. More...
 
#define NC_FILL_FLOAT   (9.9692099683868690e+36f) /* near 15 * 2^119 */
 Default fill value. More...
 
#define NC_FILL_INT   (-2147483647)
 Default fill value. More...
 
#define NC_FILL_INT64   ((long long)-9223372036854775806LL)
 Default fill value. More...
 
#define NC_FILL_SHORT   ((short)-32767)
 Default fill value. More...
 
#define NC_FILL_STRING   ((char *)"")
 Default fill value. More...
 
#define NC_FILL_UBYTE   (255)
 Default fill value. More...
 
#define NC_FILL_UINT   (4294967295U)
 Default fill value. More...
 
#define NC_FILL_UINT64   ((unsigned long long)18446744073709551614ULL)
 Default fill value. More...
 
#define NC_FILL_USHORT   (65535)
 Default fill value. More...
 
#define NC_MAX_BYTE   127
 Max or min values for a type. More...
 
#define NC_MAX_CHAR   255
 Max or min values for a type. More...
 
#define NC_MAX_DOUBLE   1.7976931348623157e+308
 Max or min values for a type. More...
 
#define NC_MAX_FLOAT   3.402823466e+38f
 Max or min values for a type. More...
 
#define NC_MAX_INT   2147483647
 Max or min values for a type. More...
 
#define NC_MAX_INT64   (9223372036854775807LL)
 Max or min values for a type. More...
 
#define NC_MAX_SHORT   32767
 Max or min values for a type. More...
 
#define NC_MAX_UBYTE   NC_MAX_CHAR
 Max or min values for a type. More...
 
#define NC_MAX_UINT   4294967295U
 Max or min values for a type. More...
 
#define NC_MAX_UINT64   (18446744073709551615ULL)
 Max or min values for a type. More...
 
#define NC_MAX_USHORT   65535U
 Max or min values for a type. More...
 
#define NC_MIN_BYTE   (-NC_MAX_BYTE-1)
 Max or min values for a type. More...
 
#define NC_MIN_DOUBLE   (-NC_MAX_DOUBLE)
 Max or min values for a type. More...
 
#define NC_MIN_FLOAT   (-NC_MAX_FLOAT)
 Max or min values for a type. More...
 
#define NC_MIN_INT   (-NC_MAX_INT - 1)
 Max or min values for a type. More...
 
#define NC_MIN_INT64   (-9223372036854775807LL-1)
 Max or min values for a type. More...
 
#define NC_MIN_SHORT   (-NC_MAX_SHORT - 1)
 Max or min values for a type. More...
 
#define NC_FORMAT_64BIT   (NC_FORMAT_64BIT_OFFSET)
 
#define NC_FORMAT_64BIT_DATA   (5)
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_64BIT_OFFSET   (2)
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_ALL   (NC_64BIT_OFFSET|NC_64BIT_DATA|NC_CLASSIC_MODEL|NC_NETCDF4|NC_UDF0|NC_UDF1)
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_CDF5   NC_FORMAT_64BIT_DATA
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_CLASSIC   (1)
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_NETCDF4   (3)
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_NETCDF4_CLASSIC   (4)
 Format specifier for nc_set_default_format() and returned by nc_inq_format. More...
 
#define NC_FORMAT_DAP2   NC_FORMATX_DAP2
 
#define NC_FORMAT_DAP4   NC_FORMATX_DAP4
 
#define NC_FORMAT_NC3   NC_FORMATX_NC3
 
#define NC_FORMAT_NC4   NC_FORMATX_NC4
 
#define NC_FORMAT_NC_HDF4   NC_FORMATX_NC_HDF4
 
#define NC_FORMAT_NC_HDF5   NC_FORMATX_NC_HDF5
 
#define NC_FORMAT_PNETCDF   NC_FORMATX_PNETCDF
 
#define NC_FORMAT_UNDEFINED   NC_FORMATX_UNDEFINED
 
#define NC_FORMATX_DAP2   (5)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_DAP4   (6)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_NC3   (1)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_NC4   NC_FORMATX_NC_HDF5
 alias More...
 
#define NC_FORMATX_NC_HDF4   (3)
 netCDF-4 subset of HDF4 More...
 
#define NC_FORMATX_NC_HDF5   (2)
 netCDF-4 subset of HDF5 More...
 
#define NC_FORMATX_NCZARR   (10)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_PNETCDF   (4)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_UDF0   (8)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_UDF1   (9)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_FORMATX_UNDEFINED   (0)
 Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1. More...
 
#define NC_MAX_ATTRS   8192 /* not enforced after 4.5.0 */
 Maximum for classic library. More...
 
#define NC_MAX_DIMS   1024 /* not enforced after 4.5.0 */
 Maximum for classic library. More...
 
#define NC_MAX_NAME   256
 Maximum for classic library. More...
 
#define NC_MAX_VAR_DIMS   1024
 max per variable dimensions More...
 
#define NC_MAX_VARS   8192 /* not enforced after 4.5.0 */
 Maximum for classic library. More...
 
#define NC_ENDIAN_BIG   2
 In HDF5 files you can set the endianness of variables with nc_def_var_endian(). More...
 
#define NC_ENDIAN_LITTLE   1
 In HDF5 files you can set the endianness of variables with nc_def_var_endian(). More...
 
#define NC_ENDIAN_NATIVE   0
 In HDF5 files you can set the endianness of variables with nc_def_var_endian(). More...
 
#define NC_CHUNKED   0
 In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking(). More...
 
#define NC_COMPACT   2
 In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking(). More...
 
#define NC_CONTIGUOUS   1
 In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking(). More...
 
#define NC_UNKNOWN_STORAGE   3
 In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking(). More...
 
#define NC_VIRTUAL   4
 In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking(). More...
 
#define NC_FLETCHER32   1
 In HDF5 files you can set check-summing for each variable. More...
 
#define NC_NOCHECKSUM   0
 In HDF5 files you can set check-summing for each variable. More...
 
#define NC_NOSHUFFLE   0
 Control the HDF5 shuffle filter. More...
 
#define NC_SHUFFLE   1
 Control the HDF5 shuffle filter. More...
 
#define NC_QUANTIZE_BITGROOM_ATT_NAME   "_QuantizeBitGroomNumberOfSignificantDigits"
 When quantization is used for a variable, an attribute of the appropriate name is added. More...
 
#define NC_QUANTIZE_BITROUND_ATT_NAME   "_QuantizeBitRoundNumberOfSignificantBits"
 When quantization is used for a variable, an attribute of the appropriate name is added. More...
 
#define NC_QUANTIZE_GRANULARBR_ATT_NAME   "_QuantizeGranularBitRoundNumberOfSignificantDigits"
 When quantization is used for a variable, an attribute of the appropriate name is added. More...
 
#define NC_QUANTIZE_MAX_FLOAT_NSB   (23)
 For quantization, the allowed value of number of significant decimal and binary digits, respectively, for float. More...
 
#define NC_QUANTIZE_MAX_FLOAT_NSD   (7)
 For quantization, the allowed value of number of significant decimal and binary digits, respectively, for float. More...
 
#define NC_QUANTIZE_MAX_DOUBLE_NSB   (52)
 For quantization, the allowed value of number of significant decimal and binary digits, respectively, for double. More...
 
#define NC_QUANTIZE_MAX_DOUBLE_NSD   (15)
 For quantization, the allowed value of number of significant decimal and binary digits, respectively, for double. More...
 
#define FILL_BYTE   NC_FILL_BYTE
 Backward compatible alias. More...
 
#define FILL_CHAR   NC_FILL_CHAR
 Backward compatible alias. More...
 
#define FILL_DOUBLE   NC_FILL_DOUBLE
 Backward compatible alias. More...
 
#define FILL_FLOAT   NC_FILL_FLOAT
 Backward compatible alias. More...
 
#define FILL_LONG   NC_FILL_INT
 Backward compatible alias. More...
 
#define FILL_SHORT   NC_FILL_SHORT
 Backward compatible alias. More...
 
#define MAX_NC_ATTRS   NC_MAX_ATTRS
 Backward compatible alias. More...
 
#define MAX_NC_DIMS   NC_MAX_DIMS
 Backward compatible alias. More...
 
#define MAX_NC_NAME   NC_MAX_NAME
 Backward compatible alias. More...
 
#define MAX_NC_VARS   NC_MAX_VARS
 Backward compatible alias. More...
 
#define MAX_VAR_DIMS   NC_MAX_VAR_DIMS
 Backward compatible alias. More...
 

Typedefs

typedef struct NC_Dispatch NC_Dispatch
 
typedef int nc_type
 The nc_type type is just an int. More...
 
typedef int nclong
 C data type corresponding to a netCDF NC_LONG argument, a signed 32 bit object. More...
 

Functions

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. More...
 
EXTERNL int nc__create_mp (const char *path, int cmode, size_t initialsz, int basepe, size_t *chunksizehintp, int *ncidp)
 
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. More...
 
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. More...
 
EXTERNL int nc__open_mp (const char *path, int mode, int basepe, size_t *chunksizehintp, int *ncidp)
 
EXTERNL int nc_abort (int ncid)
 No longer necessary for user to invoke manually. More...
 
EXTERNL void nc_advise (const char *cdf_routine_name, int err, const char *fmt,...)
 Show an error message and exit (based on ncopts). More...
 
EXTERNL int nc_close (int ncid)
 Close an open netCDF dataset. More...
 
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. More...
 
EXTERNL int nc_copy_data (int ncid, nc_type xtypeid, const void *memory, size_t count, void *copy)
 Copy vector of arbitrary type instances. More...
 
EXTERNL int nc_copy_data_all (int ncid, nc_type xtypeid, const void *memory, size_t count, void **copyp)
 
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 another, assuming dimensions in the output file are already defined and have same dimension IDs and length. More...
 
EXTERNL int nc_create (const char *path, int cmode, int *ncidp)
 Create a new netCDF file. More...
 
EXTERNL int nc_def_compound (int ncid, size_t size, const char *name, nc_type *typeidp)
 Create a compound type. More...
 
EXTERNL int nc_def_dim (int ncid, const char *name, size_t len, int *idp)
 Define a new dimension. More...
 
EXTERNL int nc_def_enum (int ncid, nc_type base_typeid, const char *name, nc_type *typeidp)
 Create an enum type. More...
 
EXTERNL int nc_def_grp (int parent_ncid, const char *name, int *new_ncid)
 Define a new group. More...
 
EXTERNL int nc_def_opaque (int ncid, size_t size, const char *name, nc_type *xtypep)
 Create an opaque type. More...
 
EXTERNL int nc_def_user_format (int mode_flag, NC_Dispatch *dispatch_table, char *magic_number)
 Add handling of user-defined format. More...
 
EXTERNL int nc_def_var (int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
 Define a new variable. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_def_var_endian (int ncid, int varid, int endian)
 Define endianness of a variable. More...
 
EXTERNL int nc_def_var_fill (int ncid, int varid, int no_fill, const void *fill_value)
 Set the fill value for a variable. More...
 
EXTERNL int nc_def_var_filter (int ncid, int varid, unsigned int id, size_t nparams, const unsigned int *parms)
 Define a new variable filter Assumes HDF5 format using unsigned ints. More...
 
EXTERNL int nc_def_var_fletcher32 (int ncid, int varid, int fletcher32)
 Set checksum for a var. More...
 
EXTERNL int nc_def_var_quantize (int ncid, int varid, int quantize_mode, int nsd)
 Turn on quantization for a variable. More...
 
EXTERNL int nc_def_var_szip (int ncid, int varid, int options_mask, int pixels_per_block)
 Set szip compression settings on a variable. More...
 
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. More...
 
EXTERNL int nc_del_att (int ncid, int varid, const char *name)
 Delete an attribute. More...
 
EXTERNL int nc_delete (const char *path)
 
EXTERNL int nc_delete_mp (const char *path, int basepe)
 
EXTERNL int nc_dump_data (int ncid, nc_type xtypeid, void *memory, size_t count, char **buf)
 
EXTERNL int nc_enddef (int ncid)
 Leave define mode. More...
 
EXTERNL int nc_finalize (void)
 
EXTERNL int nc_free_string (size_t len, char **data)
 Free string space allocated by the library. More...
 
EXTERNL int nc_free_vlen (nc_vlen_t *vl)
 Free memory in a VLEN object. More...
 
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. More...
 
EXTERNL int nc_get_alignment (int *thresholdp, int *alignmentp)
 Provide get function to retrieve global data alignment information. More...
 
EXTERNL int nc_get_att (int ncid, int varid, const char *name, void *ip)
 Get an attribute of any type. More...
 
EXTERNL int nc_get_att_double (int ncid, int varid, const char *name, double *ip)
 Get an attribute array of type double. More...
 
EXTERNL int nc_get_att_float (int ncid, int varid, const char *name, float *ip)
 Get an attribute array of type float. More...
 
EXTERNL int nc_get_att_int (int ncid, int varid, const char *name, int *ip)
 Get an attribute array of type int. More...
 
EXTERNL int nc_get_att_long (int ncid, int varid, const char *name, long *ip)
 Get an attribute array of type long. More...
 
EXTERNL int nc_get_att_longlong (int ncid, int varid, const char *name, long long *ip)
 Get an attribute array of type long long. More...
 
EXTERNL int nc_get_att_schar (int ncid, int varid, const char *name, signed char *ip)
 Get an attribute of an signed char type. More...
 
EXTERNL int nc_get_att_short (int ncid, int varid, const char *name, short *ip)
 Get an attribute array of type short. More...
 
EXTERNL int nc_get_att_string (int ncid, int varid, const char *name, char **ip)
 Get an attribute array of type string. More...
 
EXTERNL int nc_get_att_text (int ncid, int varid, const char *name, char *ip)
 Get a text attribute. More...
 
EXTERNL int nc_get_att_ubyte (int ncid, int varid, const char *name, unsigned char *ip)
 Get an attribute array of type unsigned char. More...
 
EXTERNL int nc_get_att_uchar (int ncid, int varid, const char *name, unsigned char *ip)
 Get an attribute of an signed char type. More...
 
EXTERNL int nc_get_att_uint (int ncid, int varid, const char *name, unsigned int *ip)
 Get an attribute array of type unsigned int. More...
 
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. More...
 
EXTERNL int nc_get_att_ushort (int ncid, int varid, const char *name, unsigned short *ip)
 Get an attribute array of type unsigned short. More...
 
EXTERNL int nc_get_chunk_cache (size_t *sizep, size_t *nelemsp, float *preemptionp)
 Get current netCDF chunk cache settings. More...
 
EXTERNL int nc_get_var (int ncid, int varid, void *ip)
 Read an entire variable in one call. More...
 
EXTERNL int nc_get_var1 (int ncid, int varid, const size_t *indexp, void *ip)
 Read a single datum from a variable. More...
 
EXTERNL int nc_get_var1_double (int ncid, int varid, const size_t *indexp, double *ip)
 
EXTERNL int nc_get_var1_float (int ncid, int varid, const size_t *indexp, float *ip)
 
EXTERNL int nc_get_var1_int (int ncid, int varid, const size_t *indexp, int *ip)
 
EXTERNL int nc_get_var1_long (int ncid, int varid, const size_t *indexp, long *ip)
 
EXTERNL int nc_get_var1_longlong (int ncid, int varid, const size_t *indexp, long long *ip)
 
EXTERNL int nc_get_var1_schar (int ncid, int varid, const size_t *indexp, signed char *ip)
 
EXTERNL int nc_get_var1_short (int ncid, int varid, const size_t *indexp, short *ip)
 
EXTERNL int nc_get_var1_string (int ncid, int varid, const size_t *indexp, char **ip)
 
EXTERNL int nc_get_var1_text (int ncid, int varid, const size_t *indexp, char *ip)
 
EXTERNL int nc_get_var1_ubyte (int ncid, int varid, const size_t *indexp, unsigned char *ip)
 
EXTERNL int nc_get_var1_uchar (int ncid, int varid, const size_t *indexp, unsigned char *ip)
 
EXTERNL int nc_get_var1_uint (int ncid, int varid, const size_t *indexp, unsigned int *ip)
 
EXTERNL int nc_get_var1_ulonglong (int ncid, int varid, const size_t *indexp, unsigned long long *ip)
 
EXTERNL int nc_get_var1_ushort (int ncid, int varid, const size_t *indexp, unsigned short *ip)
 
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. More...
 
EXTERNL int nc_get_var_double (int ncid, int varid, double *ip)
 
EXTERNL int nc_get_var_float (int ncid, int varid, float *ip)
 
EXTERNL int nc_get_var_int (int ncid, int varid, int *ip)
 
EXTERNL int nc_get_var_long (int ncid, int varid, long *ip)
 
EXTERNL int nc_get_var_longlong (int ncid, int varid, long long *ip)
 
EXTERNL int nc_get_var_schar (int ncid, int varid, signed char *ip)
 
EXTERNL int nc_get_var_short (int ncid, int varid, short *ip)
 
EXTERNL int nc_get_var_string (int ncid, int varid, char **ip)
 
EXTERNL int nc_get_var_text (int ncid, int varid, char *ip)
 
EXTERNL int nc_get_var_ubyte (int ncid, int varid, unsigned char *ip)
 
EXTERNL int nc_get_var_uchar (int ncid, int varid, unsigned char *ip)
 
EXTERNL int nc_get_var_uint (int ncid, int varid, unsigned int *ip)
 
EXTERNL int nc_get_var_ulonglong (int ncid, int varid, unsigned long long *ip)
 
EXTERNL int nc_get_var_ushort (int ncid, int varid, unsigned short *ip)
 
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. More...
 
EXTERNL int nc_get_vara_double (int ncid, int varid, const size_t *startp, const size_t *countp, double *ip)
 
EXTERNL int nc_get_vara_float (int ncid, int varid, const size_t *startp, const size_t *countp, float *ip)
 
EXTERNL int nc_get_vara_int (int ncid, int varid, const size_t *startp, const size_t *countp, int *ip)
 
EXTERNL int nc_get_vara_long (int ncid, int varid, const size_t *startp, const size_t *countp, long *ip)
 
EXTERNL int nc_get_vara_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, long long *ip)
 
EXTERNL int nc_get_vara_schar (int ncid, int varid, const size_t *startp, const size_t *countp, signed char *ip)
 
EXTERNL int nc_get_vara_short (int ncid, int varid, const size_t *startp, const size_t *countp, short *ip)
 
EXTERNL int nc_get_vara_string (int ncid, int varid, const size_t *startp, const size_t *countp, char **ip)
 
EXTERNL int nc_get_vara_text (int ncid, int varid, const size_t *startp, const size_t *countp, char *ip)
 
EXTERNL int nc_get_vara_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned char *ip)
 
EXTERNL int nc_get_vara_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned char *ip)
 
EXTERNL int nc_get_vara_uint (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned int *ip)
 
EXTERNL int nc_get_vara_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned long long *ip)
 
EXTERNL int nc_get_vara_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned short *ip)
 
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. More...
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
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. More...
 
EXTERNL int nc_get_vars_double (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, double *ip)
 
EXTERNL int nc_get_vars_float (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, float *ip)
 
EXTERNL int nc_get_vars_int (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, int *ip)
 
EXTERNL int nc_get_vars_long (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, long *ip)
 
EXTERNL int nc_get_vars_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, long long *ip)
 
EXTERNL int nc_get_vars_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, signed char *ip)
 
EXTERNL int nc_get_vars_short (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, short *ip)
 
EXTERNL int nc_get_vars_string (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, char **ip)
 
EXTERNL int nc_get_vars_text (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, char *ip)
 
EXTERNL int nc_get_vars_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned char *ip)
 
EXTERNL int nc_get_vars_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned char *ip)
 
EXTERNL int nc_get_vars_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned int *ip)
 
EXTERNL 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)
 
EXTERNL int nc_get_vars_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned short *ip)
 
EXTERNL int nc_get_vlen_element (int ncid, int typeid1, const void *vlen_element, size_t *len, void *data)
 
EXTERNL int nc_initialize (void)
 
EXTERNL int nc_inq (int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp)
 Inquire about a file or group. More...
 
EXTERNL int nc_inq_att (int ncid, int varid, const char *name, nc_type *xtypep, size_t *lenp)
 Return information about a netCDF attribute. More...
 
EXTERNL int nc_inq_attid (int ncid, int varid, const char *name, int *idp)
 Find an attribute ID. More...
 
EXTERNL int nc_inq_attlen (int ncid, int varid, const char *name, size_t *lenp)
 Find the length of an attribute. More...
 
EXTERNL int nc_inq_attname (int ncid, int varid, int attnum, char *name)
 Find the name of an attribute. More...
 
EXTERNL int nc_inq_atttype (int ncid, int varid, const char *name, nc_type *xtypep)
 Find the type of an attribute. More...
 
EXTERNL int nc_inq_base_pe (int ncid, int *pe)
 
EXTERNL int nc_inq_compound (int ncid, nc_type xtype, char *name, size_t *sizep, size_t *nfieldsp)
 Learn about a compound type. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_inq_compound_name (int ncid, nc_type xtype, char *name)
 Learn the name of a compound type. More...
 
EXTERNL int nc_inq_compound_nfields (int ncid, nc_type xtype, size_t *nfieldsp)
 Learn the number of fields in a compound type. More...
 
EXTERNL int nc_inq_compound_size (int ncid, nc_type xtype, size_t *sizep)
 Learn the size of a compound type. More...
 
EXTERNL int nc_inq_dim (int ncid, int dimid, char *name, size_t *lenp)
 Find the name and length of a dimension. More...
 
EXTERNL int nc_inq_dimid (int ncid, const char *name, int *idp)
 Find the ID of a dimension from the name. More...
 
EXTERNL int nc_inq_dimids (int ncid, int *ndims, int *dimids, int include_parents)
 Retrieve a list of dimension ids associated with a group. More...
 
EXTERNL int nc_inq_dimlen (int ncid, int dimid, size_t *lenp)
 Find the length of a dimension. More...
 
EXTERNL int nc_inq_dimname (int ncid, int dimid, char *name)
 Find out the name of a dimension. More...
 
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. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_inq_format (int ncid, int *formatp)
 Inquire about the binary format of a netCDF file as presented by the API. More...
 
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. More...
 
EXTERNL int nc_inq_grp_full_ncid (int ncid, const char *full_name, int *grp_ncid)
 Get the full ncid given a group name. More...
 
EXTERNL int nc_inq_grp_ncid (int ncid, const char *grp_name, int *grp_ncid)
 Get a group ncid given the group name. More...
 
EXTERNL int nc_inq_grp_parent (int ncid, int *parent_ncid)
 Get the ID of the parent based on a group ID. More...
 
EXTERNL int nc_inq_grpname (int ncid, char *name)
 Get the name of a group given an ID. More...
 
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. More...
 
EXTERNL int nc_inq_grpname_len (int ncid, size_t *lenp)
 Get the length of a group name given an ID. More...
 
EXTERNL int nc_inq_grps (int ncid, int *numgrps, int *ncids)
 Get a list of groups or subgroups from a file or groupID. More...
 
EXTERNL const char * nc_inq_libvers (void)
 Return the library version. More...
 
EXTERNL int nc_inq_natts (int ncid, int *nattsp)
 Find number of global or group attributes. More...
 
EXTERNL int nc_inq_ncid (int ncid, const char *name, int *grp_ncid)
 Return the group ID for a group given the name. More...
 
EXTERNL int nc_inq_ndims (int ncid, int *ndimsp)
 Find the number of dimensions. More...
 
EXTERNL int nc_inq_nvars (int ncid, int *nvarsp)
 Learn the number of variables in a file or group. More...
 
EXTERNL int nc_inq_opaque (int ncid, nc_type xtype, char *name, size_t *sizep)
 Learn about an opaque type. More...
 
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. More...
 
EXTERNL int nc_inq_type (int ncid, nc_type xtype, char *name, size_t *size)
 Inquire about a type. More...
 
EXTERNL int nc_inq_type_equal (int ncid1, nc_type typeid1, int ncid2, nc_type typeid2, int *equal)
 Learn if two types are equal. More...
 
EXTERNL int nc_inq_typeid (int ncid, const char *name, nc_type *typeidp)
 Find a type by name. More...
 
EXTERNL int nc_inq_typeids (int ncid, int *ntypes, int *typeids)
 Retrieve a list of types associated with a group. More...
 
EXTERNL int nc_inq_unlimdim (int ncid, int *unlimdimidp)
 Find the ID of the unlimited dimension. More...
 
EXTERNL int nc_inq_unlimdims (int ncid, int *nunlimdimsp, int *unlimdimidsp)
 Return number and list of unlimited dimensions. More...
 
EXTERNL int nc_inq_user_format (int mode_flag, NC_Dispatch **dispatch_table, char *magic_number)
 Inquire about user-defined format. More...
 
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. More...
 
EXTERNL int nc_inq_var (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
 Learn about a variable. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_inq_var_endian (int ncid, int varid, int *endianp)
 Find the endianness of a variable. More...
 
EXTERNL int nc_inq_var_fill (int ncid, int varid, int *no_fill, void *fill_valuep)
 Learn the fill mode of a variable. More...
 
EXTERNL int nc_inq_var_filter (int ncid, int varid, unsigned int *idp, size_t *nparams, unsigned int *params)
 Find the first filter (if any) associated with a variable. More...
 
EXTERNL int nc_inq_var_fletcher32 (int ncid, int varid, int *fletcher32p)
 Learn the checksum settings for a variable. More...
 
EXTERNL int nc_inq_var_quantize (int ncid, int varid, int *quantize_modep, int *nsdp)
 Learn whether quantization is on for a variable, and, if so, the NSD setting. More...
 
EXTERNL int nc_inq_var_szip (int ncid, int varid, int *options_maskp, int *pixels_per_blockp)
 Learn the szip settings of a variable. More...
 
EXTERNL int nc_inq_vardimid (int ncid, int varid, int *dimidsp)
 Learn the dimension IDs associated with a variable. More...
 
EXTERNL int nc_inq_varid (int ncid, const char *name, int *varidp)
 Find the ID of a variable, from the name. More...
 
EXTERNL int nc_inq_varids (int ncid, int *nvars, int *varids)
 Get a list of varids associated with a group given a group ID. More...
 
EXTERNL int nc_inq_varname (int ncid, int varid, char *name)
 Learn the name of a variable. More...
 
EXTERNL int nc_inq_varnatts (int ncid, int varid, int *nattsp)
 Learn how many attributes are associated with a variable. More...
 
EXTERNL int nc_inq_varndims (int ncid, int varid, int *ndimsp)
 Learn how many dimensions are associated with a variable. More...
 
EXTERNL int nc_inq_vartype (int ncid, int varid, nc_type *xtypep)
 Learn the type of a variable. More...
 
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. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_insert_enum (int ncid, nc_type xtype, const char *name, const void *value)
 Insert a named member into a enum type. More...
 
EXTERNL int nc_open (const char *path, int mode, int *ncidp)
 Open an existing netCDF file. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_put_att_string (int ncid, int varid, const char *name, size_t len, const char **op)
 Write a string attribute. More...
 
EXTERNL int nc_put_att_text (int ncid, int varid, const char *name, size_t len, const char *op)
 Write a text attribute. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
EXTERNL int nc_put_var (int ncid, int varid, const void *op)
 Write an entire variable with one call. More...
 
EXTERNL int nc_put_var1 (int ncid, int varid, const size_t *indexp, const void *op)
 Write one datum. More...
 
EXTERNL int nc_put_var1_double (int ncid, int varid, const size_t *indexp, const double *op)
 
EXTERNL int nc_put_var1_float (int ncid, int varid, const size_t *indexp, const float *op)
 
EXTERNL int nc_put_var1_int (int ncid, int varid, const size_t *indexp, const int *op)
 
EXTERNL int nc_put_var1_long (int ncid, int varid, const size_t *indexp, const long *op)
 
EXTERNL int nc_put_var1_longlong (int ncid, int varid, const size_t *indexp, const long long *op)
 
EXTERNL int nc_put_var1_schar (int ncid, int varid, const size_t *indexp, const signed char *op)
 
EXTERNL int nc_put_var1_short (int ncid, int varid, const size_t *indexp, const short *op)
 
EXTERNL int nc_put_var1_string (int ncid, int varid, const size_t *indexp, const char **op)
 
EXTERNL int nc_put_var1_text (int ncid, int varid, const size_t *indexp, const char *op)
 
EXTERNL int nc_put_var1_ubyte (int ncid, int varid, const size_t *indexp, const unsigned char *op)
 
EXTERNL int nc_put_var1_uchar (int ncid, int varid, const size_t *indexp, const unsigned char *op)
 
EXTERNL int nc_put_var1_uint (int ncid, int varid, const size_t *indexp, const unsigned int *op)
 
EXTERNL int nc_put_var1_ulonglong (int ncid, int varid, const size_t *indexp, const unsigned long long *op)
 
EXTERNL int nc_put_var1_ushort (int ncid, int varid, const size_t *indexp, const unsigned short *op)
 
EXTERNL int nc_put_var_double (int ncid, int varid, const double *op)
 
EXTERNL int nc_put_var_float (int ncid, int varid, const float *op)
 
EXTERNL int nc_put_var_int (int ncid, int varid, const int *op)
 
EXTERNL int nc_put_var_long (int ncid, int varid, const long *op)
 
EXTERNL int nc_put_var_longlong (int ncid, int varid, const long long *op)
 
EXTERNL int nc_put_var_schar (int ncid, int varid, const signed char *op)
 
EXTERNL int nc_put_var_short (int ncid, int varid, const short *op)
 
EXTERNL int nc_put_var_string (int ncid, int varid, const char **op)
 
EXTERNL int nc_put_var_text (int ncid, int varid, const char *op)
 
EXTERNL int nc_put_var_ubyte (int ncid, int varid, const unsigned char *op)
 
EXTERNL int nc_put_var_uchar (int ncid, int varid, const unsigned char *op)
 
EXTERNL int nc_put_var_uint (int ncid, int varid, const unsigned int *op)
 
EXTERNL int nc_put_var_ulonglong (int ncid, int varid, const unsigned long long *op)
 
EXTERNL int nc_put_var_ushort (int ncid, int varid, const unsigned short *op)
 
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. More...
 
EXTERNL int nc_put_vara_double (int ncid, int varid, const size_t *startp, const size_t *countp, const double *op)
 
EXTERNL int nc_put_vara_float (int ncid, int varid, const size_t *startp, const size_t *countp, const float *op)
 
EXTERNL int nc_put_vara_int (int ncid, int varid, const size_t *startp, const size_t *countp, const int *op)
 
EXTERNL int nc_put_vara_long (int ncid, int varid, const size_t *startp, const size_t *countp, const long *op)
 
EXTERNL int nc_put_vara_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const long long *op)
 
EXTERNL int nc_put_vara_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const signed char *op)
 
EXTERNL int nc_put_vara_short (int ncid, int varid, const size_t *startp, const size_t *countp, const short *op)
 
EXTERNL int nc_put_vara_string (int ncid, int varid, const size_t *startp, const size_t *countp, const char **op)
 
EXTERNL int nc_put_vara_text (int ncid, int varid, const size_t *startp, const size_t *countp, const char *op)
 
EXTERNL int nc_put_vara_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned char *op)
 
EXTERNL int nc_put_vara_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned char *op)
 
EXTERNL int nc_put_vara_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned int *op)
 
EXTERNL int nc_put_vara_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned long long *op)
 
EXTERNL int nc_put_vara_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned short *op)
 
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. More...
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
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. More...
 
EXTERNL int nc_put_vars_double (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const double *op)
 
EXTERNL int nc_put_vars_float (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const float *op)
 
EXTERNL int nc_put_vars_int (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const int *op)
 
EXTERNL int nc_put_vars_long (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const long *op)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL int nc_put_vars_short (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const short *op)
 
EXTERNL int nc_put_vars_string (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const char **op)
 
EXTERNL int nc_put_vars_text (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const char *op)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL 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)
 
EXTERNL int nc_put_vlen_element (int ncid, int typeid1, void *vlen_element, size_t len, const void *data)
 
EXTERNL char * nc_rc_get (const char *key)
 
EXTERNL int nc_rc_set (const char *key, const char *value)
 
EXTERNL int nc_reclaim_data (int ncid, nc_type xtypeid, void *memory, size_t count)
 Reclaim a vector of instances of arbitrary type. More...
 
EXTERNL int nc_reclaim_data_all (int ncid, nc_type xtypeid, void *memory, size_t count)
 
EXTERNL int nc_redef (int ncid)
 Put open netcdf dataset into define mode. More...
 
EXTERNL int nc_rename_att (int ncid, int varid, const char *name, const char *newname)
 Rename an attribute. More...
 
EXTERNL int nc_rename_dim (int ncid, int dimid, const char *name)
 Rename a dimension. More...
 
EXTERNL int nc_rename_grp (int grpid, const char *name)
 Rename a group. More...
 
EXTERNL int nc_rename_var (int ncid, int varid, const char *name)
 Rename a variable. More...
 
EXTERNL int nc_set_alignment (int threshold, int alignment)
 Provide a function to store global data alignment information. More...
 
EXTERNL int nc_set_base_pe (int ncid, int pe)
 
EXTERNL int nc_set_chunk_cache (size_t size, size_t nelems, float preemption)
 Set chunk cache size. More...
 
EXTERNL int nc_set_default_format (int format, int *old_formatp)
 
EXTERNL int nc_set_fill (int ncid, int fillmode, int *old_modep)
 Change the fill-value mode to improve write performance. More...
 
EXTERNL int nc_set_log_level (int new_level)
 
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. More...
 
EXTERNL int nc_show_metadata (int ncid)
 Print the metadata for a file. More...
 
EXTERNL const char * nc_strerror (int ncerr)
 Given an error number, return an error message. More...
 
EXTERNL int nc_sync (int ncid)
 Synchronize an open netcdf dataset to disk. More...
 
EXTERNL int ncabort (int ncid)
 Abort defining a file. More...
 
EXTERNL int ncattcopy (int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out)
 Copy an attribute. More...
 
EXTERNL int ncattdel (int ncid, int varid, const char *name)
 Delete an attribute. More...
 
EXTERNL int ncattget (int ncid, int varid, const char *name, void *ip)
 Read an attribute. More...
 
EXTERNL int ncattinq (int ncid, int varid, const char *name, nc_type *xtypep, int *lenp)
 Learn about an attribute. More...
 
EXTERNL int ncattname (int ncid, int varid, int attnum, char *name)
 Learn attribute name from its number. More...
 
EXTERNL int ncattput (int ncid, int varid, const char *name, nc_type xtype, int len, const void *op)
 Write an attribute. More...
 
EXTERNL int ncattrename (int ncid, int varid, const char *name, const char *newname)
 Rename an attribute. More...
 
EXTERNL int ncclose (int ncid)
 Close a file. More...
 
EXTERNL int nccreate (const char *path, int cmode)
 Create a netCDF file. More...
 
EXTERNL int ncdimdef (int ncid, const char *name, long len)
 Define a dimension. More...
 
EXTERNL int ncdimid (int ncid, const char *name)
 Find dimension ID from name. More...
 
EXTERNL int ncdiminq (int ncid, int dimid, char *name, long *lenp)
 Learn about a dimension. More...
 
EXTERNL int ncdimrename (int ncid, int dimid, const char *name)
 Rename a dimension. More...
 
EXTERNL int ncendef (int ncid)
 End define mode for file. More...
 
EXTERNL int ncinquire (int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp)
 Learn about a file. More...
 
EXTERNL int ncopen (const char *path, int mode)
 Open a netCDF file. More...
 
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 to be read is null. More...
 
EXTERNL int ncrecinq (int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp)
 Learn record variables and the lengths of the record dimension. More...
 
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 to be written is NULL. More...
 
EXTERNL int ncredef (int ncid)
 Put file in define mode. More...
 
EXTERNL int ncsetfill (int ncid, int fillmode)
 Set the fill mode. More...
 
EXTERNL int ncsync (int ncid)
 Sync a file. More...
 
EXTERNL int nctypelen (nc_type datatype)
 
EXTERNL int ncvardef (int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp)
 Define a variable. More...
 
EXTERNL int ncvarget (int ncid, int varid, const long *startp, const long *countp, void *ip)
 Read some data. More...
 
EXTERNL int ncvarget1 (int ncid, int varid, const long *indexp, void *ip)
 Read 1 data value. More...
 
EXTERNL int ncvargetg (int ncid, int varid, const long *startp, const long *countp, const long *stridep, const long *imapp, void *ip)
 Read mapped data. More...
 
EXTERNL int ncvargets (int ncid, int varid, const long *startp, const long *countp, const long *stridep, void *ip)
 Read strided data. More...
 
EXTERNL int ncvarid (int ncid, const char *name)
 Learn a variable ID from the name. More...
 
EXTERNL int ncvarinq (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
 Learn about a variable. More...
 
EXTERNL int ncvarput (int ncid, int varid, const long *startp, const long *countp, const void *op)
 Write some data. More...
 
EXTERNL int ncvarput1 (int ncid, int varid, const long *indexp, const void *op)
 Write 1 data value. More...
 
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. More...
 
EXTERNL int ncvarputs (int ncid, int varid, const long *startp, const long *countp, const long *stridep, const void *op)
 Write strided data. More...
 
EXTERNL int ncvarrename (int ncid, int varid, const char *name)
 Rename a variable. More...
 

Variables

EXTERNL int ncerr
 
EXTERNL int ncopts
 V2 API error handling. More...
 

Detailed Description

Main header file for the C API.

Copyright 2018, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 University Corporation for Atmospheric Research/Unidata.

See COPYRIGHT file for more info.

Definition in file netcdf.h.

Macro Definition Documentation

◆ _FillValue

#define _FillValue   "_FillValue"

Name of fill value attribute.

If you wish a variable to use a different value than the above defaults, create an attribute with the same type as the variable and this reserved name. The value you give the attribute will be used as the fill value for that variable.

Definition at line 113 of file netcdf.h.

◆ EXTERNL

#define EXTERNL   MSC_EXTRA extern

Needed for DLL build.

Definition at line 556 of file netcdf.h.

◆ FILL_BYTE

#define FILL_BYTE   NC_FILL_BYTE

Backward compatible alias.

Definition at line 1931 of file netcdf.h.

◆ FILL_CHAR

#define FILL_CHAR   NC_FILL_CHAR

Backward compatible alias.

Definition at line 1932 of file netcdf.h.

◆ FILL_DOUBLE

#define FILL_DOUBLE   NC_FILL_DOUBLE

Backward compatible alias.

Definition at line 1936 of file netcdf.h.

◆ FILL_FLOAT

#define FILL_FLOAT   NC_FILL_FLOAT

Backward compatible alias.

Definition at line 1935 of file netcdf.h.

◆ FILL_LONG

#define FILL_LONG   NC_FILL_INT

Backward compatible alias.

Definition at line 1934 of file netcdf.h.

◆ FILL_SHORT

#define FILL_SHORT   NC_FILL_SHORT

Backward compatible alias.

Definition at line 1933 of file netcdf.h.

◆ MAX_NC_ATTRS

#define MAX_NC_ATTRS   NC_MAX_ATTRS

Backward compatible alias.

Definition at line 1939 of file netcdf.h.

◆ MAX_NC_DIMS

#define MAX_NC_DIMS   NC_MAX_DIMS

Backward compatible alias.

Definition at line 1938 of file netcdf.h.

◆ MAX_NC_NAME

#define MAX_NC_NAME   NC_MAX_NAME

Backward compatible alias.

Definition at line 1941 of file netcdf.h.

◆ MAX_NC_VARS

#define MAX_NC_VARS   NC_MAX_VARS

Backward compatible alias.

Definition at line 1940 of file netcdf.h.

◆ MAX_VAR_DIMS

#define MAX_VAR_DIMS   NC_MAX_VAR_DIMS

Backward compatible alias.

Definition at line 1942 of file netcdf.h.

◆ MSC_EXTRA

#define MSC_EXTRA

Needed for DLL build.

Definition at line 553 of file netcdf.h.

◆ NC2_ERR

#define NC2_ERR   (-1)

Returned for all errors in the v2 API.

Definition at line 369 of file netcdf.h.

◆ NC_64BIT_DATA

#define NC_64BIT_DATA   0x0020

CDF-5 format: classic model but 64 bit dimensions and sizes.

Definition at line 134 of file netcdf.h.

◆ NC_64BIT_OFFSET

#define NC_64BIT_OFFSET   0x0200

Use large (64-bit) file offsets.

Mode flag for nc_create().

Definition at line 141 of file netcdf.h.

◆ NC_ALIGN_CHUNK

#define NC_ALIGN_CHUNK   ((size_t)(-1))

In nc__enddef(), align to the buffer size.

Definition at line 248 of file netcdf.h.

◆ NC_BYTE

#define NC_BYTE   1

signed 1 byte integer

Definition at line 35 of file netcdf.h.

◆ NC_CDF5

#define NC_CDF5   NC_64BIT_DATA

Alias NC_CDF5 to NC_64BIT_DATA.

Definition at line 135 of file netcdf.h.

◆ NC_CHAR

#define NC_CHAR   2

ISO/ASCII character.

Definition at line 36 of file netcdf.h.

◆ NC_CHUNKED

#define NC_CHUNKED   0

In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking().

This define is used there. Unknown storage is used for further extensions of HDF5 storage models, which should be handled transparently by netcdf

Definition at line 304 of file netcdf.h.

◆ NC_CLASSIC_MODEL

#define NC_CLASSIC_MODEL   0x0100

Enforce classic model on netCDF-4.

Mode flag for nc_create().

Definition at line 140 of file netcdf.h.

◆ NC_CLOBBER

#define NC_CLOBBER   0x0000

Destroy existing file.

Mode flag for nc_create().

Examples
pres_temp_4D_wr.c, sfc_pres_temp_wr.c, simple_nc4_wr.c, and simple_xy_wr.c.

Definition at line 129 of file netcdf.h.

◆ NC_COMPACT

#define NC_COMPACT   2

In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking().

This define is used there. Unknown storage is used for further extensions of HDF5 storage models, which should be handled transparently by netcdf

Definition at line 306 of file netcdf.h.

◆ NC_COMPOUND

#define NC_COMPOUND   16

compound types

Definition at line 56 of file netcdf.h.

◆ NC_COMPOUND_OFFSET

#define NC_COMPOUND_OFFSET (   S,
 
)    (offsetof(S,M))

Calculate an offset for creating a compound type.

This calls a mysterious C macro which was found carved into one of the blocks of the Newgrange passage tomb in County Meath, Ireland. This code has been carbon dated to 3200 B.C.E.

Definition at line 755 of file netcdf.h.

◆ NC_CONTIGUOUS

#define NC_CONTIGUOUS   1

In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking().

This define is used there. Unknown storage is used for further extensions of HDF5 storage models, which should be handled transparently by netcdf

Definition at line 305 of file netcdf.h.

◆ NC_DISKLESS

#define NC_DISKLESS   0x0008

Use diskless file.

Mode flag for nc_open() or nc_create().

Definition at line 131 of file netcdf.h.

◆ NC_DOUBLE

#define NC_DOUBLE   6

double precision floating point number

Definition at line 41 of file netcdf.h.

◆ NC_EACCESS

#define NC_EACCESS   (-77)

Access Failure.

Definition at line 468 of file netcdf.h.

◆ NC_EATTEXISTS

#define NC_EATTEXISTS   (-110)

Attribute already exists.

Definition at line 490 of file netcdf.h.

◆ NC_EATTMETA

#define NC_EATTMETA   (-107)

Problem with attribute metadata.

Definition at line 487 of file netcdf.h.

◆ NC_EAUTH

#define NC_EAUTH   (-78)

Authorization Failure.

Definition at line 469 of file netcdf.h.

◆ NC_EAXISTYPE

#define NC_EAXISTYPE   (-65)

Unknown axis type.

Definition at line 452 of file netcdf.h.

◆ NC_EBADCHUNK

#define NC_EBADCHUNK   (-127)

Bad chunksize.

Definition at line 507 of file netcdf.h.

◆ NC_EBADCLASS

#define NC_EBADCLASS   (-120)

Bad class.

Definition at line 500 of file netcdf.h.

◆ NC_EBADDIM

#define NC_EBADDIM   (-46)

Invalid dimension id or name.

Definition at line 411 of file netcdf.h.

◆ NC_EBADFIELD

#define NC_EBADFIELD   (-119)

Bad field ID.

Definition at line 499 of file netcdf.h.

◆ NC_EBADGRPID

#define NC_EBADGRPID   (-116)

Bad group ID.

Definition at line 496 of file netcdf.h.

◆ NC_EBADID

#define NC_EBADID   (-33)

Not a netcdf id.

The specified netCDF ID does not refer to an open netCDF dataset.

Definition at line 375 of file netcdf.h.

◆ NC_EBADNAME

#define NC_EBADNAME   (-59)

Attribute or variable name contains illegal characters.

Definition at line 440 of file netcdf.h.

◆ NC_EBADTYPE

#define NC_EBADTYPE   (-45)

Not a netcdf data type.

Definition at line 410 of file netcdf.h.

◆ NC_EBADTYPID

#define NC_EBADTYPID   (-117)

Bad type ID.

Definition at line 497 of file netcdf.h.

◆ NC_ECANTCREATE

#define NC_ECANTCREATE   (-104)

Can't create.

Definition at line 484 of file netcdf.h.

◆ NC_ECANTEXTEND

#define NC_ECANTEXTEND   (-130)

Attempt to extend dataset during ind.

I/O operation.

Definition at line 510 of file netcdf.h.

◆ NC_ECANTREAD

#define NC_ECANTREAD   (-102)

Can't read.

Definition at line 482 of file netcdf.h.

◆ NC_ECANTREMOVE

#define NC_ECANTREMOVE   (-91)

Can't remove file.

Definition at line 473 of file netcdf.h.

◆ NC_ECANTWRITE

#define NC_ECANTWRITE   (-103)

Can't write.

Definition at line 483 of file netcdf.h.

◆ NC_ECHAR

#define NC_ECHAR   (-56)

Attempt to convert between text & numbers.

Definition at line 429 of file netcdf.h.

◆ NC_ECONSTRAINT

#define NC_ECONSTRAINT   (NC_EDAPCONSTRAINT)

Malformed Constraint.

Definition at line 529 of file netcdf.h.

◆ NC_ECURL

#define NC_ECURL   (-67)

Generic libcurl error.

Definition at line 456 of file netcdf.h.

◆ NC_EDAP

#define NC_EDAP   (-66)

Generic DAP error.

Definition at line 455 of file netcdf.h.

◆ NC_EDAPCONSTRAINT

#define NC_EDAPCONSTRAINT   (-75)

Malformed DAP Constraint.

Definition at line 466 of file netcdf.h.

◆ NC_EDAPSVC

#define NC_EDAPSVC   (-70)

DAP server error.

Definition at line 459 of file netcdf.h.

◆ NC_EDAPURL

#define NC_EDAPURL   (-74)

Malformed DAP URL.

Definition at line 465 of file netcdf.h.

◆ NC_EDAS

#define NC_EDAS   (-71)

Malformed or inaccessible DAS.

Definition at line 460 of file netcdf.h.

◆ NC_EDATADAP

#define NC_EDATADAP   NC_EDATADDS

Dap4 alias.

Definition at line 464 of file netcdf.h.

◆ NC_EDATADDS

#define NC_EDATADDS   (-73)

Malformed or inaccessible DATADDS.

Definition at line 463 of file netcdf.h.

◆ NC_EDDS

#define NC_EDDS   (-72)

Malformed or inaccessible DDS.

Definition at line 461 of file netcdf.h.

◆ NC_EDIMMETA

#define NC_EDIMMETA   (-106)

Problem with dimension metadata.

Definition at line 486 of file netcdf.h.

◆ NC_EDIMSCALE

#define NC_EDIMSCALE   (-124)

Problem with HDF5 dimscales.

Definition at line 504 of file netcdf.h.

◆ NC_EDIMSIZE

#define NC_EDIMSIZE   (-63)

Invalid dimension size.

Definition at line 450 of file netcdf.h.

◆ NC_EDISKLESS

#define NC_EDISKLESS   (-129)

Error in using diskless access.

Definition at line 509 of file netcdf.h.

◆ NC_EDMR

#define NC_EDMR   NC_EDDS

Dap4 alias.

Definition at line 462 of file netcdf.h.

◆ NC_EEDGE

#define NC_EEDGE   (-57)

Start+count exceeds dimension bound.

The specified edge lengths added to the specified corner would have referenced data out of range for the rank of the specified variable. For example, an edge length that is larger than the corresponding dimension length minus the corner index will cause an error. Start+count exceeds dimension bound.

Definition at line 438 of file netcdf.h.

◆ NC_EEMPTY

#define NC_EEMPTY   (-139)

Attempt to read empty NCZarr map key.

Definition at line 520 of file netcdf.h.

◆ NC_EEXIST

#define NC_EEXIST   (-35)

netcdf file exists && NC_NOCLOBBER

Definition at line 377 of file netcdf.h.

◆ NC_EFILEMETA

#define NC_EFILEMETA   (-105)

Problem with file metadata.

Definition at line 485 of file netcdf.h.

◆ NC_EFILTER

#define NC_EFILTER   (-132)

Filter operation failed.

Definition at line 513 of file netcdf.h.

◆ NC_EGLOBAL

#define NC_EGLOBAL   (-50)

Action prohibited on NC_GLOBAL varid.

Definition at line 423 of file netcdf.h.

◆ NC_EHDFERR

#define NC_EHDFERR   (-101)

Error at HDF5 layer.

Definition at line 481 of file netcdf.h.

◆ NC_EINDEFINE

#define NC_EINDEFINE   (-39)

Operation not allowed in define mode.

The specified netCDF is in define mode rather than data mode.

With netCDF-4/HDF5 files, this error will not occur, unless NC_CLASSIC_MODEL was used in nc_create().

Definition at line 393 of file netcdf.h.

◆ NC_EINMEMORY

#define NC_EINMEMORY   (-135)

In-memory file error.

Definition at line 516 of file netcdf.h.

◆ NC_EINTERNAL

#define NC_EINTERNAL   (-92)

NetCDF Library Internal Error.

Definition at line 474 of file netcdf.h.

◆ NC_EINVAL

#define NC_EINVAL   (-36)

Invalid Argument.

Definition at line 378 of file netcdf.h.

◆ NC_EINVALCOORDS

#define NC_EINVALCOORDS   (-40)

Index exceeds dimension bound.

The specified corner indices were out of range for the rank of the specified variable. For example, a negative index or an index that is larger than the corresponding dimension length will cause an error.

Definition at line 400 of file netcdf.h.

◆ NC_EIO

#define NC_EIO   (-68)

Generic IO error.

Definition at line 457 of file netcdf.h.

◆ NC_ELATEDEF

#define NC_ELATEDEF   (-123)

Attempt to define var properties, like deflate, after enddef.

Definition at line 503 of file netcdf.h.

◆ NC_ELATEFILL

#define NC_ELATEFILL   (-122)

Attempt to define fill value when data already exists.

Definition at line 502 of file netcdf.h.

◆ NC_EMAPTYPE

#define NC_EMAPTYPE   (-121)

Mapped access for atomic types only.

Definition at line 501 of file netcdf.h.

◆ NC_EMAXATTS

#define NC_EMAXATTS   (-44)

NC_MAX_ATTRS exceeded - not enforced after 4.5.0.

Definition at line 409 of file netcdf.h.

◆ NC_EMAXDIMS

#define NC_EMAXDIMS   (-41) /* not enforced after 4.5.0 */

NC_MAX_DIMS exceeded.

Max number of dimensions exceeded in a classic or 64-bit offset file, or an netCDF-4 file with NC_CLASSIC_MODEL on.

Definition at line 405 of file netcdf.h.

◆ NC_EMAXNAME

#define NC_EMAXNAME   (-53)

NC_MAX_NAME exceeded.

Definition at line 426 of file netcdf.h.

◆ NC_EMAXVARS

#define NC_EMAXVARS   (-48) /* not enforced after 4.5.0 */

NC_MAX_VARS exceeded.

Max number of variables exceeded in a classic or 64-bit offset file, or an netCDF-4 file with NC_CLASSIC_MODEL on.

Definition at line 417 of file netcdf.h.

◆ NC_EMPI

#define NC_EMPI   (-131)

MPI operation failed.

Definition at line 511 of file netcdf.h.

◆ NC_ENAMEINUSE

#define NC_ENAMEINUSE   (-42)

String match to name in use.

Definition at line 407 of file netcdf.h.

◆ NC_ENCZARR

#define NC_ENCZARR   (-137)

Error at NCZarr layer.

Definition at line 518 of file netcdf.h.

◆ NC_ENDIAN_BIG

#define NC_ENDIAN_BIG   2

In HDF5 files you can set the endianness of variables with nc_def_var_endian().

This define is used there.

Definition at line 296 of file netcdf.h.

◆ NC_ENDIAN_LITTLE

#define NC_ENDIAN_LITTLE   1

In HDF5 files you can set the endianness of variables with nc_def_var_endian().

This define is used there.

Definition at line 295 of file netcdf.h.

◆ NC_ENDIAN_NATIVE

#define NC_ENDIAN_NATIVE   0

In HDF5 files you can set the endianness of variables with nc_def_var_endian().

This define is used there.

Definition at line 294 of file netcdf.h.

◆ NC_ENFILE

#define NC_ENFILE   (-34)

Too many netcdfs open.

Definition at line 376 of file netcdf.h.

◆ NC_ENOCOMPOUND

#define NC_ENOCOMPOUND   (-109)

Not a compound type.

Definition at line 489 of file netcdf.h.

◆ NC_ENODATA

#define NC_ENODATA   (-69)

Attempt to access variable with no data.

Definition at line 458 of file netcdf.h.

◆ NC_ENOFILTER

#define NC_ENOFILTER   (-136)

Filter not defined on variable.

Definition at line 517 of file netcdf.h.

◆ NC_ENOGRP

#define NC_ENOGRP   (-125)

No group found.

Definition at line 505 of file netcdf.h.

◆ NC_ENOMEM

#define NC_ENOMEM   (-61)

Memory allocation (malloc) failure.

Definition at line 448 of file netcdf.h.

◆ NC_ENOOBJECT

#define NC_ENOOBJECT   (-141)

Some object not found.

Definition at line 522 of file netcdf.h.

◆ NC_ENOPAR

#define NC_ENOPAR   (-114)

Parallel operation on file opened for non-parallel access.

Definition at line 494 of file netcdf.h.

◆ NC_ENORECVARS

#define NC_ENORECVARS   (-55)

nc_rec op when there are no record vars

Definition at line 428 of file netcdf.h.

◆ NC_ENOTATT

#define NC_ENOTATT   (-43)

Attribute not found.

Definition at line 408 of file netcdf.h.

◆ NC_ENOTBUILT

#define NC_ENOTBUILT   (-128)

Attempt to use feature that was not turned on when netCDF was built.

Definition at line 508 of file netcdf.h.

◆ NC_ENOTFOUND

#define NC_ENOTFOUND   (-90)

No such file.

Definition at line 472 of file netcdf.h.

◆ NC_ENOTINDEFINE

#define NC_ENOTINDEFINE   (-38)

Operation not allowed in data mode.

This is returned for netCDF classic or 64-bit offset files, or for netCDF-4 files, when they were been created with NC_CLASSIC_MODEL flag in nc_create().

Definition at line 384 of file netcdf.h.

◆ NC_ENOTNC

#define NC_ENOTNC   (-51)

Not a netcdf file.

Definition at line 424 of file netcdf.h.

◆ NC_ENOTNC3

#define NC_ENOTNC3   (-113)

Attempting netcdf-3 operation on netcdf-4 file.

Definition at line 493 of file netcdf.h.

◆ NC_ENOTNC4

#define NC_ENOTNC4   (-111)

Attempting netcdf-4 operation on netcdf-3 file.

Definition at line 491 of file netcdf.h.

◆ NC_ENOTVAR

#define NC_ENOTVAR   (-49)

Variable not found.

The variable ID is invalid for the specified netCDF dataset.

Definition at line 422 of file netcdf.h.

◆ NC_ENTOOL

#define NC_ENTOOL   NC_EMAXNAME

Backward compatibility.

Definition at line 1951 of file netcdf.h.

◆ NC_ENULLPAD

#define NC_ENULLPAD   (-134)

Header Bytes not Null-Byte padded.

Definition at line 515 of file netcdf.h.

◆ NC_ENUM

#define NC_ENUM   15

enum types

Definition at line 55 of file netcdf.h.

◆ NC_EOBJECT

#define NC_EOBJECT   (-140)

Some object exists when it should not.

Definition at line 521 of file netcdf.h.

◆ NC_EPARINIT

#define NC_EPARINIT   (-115)

Error initializing for parallel access.

Definition at line 495 of file netcdf.h.

◆ NC_EPERM

#define NC_EPERM   (-37)

Write to read only.

Definition at line 379 of file netcdf.h.

◆ NC_EPLUGIN

#define NC_EPLUGIN   (-142)

Unclassified failure in accessing a dynamically loaded plugin>

Definition at line 523 of file netcdf.h.

◆ NC_EPNETCDF

#define NC_EPNETCDF   (-93)

Error at PnetCDF layer.

Definition at line 475 of file netcdf.h.

◆ NC_ERANGE

#define NC_ERANGE   (-60)

Math result not representable.

One or more of the values are out of the range of values representable by the desired type.

Definition at line 447 of file netcdf.h.

◆ NC_ERCFILE

#define NC_ERCFILE   (-133)

RC file failure.

Definition at line 514 of file netcdf.h.

◆ NC_ES3

#define NC_ES3   (-138)

Generic S3 error.

Definition at line 519 of file netcdf.h.

◆ NC_ESTORAGE

#define NC_ESTORAGE   (-126)

Can't specify both contiguous and chunking.

Definition at line 506 of file netcdf.h.

◆ NC_ESTRICTNC3

#define NC_ESTRICTNC3   (-112)

Attempting netcdf-4 operation on strict nc3 netcdf-4 file.

Definition at line 492 of file netcdf.h.

◆ NC_ESTRIDE

#define NC_ESTRIDE   (-58)

Illegal stride.

Definition at line 439 of file netcdf.h.

◆ NC_ESTS

#define NC_ESTS   (-52)

In Fortran, string too short.

Definition at line 425 of file netcdf.h.

◆ NC_ETRANSLATION

#define NC_ETRANSLATION   (-76)

Untranslatable construct.

Definition at line 467 of file netcdf.h.

◆ NC_ETRUNC

#define NC_ETRUNC   (-64)

File likely truncated or possibly corrupted.

Definition at line 451 of file netcdf.h.

◆ NC_ETYPDEFINED

#define NC_ETYPDEFINED   (-118)

Type has already been defined and may not be edited.

Definition at line 498 of file netcdf.h.

◆ NC_EUNLIMIT

#define NC_EUNLIMIT   (-54)

NC_UNLIMITED size already in use.

Definition at line 427 of file netcdf.h.

◆ NC_EUNLIMPOS

#define NC_EUNLIMPOS   (-47)

NC_UNLIMITED in the wrong index.

Definition at line 412 of file netcdf.h.

◆ NC_EURL

#define NC_EURL   (NC_EDAPURL)

Malformed URL.

Definition at line 528 of file netcdf.h.

◆ NC_EVARMETA

#define NC_EVARMETA   (-108)

Problem with variable metadata.

Definition at line 488 of file netcdf.h.

◆ NC_EVARSIZE

#define NC_EVARSIZE   (-62)

One or more variable sizes violate format constraints.

Definition at line 449 of file netcdf.h.

◆ NC_EXDR

#define NC_EXDR   (-32)

V2 API error.

Definition at line 1952 of file netcdf.h.

◆ NC_FATAL

#define NC_FATAL   1

For V2 API, exit on error.

Definition at line 1959 of file netcdf.h.

◆ NC_FILL

#define NC_FILL   0

Argument to nc_set_fill() to clear NC_NOFILL.

Definition at line 114 of file netcdf.h.

◆ NC_FILL_BYTE

#define NC_FILL_BYTE   ((signed char)-127)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 67 of file netcdf.h.

◆ NC_FILL_CHAR

#define NC_FILL_CHAR   ((char)0)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 68 of file netcdf.h.

◆ NC_FILL_DOUBLE

#define NC_FILL_DOUBLE   (9.9692099683868690e+36)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 72 of file netcdf.h.

◆ NC_FILL_FLOAT

#define NC_FILL_FLOAT   (9.9692099683868690e+36f) /* near 15 * 2^119 */

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 71 of file netcdf.h.

◆ NC_FILL_INT

#define NC_FILL_INT   (-2147483647)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 70 of file netcdf.h.

◆ NC_FILL_INT64

#define NC_FILL_INT64   ((long long)-9223372036854775806LL)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 76 of file netcdf.h.

◆ NC_FILL_SHORT

#define NC_FILL_SHORT   ((short)-32767)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 69 of file netcdf.h.

◆ NC_FILL_STRING

#define NC_FILL_STRING   ((char *)"")

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 78 of file netcdf.h.

◆ NC_FILL_UBYTE

#define NC_FILL_UBYTE   (255)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 73 of file netcdf.h.

◆ NC_FILL_UINT

#define NC_FILL_UINT   (4294967295U)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 75 of file netcdf.h.

◆ NC_FILL_UINT64

#define NC_FILL_UINT64   ((unsigned long long)18446744073709551614ULL)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 77 of file netcdf.h.

◆ NC_FILL_USHORT

#define NC_FILL_USHORT   (65535)

Default fill value.

This is used unless _FillValue attribute is set. These values are stuffed into newly allocated space as appropriate. The hope is that one might use these to notice that a particular datum has not been set.

Definition at line 74 of file netcdf.h.

◆ NC_FLETCHER32

#define NC_FLETCHER32   1

In HDF5 files you can set check-summing for each variable.

Currently the only checksum available is Fletcher-32, which can be set with the function nc_def_var_fletcher32. These defines are used there.

Definition at line 317 of file netcdf.h.

◆ NC_FLOAT

#define NC_FLOAT   5

single precision floating point number

Examples
pres_temp_4D_wr.c, and sfc_pres_temp_wr.c.

Definition at line 40 of file netcdf.h.

◆ NC_FORMAT_64BIT

#define NC_FORMAT_64BIT   (NC_FORMAT_64BIT_OFFSET)
Deprecated:
Saved for compatibility.

Use NC_FORMAT_64BIT_OFFSET or NC_FORMAT_64BIT_DATA, from netCDF 4.4.0 onwards.

Definition at line 185 of file netcdf.h.

◆ NC_FORMAT_64BIT_DATA

#define NC_FORMAT_64BIT_DATA   (5)

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 188 of file netcdf.h.

◆ NC_FORMAT_64BIT_OFFSET

#define NC_FORMAT_64BIT_OFFSET   (2)

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 184 of file netcdf.h.

◆ NC_FORMAT_ALL

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 194 of file netcdf.h.

◆ NC_FORMAT_CDF5

#define NC_FORMAT_CDF5   NC_FORMAT_64BIT_DATA

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 191 of file netcdf.h.

◆ NC_FORMAT_CLASSIC

#define NC_FORMAT_CLASSIC   (1)

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 178 of file netcdf.h.

◆ NC_FORMAT_DAP2

#define NC_FORMAT_DAP2   NC_FORMATX_DAP2
Deprecated:
As of 4.4.0, use NC_FORMATX_DAP2

Definition at line 238 of file netcdf.h.

◆ NC_FORMAT_DAP4

#define NC_FORMAT_DAP4   NC_FORMATX_DAP4
Deprecated:
As of 4.4.0, use NC_FORMATX_DAP4

Definition at line 239 of file netcdf.h.

◆ NC_FORMAT_NC3

#define NC_FORMAT_NC3   NC_FORMATX_NC3
Deprecated:
As of 4.4.0, use NC_FORMATX_NC3

Definition at line 233 of file netcdf.h.

◆ NC_FORMAT_NC4

#define NC_FORMAT_NC4   NC_FORMATX_NC4
Deprecated:
As of 4.4.0, use NC_FORMATX_NC4

Definition at line 235 of file netcdf.h.

◆ NC_FORMAT_NC_HDF4

#define NC_FORMAT_NC_HDF4   NC_FORMATX_NC_HDF4
Deprecated:
As of 4.4.0, use NC_FORMATX_HDF4

Definition at line 236 of file netcdf.h.

◆ NC_FORMAT_NC_HDF5

#define NC_FORMAT_NC_HDF5   NC_FORMATX_NC_HDF5
Deprecated:
As of 4.4.0, use NC_FORMATX_NC_HDF5

Definition at line 234 of file netcdf.h.

◆ NC_FORMAT_NETCDF4

#define NC_FORMAT_NETCDF4   (3)

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 186 of file netcdf.h.

◆ NC_FORMAT_NETCDF4_CLASSIC

#define NC_FORMAT_NETCDF4_CLASSIC   (4)

Format specifier for nc_set_default_format() and returned by nc_inq_format.

This returns the format as provided by the API. See nc_inq_format_extended to see the true file format. Starting with version 3.6, there are different format netCDF files. 4.0 introduces the third one.

See also
netcdf_format

Definition at line 187 of file netcdf.h.

◆ NC_FORMAT_PNETCDF

#define NC_FORMAT_PNETCDF   NC_FORMATX_PNETCDF
Deprecated:
As of 4.4.0, use NC_FORMATX_PNETCDF

Definition at line 237 of file netcdf.h.

◆ NC_FORMAT_UNDEFINED

#define NC_FORMAT_UNDEFINED   NC_FORMATX_UNDEFINED
Deprecated:
As of 4.4.0, use NC_FORMATX_UNDEFINED

Definition at line 240 of file netcdf.h.

◆ NC_FORMATX_DAP2

#define NC_FORMATX_DAP2   (5)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 221 of file netcdf.h.

◆ NC_FORMATX_DAP4

#define NC_FORMATX_DAP4   (6)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 222 of file netcdf.h.

◆ NC_FORMATX_NC3

#define NC_FORMATX_NC3   (1)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 216 of file netcdf.h.

◆ NC_FORMATX_NC4

#define NC_FORMATX_NC4   NC_FORMATX_NC_HDF5

alias

Definition at line 218 of file netcdf.h.

◆ NC_FORMATX_NC_HDF4

#define NC_FORMATX_NC_HDF4   (3)

netCDF-4 subset of HDF4

Definition at line 219 of file netcdf.h.

◆ NC_FORMATX_NC_HDF5

#define NC_FORMATX_NC_HDF5   (2)

netCDF-4 subset of HDF5

Definition at line 217 of file netcdf.h.

◆ NC_FORMATX_NCZARR

#define NC_FORMATX_NCZARR   (10)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 225 of file netcdf.h.

◆ NC_FORMATX_PNETCDF

#define NC_FORMATX_PNETCDF   (4)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 220 of file netcdf.h.

◆ NC_FORMATX_UDF0

#define NC_FORMATX_UDF0   (8)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 223 of file netcdf.h.

◆ NC_FORMATX_UDF1

#define NC_FORMATX_UDF1   (9)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 224 of file netcdf.h.

◆ NC_FORMATX_UNDEFINED

#define NC_FORMATX_UNDEFINED   (0)

Extended format specifier returned by nc_inq_format_extended() Added in version 4.3.1.

This returns the true format of the underlying data. The function returns two values

  1. a small integer indicating the underlying source type of the data. Note that this may differ from what the user sees from nc_inq_format() because this latter function returns what the user can expect to see thru the API.
  2. A mode value indicating what mode flags are effectively set for this dataset. This usually will be a superset of the mode flags used as the argument to nc_open or nc_create. More or less, the #1 values track the set of dispatch tables. The #1 values are as follows. Note that CDF-5 returns NC_FORMAT_NC3, but sets the mode flag properly.

Definition at line 226 of file netcdf.h.

◆ NC_GLOBAL

#define NC_GLOBAL   -1

Attribute id to put/get a global attribute.

Definition at line 254 of file netcdf.h.

◆ NC_HAVE_INQ_FORMAT_EXTENDED

#define NC_HAVE_INQ_FORMAT_EXTENDED

inq_format_extended() support.

Definition at line 2124 of file netcdf.h.

◆ NC_HAVE_RENAME_GRP

#define NC_HAVE_RENAME_GRP

rename_grp() support.

Definition at line 2120 of file netcdf.h.

◆ NC_INMEMORY

#define NC_INMEMORY   0x8000

Read from memory.

Mode flag for nc_open() or nc_create()

Definition at line 163 of file netcdf.h.

◆ NC_INT

#define NC_INT   4

signed 4 byte integer

Examples
simple_nc4_wr.c, simple_xy_nc4_wr.c, and simple_xy_wr.c.

Definition at line 38 of file netcdf.h.

◆ NC_INT64

#define NC_INT64   10

signed 8-byte int

Definition at line 45 of file netcdf.h.

◆ NC_ISSYSERR

#define NC_ISSYSERR (   err)    ((err) > 0)

The netcdf version 3 functions all return integer error status.

These are the possible values, in addition to certain values from the system errno.h.

Definition at line 366 of file netcdf.h.

◆ NC_LOCK

#define NC_LOCK   0x0400
Deprecated:
The following flag currently is ignored, but use in nc_open() or nc_create() may someday support use of advisory locking to prevent multiple writers from clobbering a file

Definition at line 147 of file netcdf.h.

◆ NC_LONG

#define NC_LONG   NC_INT
Deprecated:
required for backward compatibility.

Definition at line 39 of file netcdf.h.

◆ NC_MAX_ATTRS

#define NC_MAX_ATTRS   8192 /* not enforced after 4.5.0 */

Maximum for classic library.

In the classic netCDF model there are maximum values for the number of dimensions in the file (NC_MAX_DIMS), the number of global or per variable attributes (NC_MAX_ATTRS), the number of variables in the file (NC_MAX_VARS), and the length of a name (NC_MAX_NAME).

These maximums are enforced by the interface, to facilitate writing applications and utilities. However, nothing is statically allocated to these sizes internally.

These maximums are not used for netCDF-4/HDF5 files unless they were created with the NC_CLASSIC_MODEL flag.

As a rule, NC_MAX_VAR_DIMS <= NC_MAX_DIMS.

NOTE: The NC_MAX_DIMS, NC_MAX_ATTRS, and NC_MAX_VARS limits are not enforced after version 4.5.0

Definition at line 279 of file netcdf.h.

◆ NC_MAX_BYTE

#define NC_MAX_BYTE   127

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 89 of file netcdf.h.

◆ NC_MAX_CHAR

#define NC_MAX_CHAR   255

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 91 of file netcdf.h.

◆ NC_MAX_DEFLATE_LEVEL

#define NC_MAX_DEFLATE_LEVEL   9

Maximum deflate level.

Definition at line 330 of file netcdf.h.

◆ NC_MAX_DIMS

#define NC_MAX_DIMS   1024 /* not enforced after 4.5.0 */

Maximum for classic library.

In the classic netCDF model there are maximum values for the number of dimensions in the file (NC_MAX_DIMS), the number of global or per variable attributes (NC_MAX_ATTRS), the number of variables in the file (NC_MAX_VARS), and the length of a name (NC_MAX_NAME).

These maximums are enforced by the interface, to facilitate writing applications and utilities. However, nothing is statically allocated to these sizes internally.

These maximums are not used for netCDF-4/HDF5 files unless they were created with the NC_CLASSIC_MODEL flag.

As a rule, NC_MAX_VAR_DIMS <= NC_MAX_DIMS.

NOTE: The NC_MAX_DIMS, NC_MAX_ATTRS, and NC_MAX_VARS limits are not enforced after version 4.5.0

Definition at line 278 of file netcdf.h.

◆ NC_MAX_DOUBLE

#define NC_MAX_DOUBLE   1.7976931348623157e+308

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 98 of file netcdf.h.

◆ NC_MAX_FLOAT

#define NC_MAX_FLOAT   3.402823466e+38f

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 96 of file netcdf.h.

◆ NC_MAX_HDF4_NAME

#define NC_MAX_HDF4_NAME   NC_MAX_NAME

The max size of an SD dataset name in HDF4 (from HDF4 documentation) is 64.

But in in the wild we have encountered longer names. As long as the HDF4 name is not greater than NC_MAX_NAME, our code will be OK.

Definition at line 289 of file netcdf.h.

◆ NC_MAX_INT

#define NC_MAX_INT   2147483647

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 94 of file netcdf.h.

◆ NC_MAX_INT64

#define NC_MAX_INT64   (9223372036854775807LL)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 103 of file netcdf.h.

◆ NC_MAX_MAGIC_NUMBER_LEN

#define NC_MAX_MAGIC_NUMBER_LEN   8

Max len of user-defined format magic number.

Definition at line 169 of file netcdf.h.

◆ NC_MAX_NAME

#define NC_MAX_NAME   256

Maximum for classic library.

In the classic netCDF model there are maximum values for the number of dimensions in the file (NC_MAX_DIMS), the number of global or per variable attributes (NC_MAX_ATTRS), the number of variables in the file (NC_MAX_VARS), and the length of a name (NC_MAX_NAME).

These maximums are enforced by the interface, to facilitate writing applications and utilities. However, nothing is statically allocated to these sizes internally.

These maximums are not used for netCDF-4/HDF5 files unless they were created with the NC_CLASSIC_MODEL flag.

As a rule, NC_MAX_VAR_DIMS <= NC_MAX_DIMS.

NOTE: The NC_MAX_DIMS, NC_MAX_ATTRS, and NC_MAX_VARS limits are not enforced after version 4.5.0

Definition at line 281 of file netcdf.h.

◆ NC_MAX_SHORT

#define NC_MAX_SHORT   32767

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 92 of file netcdf.h.

◆ NC_MAX_UBYTE

#define NC_MAX_UBYTE   NC_MAX_CHAR

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 100 of file netcdf.h.

◆ NC_MAX_UINT

#define NC_MAX_UINT   4294967295U

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 102 of file netcdf.h.

◆ NC_MAX_UINT64

#define NC_MAX_UINT64   (18446744073709551615ULL)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 105 of file netcdf.h.

◆ NC_MAX_USHORT

#define NC_MAX_USHORT   65535U

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 101 of file netcdf.h.

◆ NC_MAX_VAR_DIMS

#define NC_MAX_VAR_DIMS   1024

max per variable dimensions

Definition at line 282 of file netcdf.h.

◆ NC_MAX_VARS

#define NC_MAX_VARS   8192 /* not enforced after 4.5.0 */

Maximum for classic library.

In the classic netCDF model there are maximum values for the number of dimensions in the file (NC_MAX_DIMS), the number of global or per variable attributes (NC_MAX_ATTRS), the number of variables in the file (NC_MAX_VARS), and the length of a name (NC_MAX_NAME).

These maximums are enforced by the interface, to facilitate writing applications and utilities. However, nothing is statically allocated to these sizes internally.

These maximums are not used for netCDF-4/HDF5 files unless they were created with the NC_CLASSIC_MODEL flag.

As a rule, NC_MAX_VAR_DIMS <= NC_MAX_DIMS.

NOTE: The NC_MAX_DIMS, NC_MAX_ATTRS, and NC_MAX_VARS limits are not enforced after version 4.5.0

Definition at line 280 of file netcdf.h.

◆ NC_MIN_BYTE

#define NC_MIN_BYTE   (-NC_MAX_BYTE-1)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 90 of file netcdf.h.

◆ NC_MIN_DEFLATE_LEVEL

#define NC_MIN_DEFLATE_LEVEL   0

Minimum deflate level.

Definition at line 329 of file netcdf.h.

◆ NC_MIN_DOUBLE

#define NC_MIN_DOUBLE   (-NC_MAX_DOUBLE)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 99 of file netcdf.h.

◆ NC_MIN_FLOAT

#define NC_MIN_FLOAT   (-NC_MAX_FLOAT)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 97 of file netcdf.h.

◆ NC_MIN_INT

#define NC_MIN_INT   (-NC_MAX_INT - 1)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 95 of file netcdf.h.

◆ NC_MIN_INT64

#define NC_MIN_INT64   (-9223372036854775807LL-1)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 104 of file netcdf.h.

◆ NC_MIN_SHORT

#define NC_MIN_SHORT   (-NC_MAX_SHORT - 1)

Max or min values for a type.

Nothing greater/smaller can be stored in a netCDF file for their associated types. Recall that a C compiler may define int to be any length it wants, but a NC_INT is always a 4 byte signed int. On a platform with 64 bit ints, there will be many ints which are outside the range supported by NC_INT. But since NC_INT is an external format, it has to mean the same thing everywhere.

Definition at line 93 of file netcdf.h.

◆ NC_MMAP

#define NC_MMAP   0x0010
Deprecated:
Use diskless file with mmap.

Mode flag for nc_open() or nc_create()

Definition at line 132 of file netcdf.h.

◆ NC_MPIIO

#define NC_MPIIO   0x2000

The following 3 flags are deprecated as of 4.6.2.

Parallel I/O is now initiated by calling nc_create_par and nc_open_par, no longer by flags.

Deprecated:

Definition at line 158 of file netcdf.h.

◆ NC_MPIPOSIX

#define NC_MPIPOSIX   NC_MPIIO
Deprecated:

Definition at line 159 of file netcdf.h.

◆ NC_NAT

#define NC_NAT   0

Not A Type.

Definition at line 34 of file netcdf.h.

◆ NC_NETCDF4

#define NC_NETCDF4   0x1000

Use netCDF-4/HDF5 format.

Mode flag for nc_create().

Examples
simple_nc4_wr.c, and simple_xy_nc4_wr.c.

Definition at line 153 of file netcdf.h.

◆ NC_NOATTCREORD

#define NC_NOATTCREORD   0x20000

Disable the netcdf-4 (hdf5) attribute creation order tracking.

Definition at line 166 of file netcdf.h.

◆ NC_NOCHECKSUM

#define NC_NOCHECKSUM   0

In HDF5 files you can set check-summing for each variable.

Currently the only checksum available is Fletcher-32, which can be set with the function nc_def_var_fletcher32. These defines are used there.

Definition at line 316 of file netcdf.h.

◆ NC_NOCLOBBER

#define NC_NOCLOBBER   0x0004

Don't destroy existing file.

Mode flag for nc_create().

Definition at line 130 of file netcdf.h.

◆ NC_NODIMSCALE_ATTACH

#define NC_NODIMSCALE_ATTACH   0x40000

Disable the netcdf-4 (hdf5) attaching of dimscales to variables (#2128)

Definition at line 167 of file netcdf.h.

◆ NC_NOERR

#define NC_NOERR   0

No Error.

Definition at line 368 of file netcdf.h.

◆ NC_NOFILL

#define NC_NOFILL   0x100

Argument to nc_set_fill() to turn off filling of data.

Definition at line 115 of file netcdf.h.

◆ NC_NOQUANTIZE

#define NC_NOQUANTIZE   0

No quantization in use.

Definition at line 335 of file netcdf.h.

◆ NC_NOSHUFFLE

#define NC_NOSHUFFLE   0

Control the HDF5 shuffle filter.

In HDF5 files you can specify that a shuffle filter should be used on each chunk of a variable to improve compression for that variable. This per-variable shuffle property can be set with the function nc_def_var_deflate().

Definition at line 325 of file netcdf.h.

◆ NC_NOWRITE

#define NC_NOWRITE   0x0000

Set read-only access for nc_open().

Examples
pres_temp_4D_rd.c, sfc_pres_temp_rd.c, simple_nc4_rd.c, simple_xy_nc4_rd.c, and simple_xy_rd.c.

Definition at line 126 of file netcdf.h.

◆ NC_OPAQUE

#define NC_OPAQUE   14

opaque types

Definition at line 54 of file netcdf.h.

◆ NC_PERSIST

#define NC_PERSIST   0x4000

Save diskless contents to disk.

Mode flag for nc_open() or nc_create()

Definition at line 162 of file netcdf.h.

◆ NC_PNETCDF

#define NC_PNETCDF   (NC_MPIIO)
Deprecated:

Definition at line 160 of file netcdf.h.

◆ NC_QUANTIZE_BITGROOM

#define NC_QUANTIZE_BITGROOM   1

Use BitGroom quantization.

Definition at line 336 of file netcdf.h.

◆ NC_QUANTIZE_BITGROOM_ATT_NAME

#define NC_QUANTIZE_BITGROOM_ATT_NAME   "_QuantizeBitGroomNumberOfSignificantDigits"

When quantization is used for a variable, an attribute of the appropriate name is added.

Definition at line 343 of file netcdf.h.

◆ NC_QUANTIZE_BITROUND

#define NC_QUANTIZE_BITROUND   3

Use BitRound quantization.

Definition at line 338 of file netcdf.h.

◆ NC_QUANTIZE_BITROUND_ATT_NAME

#define NC_QUANTIZE_BITROUND_ATT_NAME   "_QuantizeBitRoundNumberOfSignificantBits"

When quantization is used for a variable, an attribute of the appropriate name is added.

Definition at line 345 of file netcdf.h.

◆ NC_QUANTIZE_GRANULARBR

#define NC_QUANTIZE_GRANULARBR   2

Use Granular BitRound quantization.

Definition at line 337 of file netcdf.h.

◆ NC_QUANTIZE_GRANULARBR_ATT_NAME

#define NC_QUANTIZE_GRANULARBR_ATT_NAME   "_QuantizeGranularBitRoundNumberOfSignificantDigits"

When quantization is used for a variable, an attribute of the appropriate name is added.

Definition at line 344 of file netcdf.h.

◆ NC_QUANTIZE_MAX_DOUBLE_NSB

#define NC_QUANTIZE_MAX_DOUBLE_NSB   (52)

For quantization, the allowed value of number of significant decimal and binary digits, respectively, for double.

Definition at line 359 of file netcdf.h.

◆ NC_QUANTIZE_MAX_DOUBLE_NSD

#define NC_QUANTIZE_MAX_DOUBLE_NSD   (15)

For quantization, the allowed value of number of significant decimal and binary digits, respectively, for double.

Definition at line 358 of file netcdf.h.

◆ NC_QUANTIZE_MAX_FLOAT_NSB

#define NC_QUANTIZE_MAX_FLOAT_NSB   (23)

For quantization, the allowed value of number of significant decimal and binary digits, respectively, for float.

Definition at line 352 of file netcdf.h.

◆ NC_QUANTIZE_MAX_FLOAT_NSD

#define NC_QUANTIZE_MAX_FLOAT_NSD   (7)

For quantization, the allowed value of number of significant decimal and binary digits, respectively, for float.

Definition at line 351 of file netcdf.h.

◆ NC_SHARE

#define NC_SHARE   0x0800

Share updates, limit caching.

Use this in mode flags for both nc_create() and nc_open().

Definition at line 151 of file netcdf.h.

◆ NC_SHORT

#define NC_SHORT   3

signed 2 byte integer

Definition at line 37 of file netcdf.h.

◆ NC_SHUFFLE

#define NC_SHUFFLE   1

Control the HDF5 shuffle filter.

In HDF5 files you can specify that a shuffle filter should be used on each chunk of a variable to improve compression for that variable. This per-variable shuffle property can be set with the function nc_def_var_deflate().

Examples
simple_xy_nc4_wr.c.

Definition at line 326 of file netcdf.h.

◆ NC_SIZEHINT_DEFAULT

#define NC_SIZEHINT_DEFAULT   0

Let nc__create() or nc__open() figure out a suitable buffer size.

Definition at line 245 of file netcdf.h.

◆ NC_STRING

#define NC_STRING   12

string

Definition at line 47 of file netcdf.h.

◆ NC_SYSERR

#define NC_SYSERR   (-31)

V2 API system error.

Definition at line 1953 of file netcdf.h.

◆ NC_SZIP_EC

#define NC_SZIP_EC   4

SZIP EC option mask.

Definition at line 333 of file netcdf.h.

◆ NC_SZIP_NN

#define NC_SZIP_NN   32

SZIP NN option mask.

Definition at line 332 of file netcdf.h.

◆ NC_UBYTE

#define NC_UBYTE   7

unsigned 1 byte int

Definition at line 42 of file netcdf.h.

◆ NC_UDF0

#define NC_UDF0   0x0040

User-defined format 0.

Definition at line 137 of file netcdf.h.

◆ NC_UDF1

#define NC_UDF1   0x0080

User-defined format 1.

Definition at line 138 of file netcdf.h.

◆ NC_UINT

#define NC_UINT   9

unsigned 4-byte int

Definition at line 44 of file netcdf.h.

◆ NC_UINT64

#define NC_UINT64   11

unsigned 8-byte int

Examples
simple_nc4_wr.c.

Definition at line 46 of file netcdf.h.

◆ NC_UNKNOWN_STORAGE

#define NC_UNKNOWN_STORAGE   3

In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking().

This define is used there. Unknown storage is used for further extensions of HDF5 storage models, which should be handled transparently by netcdf

Definition at line 307 of file netcdf.h.

◆ NC_UNLIMITED

#define NC_UNLIMITED   0L

Size argument to nc_def_dim() for an unlimited dimension.

Examples
pres_temp_4D_wr.c.

Definition at line 251 of file netcdf.h.

◆ NC_USHORT

#define NC_USHORT   8

unsigned 2-byte int

Definition at line 43 of file netcdf.h.

◆ NC_VERBOSE

#define NC_VERBOSE   2

For V2 API, be verbose on error.

Definition at line 1960 of file netcdf.h.

◆ NC_VIRTUAL

#define NC_VIRTUAL   4

In HDF5 files you can set storage for each variable to be either contiguous or chunked, with nc_def_var_chunking().

This define is used there. Unknown storage is used for further extensions of HDF5 storage models, which should be handled transparently by netcdf

Definition at line 308 of file netcdf.h.

◆ NC_VLEN

#define NC_VLEN   13

vlen (variable-length) types

Definition at line 53 of file netcdf.h.

◆ NC_WRITE

#define NC_WRITE   0x0001

Set read-write access for nc_open().

Definition at line 127 of file netcdf.h.

Typedef Documentation

◆ nc_type

typedef int nc_type

The nc_type type is just an int.

Definition at line 25 of file netcdf.h.

◆ nclong

typedef int nclong

C data type corresponding to a netCDF NC_LONG argument, a signed 32 bit object.

This is the only thing in this file which architecture dependent.

Definition at line 1973 of file netcdf.h.

Function Documentation

◆ nc_copy_att()

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.

Special programming challenge: this function must work even if one of the other of the files is a netcdf version 1.0 file (i.e. not HDF5). So only use top level netcdf api functions.

From the netcdf-3 docs: The output netCDF dataset should be in define mode if the attribute to be copied does not already exist for the target variable, or if it would cause an existing target attribute to grow.

Parameters
ncid_inFile ID to copy from.
varid_inVariable ID to copy from.
nameName of attribute to copy.
ncid_outFile ID to copy to.
varid_outVariable ID to copy to.
Returns
NC_NOERR No error.
Author
Glenn Davis, Ed Hartnett, Dennis Heimbigner

Definition at line 659 of file dcopy.c.

◆ nc_copy_data()

EXTERNL int nc_copy_data ( int  ncid,
nc_type  xtypeid,
const void *  memory,
size_t  count,
void *  copy 
)

Copy vector of arbitrary type instances.

This recursively walks the top-level instances to copy any nested data such as vlen or strings or such.

Assumes it is passed a pointer to count instances of xtype. WARNING: nc_copy_data does not copy the top-level memory, but assumes a block of proper size was passed in. However nc_copy_data_all does allocate top-level memory copy.

Should work for any netcdf format.

◆ nc_copy_var()

EXTERNL int nc_copy_var ( int  ncid_in,
int  varid_in,
int  ncid_out 
)

This will copy a variable that is an array of primitive type and its attributes from one file to another, assuming dimensions in the output file are already defined and have same dimension IDs and length.

However it doesn't work for copying netCDF-4 variables of type string or a user-defined type.

This function works even if the files are different formats, (for example, one netcdf classic, the other netcdf-4).

If you're copying into a classic-model file, from a netcdf-4 file, you must be copying a variable of one of the six classic-model types, and similarly for the attributes.

For large netCDF-3 files, this can be a very inefficient way to copy data from one file to another, because adding a new variable to the target file may require more space in the header and thus result in moving data for other variables in the target file. This is not a problem for netCDF-4 files, which support efficient addition of variables without moving data for other variables.

Parameters
ncid_inFile ID to copy from.
varid_inVariable ID to copy.
ncid_outFile ID to copy to.
Returns
NC_NOERR No error.
Author
Glenn Davis, Ed Hartnett, Dennis Heimbigner

Definition at line 273 of file dcopy.c.

◆ nc_def_var_filter()

EXTERNL int nc_def_var_filter ( int  ncid,
int  varid,
unsigned int  id,
size_t  nparams,
const unsigned int *  params 
)

Define a new variable filter Assumes HDF5 format using unsigned ints.

Only variables with chunked storage can use filters.

Parameters
ncidFile and group ID.
varidVariable ID.
idFilter ID.
nparamsNumber of filter parameters.
paramsFilter parameters.
Returns
NC_NOERR No error.
NC_EINVAL Variable must be chunked.
NC_EBADID Bad ID.
Author
Dennis Heimbigner

Definition at line 124 of file dfilter.c.

◆ nc_inq_libvers()

EXTERNL const char* nc_inq_libvers ( void  )

Return the library version.

Returns
short string that contains the version information for the library.

Definition at line 27 of file derror.c.

◆ nc_inq_nvars()

EXTERNL int nc_inq_nvars ( int  ncid,
int *  nvarsp 
)

Learn the number of variables in a file or group.

Parameters
ncidFile and group ID.
nvarspPointer that gets number of variables. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
Author
Glenn Davis, Ed Hartnett, Dennis Heimbigner

Definition at line 1656 of file dfile.c.

◆ nc_inq_unlimdims()

EXTERNL int nc_inq_unlimdims ( int  ncid,
int *  nunlimdimsp,
int *  unlimdimidsp 
)

Return number and list of unlimited dimensions.

In netCDF-4 files, it's possible to have multiple unlimited dimensions. This function returns a list of the unlimited dimension ids visible in a group.

Dimensions are visible in a group if they have been defined in that group, or any ancestor group.

Parameters
ncidNetCDF file and group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), etc.
nunlimdimspA pointer to an int which will get the number of visible unlimited dimensions. Ignored if NULL.
unlimdimidspA pointer to an already allocated array of int which will get the ids of all visible unlimited dimensions. Ignored if NULL. To allocate the correct length for this array, call nc_inq_unlimdims with a NULL for this parameter and use the nunlimdimsp parameter to get the number of visible unlimited dimensions.

Example

Here is an example from nc_test4/tst_dims.c. In this example we create a file with two unlimited dimensions, and then call nc_inq_unlimdims() to check that there are 2 unlimited dimensions, and that they have dimids 0 and 1.

#include <netcdf.h>
...
#define ROMULUS "Romulus"
#define REMUS "Remus"
#define DIMS2 2
printf("*** Testing file with two unlimited dimensions...");
{
int ncid, dimid[DIMS2];
int unlimdimid_in[DIMS2];
int nunlimdims_in;
if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
if (nc_def_dim(ncid, REMUS, NC_UNLIMITED, &dimid[0])) ERR;
if (nc_def_dim(ncid, ROMULUS, NC_UNLIMITED, &dimid[1])) ERR;
...
if (nc_inq_unlimdims(ncid, &nunlimdims_in, unlimdimid_in)) ERR;
if (nunlimdims_in != 2 || unlimdimid_in[0] != 0 || unlimdimid_in[1] != 1) ERR;
EXTERNL int nc_create(const char *path, int cmode, int *ncidp)
Create a new netCDF file.
Definition: dfile.c:400
EXTERNL int nc_def_dim(int ncid, const char *name, size_t len, int *idp)
Define a new dimension.
Definition: ddim.c:121
Main header file for the C API.
#define NC_NETCDF4
Use netCDF-4/HDF5 format.
Definition: netcdf.h:153
#define NC_UNLIMITED
Size argument to nc_def_dim() for an unlimited dimension.
Definition: netcdf.h:251
EXTERNL int nc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp)
Return number and list of unlimited dimensions.
Definition: dvarinq.c:672

This function will return one of the following values.

Returns
NC_NOERR No error.
NC_EBADID Bad group id.
NC_ENOTNC4 Attempting a netCDF-4 operation on a netCDF-3 file. NetCDF-4 operations can only be performed on files defined with a create mode which includes flag HDF5. (see nc_open).
NC_ESTRICTNC3 This file was created with the strict netcdf-3 flag, therefore netcdf-4 operations are not allowed. (see nc_open).
NC_EHDFERR An error was reported by the HDF5 layer.
Author
Ed Hartnett, Dennis Heimbigner

Definition at line 672 of file dvarinq.c.

◆ nc_reclaim_data()

EXTERNL int nc_reclaim_data ( int  ncid,
nc_type  xtypeid,
void *  memory,
size_t  count 
)

Reclaim a vector of instances of arbitrary type.

Intended for use with e.g. nc_get_vara or the input to e.g. nc_put_vara. This recursively walks the top-level instances to reclaim any nested data such as vlen or strings or such.

Assumes it is passed a pointer to count instances of xtype. Reclaims any nested data.

WARNING: nc_reclaim_data does not reclaim the top-level memory because we do not know how it was allocated. However nc_reclaim_data_all does reclaim top-level memory.

WARNING: all data blocks below the top-level (e.g. string instances) will be reclaimed, so do not call if there is any static data in the instance.

Should work for any netcdf format.

Variable Documentation

◆ ncopts

EXTERNL int ncopts

V2 API error handling.

Default is (NC_FATAL | NC_VERBOSE).

Definition at line 1963 of file netcdf.h.