NetCDF  4.8.0
netcdf.h File Reference
#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   (-140)
 
#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_EFOUND   (-140)
 Some object exists when it should not. 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_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_EPARINIT   (-115)
 Error initializing for parallel access. More...
 
#define NC_EPERM   (-37)
 Write to read only. 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_NOCLOBBER   0x0004
 Don't destroy existing file. 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_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_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_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_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_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 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)
 
EXTERNL int nc__open (const char *path, int mode, size_t *chunksizehintp, int *ncidp)
 
EXTERNL int nc__open_mp (const char *path, int mode, int basepe, size_t *chunksizehintp, int *ncidp)
 
EXTERNL int nc_abort (int ncid)
 
EXTERNL void nc_advise (const char *cdf_routine_name, int err, const char *fmt,...)
 
EXTERNL int nc_close (int ncid)
 
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_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)
 
EXTERNL int nc_def_compound (int ncid, size_t size, const char *name, nc_type *typeidp)
 
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)
 
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)
 
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)
 
EXTERNL int nc_def_var_fletcher32 (int ncid, int varid, int fletcher32)
 Set checksum for a var. 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)
 
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_enddef (int ncid)
 
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)
 
EXTERNL int nc_free_vlens (size_t len, nc_vlen_t vlens[])
 
EXTERNL int nc_get_att (int ncid, int varid, const char *name, void *ip)
 
EXTERNL int nc_get_att_double (int ncid, int varid, const char *name, double *ip)
 
EXTERNL int nc_get_att_float (int ncid, int varid, const char *name, float *ip)
 
EXTERNL int nc_get_att_int (int ncid, int varid, const char *name, int *ip)
 
EXTERNL int nc_get_att_long (int ncid, int varid, const char *name, long *ip)
 
EXTERNL int nc_get_att_longlong (int ncid, int varid, const char *name, long long *ip)
 
EXTERNL int nc_get_att_schar (int ncid, int varid, const char *name, signed char *ip)
 
EXTERNL int nc_get_att_short (int ncid, int varid, const char *name, short *ip)
 
EXTERNL int nc_get_att_string (int ncid, int varid, const char *name, char **ip)
 
EXTERNL int nc_get_att_text (int ncid, int varid, const char *name, char *ip)
 
EXTERNL int nc_get_att_ubyte (int ncid, int varid, const char *name, unsigned char *ip)
 
EXTERNL int nc_get_att_uchar (int ncid, int varid, const char *name, unsigned char *ip)
 
EXTERNL int nc_get_att_uint (int ncid, int varid, const char *name, unsigned int *ip)
 
EXTERNL int nc_get_att_ulonglong (int ncid, int varid, const char *name, unsigned long long *ip)
 
EXTERNL int nc_get_att_ushort (int ncid, int varid, const char *name, unsigned short *ip)
 
EXTERNL int nc_get_chunk_cache (size_t *sizep, size_t *nelemsp, float *preemptionp)
 
EXTERNL int nc_get_var (int ncid, int varid, void *ip)
 
EXTERNL int nc_get_var1 (int ncid, int varid, const size_t *indexp, void *ip)
 
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)
 
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)
 
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)
 
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)
 
EXTERNL int nc_inq_att (int ncid, int varid, const char *name, nc_type *xtypep, size_t *lenp)
 
EXTERNL int nc_inq_attid (int ncid, int varid, const char *name, int *idp)
 
EXTERNL int nc_inq_attlen (int ncid, int varid, const char *name, size_t *lenp)
 
EXTERNL int nc_inq_attname (int ncid, int varid, int attnum, char *name)
 
EXTERNL int nc_inq_atttype (int ncid, int varid, const char *name, nc_type *xtypep)
 
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)
 
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)
 
EXTERNL int nc_inq_compound_fielddim_sizes (int ncid, nc_type xtype, int fieldid, int *dim_sizes)
 
EXTERNL int nc_inq_compound_fieldindex (int ncid, nc_type xtype, const char *name, int *fieldidp)
 
EXTERNL int nc_inq_compound_fieldname (int ncid, nc_type xtype, int fieldid, char *name)
 
EXTERNL int nc_inq_compound_fieldndims (int ncid, nc_type xtype, int fieldid, int *ndimsp)
 
EXTERNL int nc_inq_compound_fieldoffset (int ncid, nc_type xtype, int fieldid, size_t *offsetp)
 
EXTERNL int nc_inq_compound_fieldtype (int ncid, nc_type xtype, int fieldid, nc_type *field_typeidp)
 
EXTERNL int nc_inq_compound_name (int ncid, nc_type xtype, char *name)
 
EXTERNL int nc_inq_compound_nfields (int ncid, nc_type xtype, size_t *nfieldsp)
 
EXTERNL int nc_inq_compound_size (int ncid, nc_type xtype, size_t *sizep)
 
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)
 
EXTERNL int nc_inq_enum_ident (int ncid, nc_type xtype, long long value, char *identifier)
 
EXTERNL int nc_inq_enum_member (int ncid, nc_type xtype, int idx, char *name, void *value)
 
EXTERNL int nc_inq_format (int ncid, int *formatp)
 
EXTERNL int nc_inq_format_extended (int ncid, int *formatp, int *modep)
 
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)
 
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)
 
EXTERNL int nc_inq_path (int ncid, size_t *pathlen, char *path)
 
EXTERNL int nc_inq_type (int ncid, nc_type xtype, char *name, size_t *size)
 
EXTERNL int nc_inq_type_equal (int ncid1, nc_type typeid1, int ncid2, nc_type typeid2, int *equal)
 
EXTERNL int nc_inq_typeid (int ncid, const char *name, nc_type *typeidp)
 
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)
 
EXTERNL int nc_inq_var (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
 
EXTERNL int nc_inq_var_chunking (int ncid, int varid, int *storagep, size_t *chunksizesp)
 
EXTERNL int nc_inq_var_deflate (int ncid, int varid, int *shufflep, int *deflatep, int *deflate_levelp)
 
EXTERNL int nc_inq_var_endian (int ncid, int varid, int *endianp)
 
EXTERNL int nc_inq_var_fill (int ncid, int varid, int *no_fill, void *fill_valuep)
 
EXTERNL int nc_inq_var_filter (int ncid, int varid, unsigned int *idp, size_t *nparams, unsigned int *params)
 
EXTERNL int nc_inq_var_fletcher32 (int ncid, int varid, int *fletcher32p)
 
EXTERNL int nc_inq_var_szip (int ncid, int varid, int *options_maskp, int *pixels_per_blockp)
 
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)
 
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)
 
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)
 
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)
 
EXTERNL int nc_insert_compound (int ncid, nc_type xtype, const char *name, size_t offset, nc_type field_typeid)
 
EXTERNL int nc_insert_enum (int ncid, nc_type xtype, const char *name, const void *value)
 
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)
 
EXTERNL int nc_put_att_double (int ncid, int varid, const char *name, nc_type xtype, size_t len, const double *op)
 
EXTERNL int nc_put_att_float (int ncid, int varid, const char *name, nc_type xtype, size_t len, const float *op)
 
EXTERNL int nc_put_att_int (int ncid, int varid, const char *name, nc_type xtype, size_t len, const int *op)
 
EXTERNL int nc_put_att_long (int ncid, int varid, const char *name, nc_type xtype, size_t len, const long *op)
 
EXTERNL int nc_put_att_longlong (int ncid, int varid, const char *name, nc_type xtype, size_t len, const long long *op)
 
EXTERNL int nc_put_att_schar (int ncid, int varid, const char *name, nc_type xtype, size_t len, const signed char *op)
 
EXTERNL int nc_put_att_short (int ncid, int varid, const char *name, nc_type xtype, size_t len, const short *op)
 
EXTERNL int nc_put_att_string (int ncid, int varid, const char *name, size_t len, const char **op)
 
EXTERNL int nc_put_att_text (int ncid, int varid, const char *name, size_t len, const char *op)
 
EXTERNL int nc_put_att_ubyte (int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned char *op)
 
EXTERNL int nc_put_att_uchar (int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned char *op)
 
EXTERNL int nc_put_att_uint (int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned int *op)
 
EXTERNL int nc_put_att_ulonglong (int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned long long *op)
 
EXTERNL int nc_put_att_ushort (int ncid, int varid, const char *name, nc_type xtype, size_t len, const unsigned short *op)
 
EXTERNL int nc_put_var (int ncid, int varid, const void *op)
 
EXTERNL int nc_put_var1 (int ncid, int varid, const size_t *indexp, const void *op)
 
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)
 
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)
 
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)
 
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 int nc_redef (int ncid)
 
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_base_pe (int ncid, int pe)
 
EXTERNL int nc_set_chunk_cache (size_t size, size_t nelems, float preemption)
 
EXTERNL int nc_set_default_format (int format, int *old_formatp)
 
EXTERNL int nc_set_fill (int ncid, int fillmode, int *old_modep)
 
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)
 
EXTERNL int ncabort (int ncid)
 
EXTERNL int ncattcopy (int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out)
 
EXTERNL int ncattdel (int ncid, int varid, const char *name)
 
EXTERNL int ncattget (int ncid, int varid, const char *name, void *ip)
 
EXTERNL int ncattinq (int ncid, int varid, const char *name, nc_type *xtypep, int *lenp)
 
EXTERNL int ncattname (int ncid, int varid, int attnum, char *name)
 
EXTERNL int ncattput (int ncid, int varid, const char *name, nc_type xtype, int len, const void *op)
 
EXTERNL int ncattrename (int ncid, int varid, const char *name, const char *newname)
 
EXTERNL int ncclose (int ncid)
 
EXTERNL int nccreate (const char *path, int cmode)
 
EXTERNL int ncdimdef (int ncid, const char *name, long len)
 
EXTERNL int ncdimid (int ncid, const char *name)
 
EXTERNL int ncdiminq (int ncid, int dimid, char *name, long *lenp)
 
EXTERNL int ncdimrename (int ncid, int dimid, const char *name)
 
EXTERNL int ncendef (int ncid)
 
EXTERNL int ncinquire (int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp)
 
EXTERNL int ncopen (const char *path, int mode)
 
EXTERNL int ncrecget (int ncid, long recnum, void **datap)
 
EXTERNL int ncrecinq (int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp)
 
EXTERNL int ncrecput (int ncid, long recnum, void *const *datap)
 
EXTERNL int ncredef (int ncid)
 
EXTERNL int ncsetfill (int ncid, int fillmode)
 
EXTERNL int ncsync (int ncid)
 
EXTERNL int nctypelen (nc_type datatype)
 
EXTERNL int ncvardef (int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp)
 
EXTERNL int ncvarget (int ncid, int varid, const long *startp, const long *countp, void *ip)
 
EXTERNL int ncvarget1 (int ncid, int varid, const long *indexp, void *ip)
 
EXTERNL int ncvargetg (int ncid, int varid, const long *startp, const long *countp, const long *stridep, const long *imapp, void *ip)
 
EXTERNL int ncvargets (int ncid, int varid, const long *startp, const long *countp, const long *stridep, void *ip)
 
EXTERNL int ncvarid (int ncid, const char *name)
 
EXTERNL int ncvarinq (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
 
EXTERNL int ncvarput (int ncid, int varid, const long *startp, const long *countp, const void *op)
 
EXTERNL int ncvarput1 (int ncid, int varid, const long *indexp, const void *op)
 
EXTERNL int ncvarputg (int ncid, int varid, const long *startp, const long *countp, const long *stridep, const long *imapp, const void *op)
 
EXTERNL int ncvarputs (int ncid, int varid, const long *startp, const long *countp, const long *stridep, const void *op)
 
EXTERNL int ncvarrename (int ncid, int varid, const char *name)
 

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 114 of file netcdf.h.

◆ EXTERNL

#define EXTERNL   MSC_EXTRA extern

Needed for DLL build.

Definition at line 517 of file netcdf.h.

◆ FILL_BYTE

#define FILL_BYTE   NC_FILL_BYTE

Backward compatible alias.

Definition at line 1817 of file netcdf.h.

◆ FILL_CHAR

#define FILL_CHAR   NC_FILL_CHAR

Backward compatible alias.

Definition at line 1818 of file netcdf.h.

◆ FILL_DOUBLE

#define FILL_DOUBLE   NC_FILL_DOUBLE

Backward compatible alias.

Definition at line 1822 of file netcdf.h.

◆ FILL_FLOAT

#define FILL_FLOAT   NC_FILL_FLOAT

Backward compatible alias.

Definition at line 1821 of file netcdf.h.

◆ FILL_LONG

#define FILL_LONG   NC_FILL_INT

Backward compatible alias.

Definition at line 1820 of file netcdf.h.

◆ FILL_SHORT

#define FILL_SHORT   NC_FILL_SHORT

Backward compatible alias.

Definition at line 1819 of file netcdf.h.

◆ MAX_NC_ATTRS

#define MAX_NC_ATTRS   NC_MAX_ATTRS

Backward compatible alias.

Definition at line 1825 of file netcdf.h.

◆ MAX_NC_DIMS

#define MAX_NC_DIMS   NC_MAX_DIMS

Backward compatible alias.

Definition at line 1824 of file netcdf.h.

◆ MAX_NC_NAME

#define MAX_NC_NAME   NC_MAX_NAME

Backward compatible alias.

Definition at line 1827 of file netcdf.h.

◆ MAX_NC_VARS

#define MAX_NC_VARS   NC_MAX_VARS

Backward compatible alias.

Definition at line 1826 of file netcdf.h.

◆ MAX_VAR_DIMS

#define MAX_VAR_DIMS   NC_MAX_VAR_DIMS

Backward compatible alias.

Definition at line 1828 of file netcdf.h.

◆ MSC_EXTRA

#define MSC_EXTRA

Needed for DLL build.

Definition at line 514 of file netcdf.h.

◆ NC2_ERR

#define NC2_ERR   (-1)

Returned for all errors in the v2 API.

Definition at line 332 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 244 of file netcdf.h.

◆ NC_BYTE

#define NC_BYTE   1

signed 1 byte integer

Definition at line 36 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 37 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.

Definition at line 299 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.

Definition at line 301 of file netcdf.h.

◆ NC_COMPOUND

#define NC_COMPOUND   16

compound types

Definition at line 57 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 708 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.

Definition at line 300 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 42 of file netcdf.h.

◆ NC_EACCESS

#define NC_EACCESS   (-77)

Access Failure.

Definition at line 431 of file netcdf.h.

◆ NC_EATTEXISTS

#define NC_EATTEXISTS   (-110)

Attribute already exists.

Definition at line 453 of file netcdf.h.

◆ NC_EATTMETA

#define NC_EATTMETA   (-107)

Problem with attribute metadata.

Definition at line 450 of file netcdf.h.

◆ NC_EAUTH

#define NC_EAUTH   (-78)

Authorization Failure.

Definition at line 432 of file netcdf.h.

◆ NC_EAXISTYPE

#define NC_EAXISTYPE   (-65)

Unknown axis type.

Definition at line 415 of file netcdf.h.

◆ NC_EBADCHUNK

#define NC_EBADCHUNK   (-127)

Bad chunksize.

Definition at line 470 of file netcdf.h.

◆ NC_EBADCLASS

#define NC_EBADCLASS   (-120)

Bad class.

Definition at line 463 of file netcdf.h.

◆ NC_EBADDIM

#define NC_EBADDIM   (-46)

Invalid dimension id or name.

Definition at line 374 of file netcdf.h.

◆ NC_EBADFIELD

#define NC_EBADFIELD   (-119)

Bad field ID.

Definition at line 462 of file netcdf.h.

◆ NC_EBADGRPID

#define NC_EBADGRPID   (-116)

Bad group ID.

Definition at line 459 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 338 of file netcdf.h.

◆ NC_EBADNAME

#define NC_EBADNAME   (-59)

Attribute or variable name contains illegal characters.

Definition at line 403 of file netcdf.h.

◆ NC_EBADTYPE

#define NC_EBADTYPE   (-45)

Not a netcdf data type.

Definition at line 373 of file netcdf.h.

◆ NC_EBADTYPID

#define NC_EBADTYPID   (-117)

Bad type ID.

Definition at line 460 of file netcdf.h.

◆ NC_ECANTCREATE

#define NC_ECANTCREATE   (-104)

Can't create.

Definition at line 447 of file netcdf.h.

◆ NC_ECANTEXTEND

#define NC_ECANTEXTEND   (-130)

Attempt to extend dataset during ind.

I/O operation.

Definition at line 473 of file netcdf.h.

◆ NC_ECANTREAD

#define NC_ECANTREAD   (-102)

Can't read.

Definition at line 445 of file netcdf.h.

◆ NC_ECANTREMOVE

#define NC_ECANTREMOVE   (-91)

Can't remove file.

Definition at line 436 of file netcdf.h.

◆ NC_ECANTWRITE

#define NC_ECANTWRITE   (-103)

Can't write.

Definition at line 446 of file netcdf.h.

◆ NC_ECHAR

#define NC_ECHAR   (-56)

Attempt to convert between text & numbers.

Definition at line 392 of file netcdf.h.

◆ NC_ECONSTRAINT

#define NC_ECONSTRAINT   (NC_EDAPCONSTRAINT)

Malformed Constraint.

Definition at line 490 of file netcdf.h.

◆ NC_ECURL

#define NC_ECURL   (-67)

Generic libcurl error.

Definition at line 419 of file netcdf.h.

◆ NC_EDAP

#define NC_EDAP   (-66)

Generic DAP error.

Definition at line 418 of file netcdf.h.

◆ NC_EDAPCONSTRAINT

#define NC_EDAPCONSTRAINT   (-75)

Malformed DAP Constraint.

Definition at line 429 of file netcdf.h.

◆ NC_EDAPSVC

#define NC_EDAPSVC   (-70)

DAP server error.

Definition at line 422 of file netcdf.h.

◆ NC_EDAPURL

#define NC_EDAPURL   (-74)

Malformed DAP URL.

Definition at line 428 of file netcdf.h.

◆ NC_EDAS

#define NC_EDAS   (-71)

Malformed or inaccessible DAS.

Definition at line 423 of file netcdf.h.

◆ NC_EDATADAP

#define NC_EDATADAP   NC_EDATADDS

Dap4 alias.

Definition at line 427 of file netcdf.h.

◆ NC_EDATADDS

#define NC_EDATADDS   (-73)

Malformed or inaccessible DATADDS.

Definition at line 426 of file netcdf.h.

◆ NC_EDDS

#define NC_EDDS   (-72)

Malformed or inaccessible DDS.

Definition at line 424 of file netcdf.h.

◆ NC_EDIMMETA

#define NC_EDIMMETA   (-106)

Problem with dimension metadata.

Definition at line 449 of file netcdf.h.

◆ NC_EDIMSCALE

#define NC_EDIMSCALE   (-124)

Problem with HDF5 dimscales.

Definition at line 467 of file netcdf.h.

◆ NC_EDIMSIZE

#define NC_EDIMSIZE   (-63)

Invalid dimension size.

Definition at line 413 of file netcdf.h.

◆ NC_EDISKLESS

#define NC_EDISKLESS   (-129)

Error in using diskless access.

Definition at line 472 of file netcdf.h.

◆ NC_EDMR

#define NC_EDMR   NC_EDDS

Dap4 alias.

Definition at line 425 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 401 of file netcdf.h.

◆ NC_EEMPTY

#define NC_EEMPTY   (-139)

Attempt to read empty NCZarr map key.

Definition at line 483 of file netcdf.h.

◆ NC_EEXIST

#define NC_EEXIST   (-35)

netcdf file exists && NC_NOCLOBBER

Definition at line 340 of file netcdf.h.

◆ NC_EFILEMETA

#define NC_EFILEMETA   (-105)

Problem with file metadata.

Definition at line 448 of file netcdf.h.

◆ NC_EFILTER

#define NC_EFILTER   (-132)

Filter operation failed.

Definition at line 476 of file netcdf.h.

◆ NC_EFOUND

#define NC_EFOUND   (-140)

Some object exists when it should not.

Definition at line 484 of file netcdf.h.

◆ NC_EGLOBAL

#define NC_EGLOBAL   (-50)

Action prohibited on NC_GLOBAL varid.

Definition at line 386 of file netcdf.h.

◆ NC_EHDFERR

#define NC_EHDFERR   (-101)

Error at HDF5 layer.

Definition at line 444 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 356 of file netcdf.h.

◆ NC_EINMEMORY

#define NC_EINMEMORY   (-135)

In-memory file error.

Definition at line 479 of file netcdf.h.

◆ NC_EINTERNAL

#define NC_EINTERNAL   (-92)

NetCDF Library Internal Error.

Definition at line 437 of file netcdf.h.

◆ NC_EINVAL

#define NC_EINVAL   (-36)

Invalid Argument.

Definition at line 341 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 363 of file netcdf.h.

◆ NC_EIO

#define NC_EIO   (-68)

Generic IO error.

Definition at line 420 of file netcdf.h.

◆ NC_ELATEDEF

#define NC_ELATEDEF   (-123)

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

Definition at line 466 of file netcdf.h.

◆ NC_ELATEFILL

#define NC_ELATEFILL   (-122)

Attempt to define fill value when data already exists.

Definition at line 465 of file netcdf.h.

◆ NC_EMAPTYPE

#define NC_EMAPTYPE   (-121)

Mapped access for atomic types only.

Definition at line 464 of file netcdf.h.

◆ NC_EMAXATTS

#define NC_EMAXATTS   (-44)

NC_MAX_ATTRS exceeded - not enforced after 4.5.0.

Definition at line 372 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 368 of file netcdf.h.

◆ NC_EMAXNAME

#define NC_EMAXNAME   (-53)

NC_MAX_NAME exceeded.

Definition at line 389 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 380 of file netcdf.h.

◆ NC_EMPI

#define NC_EMPI   (-131)

MPI operation failed.

Definition at line 474 of file netcdf.h.

◆ NC_ENAMEINUSE

#define NC_ENAMEINUSE   (-42)

String match to name in use.

Definition at line 370 of file netcdf.h.

◆ NC_ENCZARR

#define NC_ENCZARR   (-137)

Error at NCZarr layer.

Definition at line 481 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 292 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 291 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 290 of file netcdf.h.

◆ NC_ENFILE

#define NC_ENFILE   (-34)

Too many netcdfs open.

Definition at line 339 of file netcdf.h.

◆ NC_ENOCOMPOUND

#define NC_ENOCOMPOUND   (-109)

Not a compound type.

Definition at line 452 of file netcdf.h.

◆ NC_ENODATA

#define NC_ENODATA   (-69)

Attempt to access variable with no data.

Definition at line 421 of file netcdf.h.

◆ NC_ENOFILTER

#define NC_ENOFILTER   (-136)

Filter not defined on variable.

Definition at line 480 of file netcdf.h.

◆ NC_ENOGRP

#define NC_ENOGRP   (-125)

No group found.

Definition at line 468 of file netcdf.h.

◆ NC_ENOMEM

#define NC_ENOMEM   (-61)

Memory allocation (malloc) failure.

Definition at line 411 of file netcdf.h.

◆ NC_ENOPAR

#define NC_ENOPAR   (-114)

Parallel operation on file opened for non-parallel access.

Definition at line 457 of file netcdf.h.

◆ NC_ENORECVARS

#define NC_ENORECVARS   (-55)

nc_rec op when there are no record vars

Definition at line 391 of file netcdf.h.

◆ NC_ENOTATT

#define NC_ENOTATT   (-43)

Attribute not found.

Definition at line 371 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 471 of file netcdf.h.

◆ NC_ENOTFOUND

#define NC_ENOTFOUND   (-90)

No such file.

Definition at line 435 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 347 of file netcdf.h.

◆ NC_ENOTNC

#define NC_ENOTNC   (-51)

Not a netcdf file.

Definition at line 387 of file netcdf.h.

◆ NC_ENOTNC3

#define NC_ENOTNC3   (-113)

Attempting netcdf-3 operation on netcdf-4 file.

Definition at line 456 of file netcdf.h.

◆ NC_ENOTNC4

#define NC_ENOTNC4   (-111)

Attempting netcdf-4 operation on netcdf-3 file.

Definition at line 454 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 385 of file netcdf.h.

◆ NC_ENTOOL

#define NC_ENTOOL   NC_EMAXNAME

Backward compatibility.

Definition at line 1837 of file netcdf.h.

◆ NC_ENULLPAD

#define NC_ENULLPAD   (-134)

Header Bytes not Null-Byte padded.

Definition at line 478 of file netcdf.h.

◆ NC_ENUM

#define NC_ENUM   15

enum types

Definition at line 56 of file netcdf.h.

◆ NC_EPARINIT

#define NC_EPARINIT   (-115)

Error initializing for parallel access.

Definition at line 458 of file netcdf.h.

◆ NC_EPERM

#define NC_EPERM   (-37)

Write to read only.

Definition at line 342 of file netcdf.h.

◆ NC_EPNETCDF

#define NC_EPNETCDF   (-93)

Error at PnetCDF layer.

Definition at line 438 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 410 of file netcdf.h.

◆ NC_ERCFILE

#define NC_ERCFILE   (-133)

RC file failure.

Definition at line 477 of file netcdf.h.

◆ NC_ES3

#define NC_ES3   (-138)

Generic S3 error.

Definition at line 482 of file netcdf.h.

◆ NC_ESTORAGE

#define NC_ESTORAGE   (-126)

Can't specify both contiguous and chunking.

Definition at line 469 of file netcdf.h.

◆ NC_ESTRICTNC3

#define NC_ESTRICTNC3   (-112)

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

Definition at line 455 of file netcdf.h.

◆ NC_ESTRIDE

#define NC_ESTRIDE   (-58)

Illegal stride.

Definition at line 402 of file netcdf.h.

◆ NC_ESTS

#define NC_ESTS   (-52)

In Fortran, string too short.

Definition at line 388 of file netcdf.h.

◆ NC_ETRANSLATION

#define NC_ETRANSLATION   (-76)

Untranslatable construct.

Definition at line 430 of file netcdf.h.

◆ NC_ETRUNC

#define NC_ETRUNC   (-64)

File likely truncated or possibly corrupted.

Definition at line 414 of file netcdf.h.

◆ NC_ETYPDEFINED

#define NC_ETYPDEFINED   (-118)

Type has already been defined and may not be edited.

Definition at line 461 of file netcdf.h.

◆ NC_EUNLIMIT

#define NC_EUNLIMIT   (-54)

NC_UNLIMITED size already in use.

Definition at line 390 of file netcdf.h.

◆ NC_EUNLIMPOS

#define NC_EUNLIMPOS   (-47)

NC_UNLIMITED in the wrong index.

Definition at line 375 of file netcdf.h.

◆ NC_EURL

#define NC_EURL   (NC_EDAPURL)

Malformed URL.

Definition at line 489 of file netcdf.h.

◆ NC_EVARMETA

#define NC_EVARMETA   (-108)

Problem with variable metadata.

Definition at line 451 of file netcdf.h.

◆ NC_EVARSIZE

#define NC_EVARSIZE   (-62)

One or more variable sizes violate format constraints.

Definition at line 412 of file netcdf.h.

◆ NC_EXDR

#define NC_EXDR   (-32)

V2 API error.

Definition at line 1838 of file netcdf.h.

◆ NC_FATAL

#define NC_FATAL   1

For V2 API, exit on error.

Definition at line 1845 of file netcdf.h.

◆ NC_FILL

#define NC_FILL   0

Argument to nc_set_fill() to clear NC_NOFILL.

Definition at line 115 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 68 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 69 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 73 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 72 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 71 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 77 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 70 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 79 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 74 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 76 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 78 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 75 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 310 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 41 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 181 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 184 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 180 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 190 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 187 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 174 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 234 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 235 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 229 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 231 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 232 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 230 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 182 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 183 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 233 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 236 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 217 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 218 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 212 of file netcdf.h.

◆ NC_FORMATX_NC4

#define NC_FORMATX_NC4   NC_FORMATX_NC_HDF5

alias

Definition at line 214 of file netcdf.h.

◆ NC_FORMATX_NC_HDF4

#define NC_FORMATX_NC_HDF4   (3)

netCDF-4 subset of HDF4

Definition at line 215 of file netcdf.h.

◆ NC_FORMATX_NC_HDF5

#define NC_FORMATX_NC_HDF5   (2)

netCDF-4 subset of HDF5

Definition at line 213 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 221 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 216 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 219 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 220 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 222 of file netcdf.h.

◆ NC_GLOBAL

#define NC_GLOBAL   -1

Attribute id to put/get a global attribute.

Definition at line 250 of file netcdf.h.

◆ NC_HAVE_INQ_FORMAT_EXTENDED

#define NC_HAVE_INQ_FORMAT_EXTENDED

inq_format_extended() support.

Definition at line 2002 of file netcdf.h.

◆ NC_HAVE_RENAME_GRP

#define NC_HAVE_RENAME_GRP

rename_grp() support.

Definition at line 1998 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 39 of file netcdf.h.

◆ NC_INT64

#define NC_INT64   10

signed 8-byte int

Definition at line 46 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 329 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 40 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 275 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 90 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 92 of file netcdf.h.

◆ NC_MAX_DEFLATE_LEVEL

#define NC_MAX_DEFLATE_LEVEL   9

Maximum deflate level.

Definition at line 323 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 274 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 99 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 97 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 285 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 95 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 104 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 165 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 277 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 93 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 101 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 103 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 106 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 102 of file netcdf.h.

◆ NC_MAX_VAR_DIMS

#define NC_MAX_VAR_DIMS   1024

max per variable dimensions

Definition at line 278 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 276 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 91 of file netcdf.h.

◆ NC_MIN_DEFLATE_LEVEL

#define NC_MIN_DEFLATE_LEVEL   0

Minimum deflate level.

Definition at line 322 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 100 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 98 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 96 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 105 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 94 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 35 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_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 309 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_NOERR

#define NC_NOERR   0

No Error.

Definition at line 331 of file netcdf.h.

◆ NC_NOFILL

#define NC_NOFILL   0x100

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

Definition at line 116 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 318 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 55 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_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 38 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 319 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 241 of file netcdf.h.

◆ NC_STRING

#define NC_STRING   12

string

Definition at line 48 of file netcdf.h.

◆ NC_SYSERR

#define NC_SYSERR   (-31)

V2 API system error.

Definition at line 1839 of file netcdf.h.

◆ NC_UBYTE

#define NC_UBYTE   7

unsigned 1 byte int

Definition at line 43 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 45 of file netcdf.h.

◆ NC_UINT64

#define NC_UINT64   11

unsigned 8-byte int

Examples
simple_nc4_wr.c.

Definition at line 47 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 247 of file netcdf.h.

◆ NC_USHORT

#define NC_USHORT   8

unsigned 2-byte int

Definition at line 44 of file netcdf.h.

◆ NC_VERBOSE

#define NC_VERBOSE   2

For V2 API, be verbose on error.

Definition at line 1846 of file netcdf.h.

◆ NC_VLEN

#define NC_VLEN   13

vlen (variable-length) types

Definition at line 54 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 1858 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 650 of file dcopy.c.

◆ 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 295 of file dcopy.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 1645 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;

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 642 of file dvarinq.c.

Variable Documentation

◆ ncopts

EXTERNL int ncopts

V2 API error handling.

Default is (NC_FATAL | NC_VERBOSE).

Definition at line 1848 of file netcdf.h.

nc_def_dim
EXTERNL int nc_def_dim(int ncid, const char *name, size_t len, int *idp)
Define a new dimension.
Definition: ddim.c:121
NC_UNLIMITED
#define NC_UNLIMITED
Size argument to nc_def_dim() for an unlimited dimension.
Definition: netcdf.h:246
nc_inq_unlimdims
EXTERNL int nc_inq_unlimdims(int ncid, int *nunlimdimsp, int *unlimdimidsp)
Return number and list of unlimited dimensions.
Definition: dvarinq.c:642
netcdf.h
NC_NETCDF4
#define NC_NETCDF4
Use netCDF-4/HDF5 format.
Definition: netcdf.h:152
nc_create
EXTERNL int nc_create(const char *path, int cmode, int *ncidp)
Definition: dfile.c:389