NetCDF  4.6.1
Variables


Variables hold multi-dimensional arrays of data. More...

Functions

int nc_def_var_chunking (int ncid, int varid, int storage, const size_t *chunksizesp)
 Define chunking parameters for a variable. More...
 
int nc_def_var_deflate (int ncid, int varid, int shuffle, int deflate, int deflate_level)
 

Set the compression settings for a netCDF-4/HDF5 variable. More...
 
int nc_def_var_endian (int ncid, int varid, int endian)
 
Define endianness of a variable. More...
 
int nc_def_var_fill (int ncid, int varid, int no_fill, const void *fill_value)
 Set the fill value for a variable. More...
 
int nc_def_var_fletcher32 (int ncid, int varid, int fletcher32)
 

Set checksum for a var. More...
 
int nc_free_string (size_t len, char **data)
 Free string space allocated by the library. More...
 
static int NC_get_var (int ncid, int varid, void *value, nc_type memtype)
 
Get data for a variable. More...
 
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...
 
static int NC_get_varm (int ncid, int varid, const size_t *start, const size_t *edges, const ptrdiff_t *stride, const ptrdiff_t *map, void *value, nc_type memtype)
 
Called by externally visible nc_get_varm_xxx routines. More...
 
static int NC_get_vars (int ncid, int varid, const size_t *start, const size_t *edges, const ptrdiff_t *stride, void *value, nc_type memtype)
 
Called by externally visible nc_get_vars_xxx routines. More...
 
int NC_inq_recvar (int ncid, int varid, int *nrecdimsp, int *is_recdim)
 
More...
 
int NC_is_recvar (int ncid, int varid, size_t *nrecs)
 
More...
 
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...
 

Defining Variables


Use these functions to define variables.

int nc_def_var (int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
 
Define a new variable. More...
 

Rename a Variable


Rename a variable.

int nc_rename_var (int ncid, int varid, const char *name)
 
Rename a variable. More...
 

Reading Data from Variables

Functions to read data from variables.

int nc_get_vara (int ncid, int varid, const size_t *startp, const size_t *countp, void *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_text (int ncid, int varid, const size_t *startp, const size_t *countp, char *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_schar (int ncid, int varid, const size_t *startp, const size_t *countp, signed char *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned char *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_short (int ncid, int varid, const size_t *startp, const size_t *countp, short *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_int (int ncid, int varid, const size_t *startp, const size_t *countp, int *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_long (int ncid, int varid, const size_t *startp, const size_t *countp, long *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_float (int ncid, int varid, const size_t *startp, const size_t *countp, float *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_double (int ncid, int varid, const size_t *startp, const size_t *countp, double *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned char *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned short *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_uint (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned int *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, long long *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, unsigned long long *ip)
 Read an array of values from a variable. More...
 
int nc_get_vara_string (int ncid, int varid, const size_t *startp, const size_t *countp, char **ip)
 Read an array of values from a variable. More...
 
int nc_get_var1 (int ncid, int varid, const size_t *indexp, void *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_text (int ncid, int varid, const size_t *indexp, char *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_schar (int ncid, int varid, const size_t *indexp, signed char *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_uchar (int ncid, int varid, const size_t *indexp, unsigned char *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_short (int ncid, int varid, const size_t *indexp, short *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_int (int ncid, int varid, const size_t *indexp, int *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_long (int ncid, int varid, const size_t *indexp, long *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_float (int ncid, int varid, const size_t *indexp, float *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_double (int ncid, int varid, const size_t *indexp, double *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_ubyte (int ncid, int varid, const size_t *indexp, unsigned char *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_ushort (int ncid, int varid, const size_t *indexp, unsigned short *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_uint (int ncid, int varid, const size_t *indexp, unsigned int *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_longlong (int ncid, int varid, const size_t *indexp, long long *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_ulonglong (int ncid, int varid, const size_t *indexp, unsigned long long *ip)
 Read a single datum from a variable. More...
 
int nc_get_var1_string (int ncid, int varid, const size_t *indexp, char **ip)
 Read a single datum from a variable. More...
 
int nc_get_var (int ncid, int varid, void *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_text (int ncid, int varid, char *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_schar (int ncid, int varid, signed char *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_uchar (int ncid, int varid, unsigned char *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_short (int ncid, int varid, short *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_int (int ncid, int varid, int *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_long (int ncid, int varid, long *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_float (int ncid, int varid, float *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_double (int ncid, int varid, double *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_ubyte (int ncid, int varid, unsigned char *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_ushort (int ncid, int varid, unsigned short *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_uint (int ncid, int varid, unsigned int *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_longlong (int ncid, int varid, long long *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_ulonglong (int ncid, int varid, unsigned long long *ip)
 Read an entire variable in one call. More...
 
int nc_get_var_string (int ncid, int varid, char **ip)
 Read an entire variable in one call. More...
 
int nc_get_vars (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, void *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_text (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, char *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, signed char *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned char *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_short (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, short *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_int (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, int *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_long (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, long *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_float (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, float *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_double (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, double *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned char *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned short *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned int *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, long long *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, unsigned long long *ip)
 Read a strided array from a variable. More...
 
int nc_get_vars_string (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, char **ip)
 Read a strided array from a variable. More...
 
int nc_get_varm (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, void *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, signed char *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned char *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_short (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, short *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_int (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, int *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_long (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, long *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_float (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, float *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_double (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, double *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned char *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned short *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned int *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, long long *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, unsigned long long *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_text (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, char *ip)
 Read a mapped array from a variable. More...
 
int nc_get_varm_string (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, char **ip)
 Read a mapped array from a variable. More...
 

Learning about Variables

Functions to learn about the variables in a file.

int nc_inq_varid (int ncid, const char *name, int *varidp)
 
Find the ID of a variable, from the name. More...
 
int nc_inq_var (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp)
 
Learn about a variable. More...
 
int nc_inq_varname (int ncid, int varid, char *name)
 
Learn the name of a variable. More...
 
int nc_inq_vartype (int ncid, int varid, nc_type *typep)
 Learn the type of a variable. More...
 
int nc_inq_varndims (int ncid, int varid, int *ndimsp)
 
Learn how many dimensions are associated with a variable. More...
 
int nc_inq_vardimid (int ncid, int varid, int *dimidsp)
 
Learn the dimension IDs associated with a variable. More...
 
int nc_inq_varnatts (int ncid, int varid, int *nattsp)
 
Learn how many attributes are associated with a variable. More...
 
int nc_inq_var_deflate (int ncid, int varid, int *shufflep, int *deflatep, int *deflate_levelp)
 Learn the storage and deflate settings for a variable. More...
 
int nc_inq_var_fletcher32 (int ncid, int varid, int *fletcher32p)
 Learn the checksum settings for a variable. More...
 
int nc_inq_var_chunking (int ncid, int varid, int *storagep, size_t *chunksizesp)
 This is a wrapper for nc_inq_var_all(). More...
 
int nc_inq_var_fill (int ncid, int varid, int *no_fill, void *fill_valuep)
 Learn the fill mode of a variable. More...
 
int nc_inq_var_endian (int ncid, int varid, int *endianp)
 Find the endianness of a variable. More...
 
int nc_inq_var_filter (int ncid, int varid, unsigned int *idp, size_t *nparamsp, unsigned int *params)
 
Find the filter (if any) associated with a variable. More...
 
int nc_inq_var_szip (int ncid, int varid, int *options_maskp, int *pixels_per_blockp)
 Learn the szip settings of a variable. More...
 
int nc_inq_unlimdims (int ncid, int *nunlimdimsp, int *unlimdimidsp)
 
Return number and list of unlimited dimensions. More...
 
int NC_inq_var_all (int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp, int *shufflep, int *deflatep, int *deflate_levelp, int *fletcher32p, int *contiguousp, size_t *chunksizesp, int *no_fill, void *fill_valuep, int *endiannessp, unsigned int *idp, size_t *nparamsp, unsigned int *params)
 
Learn all about a variable. More...
 

Writing Data to Variables

Functions to write data from variables.

int nc_put_vara (int ncid, int varid, const size_t *startp, const size_t *countp, const void *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_text (int ncid, int varid, const size_t *startp, const size_t *countp, const char *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const signed char *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned char *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_short (int ncid, int varid, const size_t *startp, const size_t *countp, const short *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_int (int ncid, int varid, const size_t *startp, const size_t *countp, const int *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_long (int ncid, int varid, const size_t *startp, const size_t *countp, const long *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_float (int ncid, int varid, const size_t *startp, const size_t *countp, const float *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_double (int ncid, int varid, const size_t *startp, const size_t *countp, const double *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned char *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned short *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned int *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const long long *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, const unsigned long long *op)
 Write an array of values to a variable. More...
 
int nc_put_vara_string (int ncid, int varid, const size_t *startp, const size_t *countp, const char **op)
 Write an array of values to a variable. More...
 
int nc_put_var1 (int ncid, int varid, const size_t *indexp, const void *op)
 Write one datum. More...
 
int nc_put_var1_text (int ncid, int varid, const size_t *indexp, const char *op)
 Write one datum. More...
 
int nc_put_var1_schar (int ncid, int varid, const size_t *indexp, const signed char *op)
 Write one datum. More...
 
int nc_put_var1_uchar (int ncid, int varid, const size_t *indexp, const unsigned char *op)
 Write one datum. More...
 
int nc_put_var1_short (int ncid, int varid, const size_t *indexp, const short *op)
 Write one datum. More...
 
int nc_put_var1_int (int ncid, int varid, const size_t *indexp, const int *op)
 Write one datum. More...
 
int nc_put_var1_long (int ncid, int varid, const size_t *indexp, const long *op)
 Write one datum. More...
 
int nc_put_var1_float (int ncid, int varid, const size_t *indexp, const float *op)
 Write one datum. More...
 
int nc_put_var1_double (int ncid, int varid, const size_t *indexp, const double *op)
 Write one datum. More...
 
int nc_put_var1_ubyte (int ncid, int varid, const size_t *indexp, const unsigned char *op)
 Write one datum. More...
 
int nc_put_var1_ushort (int ncid, int varid, const size_t *indexp, const unsigned short *op)
 Write one datum. More...
 
int nc_put_var1_uint (int ncid, int varid, const size_t *indexp, const unsigned int *op)
 Write one datum. More...
 
int nc_put_var1_longlong (int ncid, int varid, const size_t *indexp, const long long *op)
 Write one datum. More...
 
int nc_put_var1_ulonglong (int ncid, int varid, const size_t *indexp, const unsigned long long *op)
 Write one datum. More...
 
int nc_put_var1_string (int ncid, int varid, const size_t *indexp, const char **op)
 Write one datum. More...
 
int nc_put_var (int ncid, int varid, const void *op)
 Write an entire variable with one call. More...
 
int nc_put_var_text (int ncid, int varid, const char *op)
 Write an entire variable with one call. More...
 
int nc_put_var_schar (int ncid, int varid, const signed char *op)
 Write an entire variable with one call. More...
 
int nc_put_var_uchar (int ncid, int varid, const unsigned char *op)
 Write an entire variable with one call. More...
 
int nc_put_var_short (int ncid, int varid, const short *op)
 Write an entire variable with one call. More...
 
int nc_put_var_int (int ncid, int varid, const int *op)
 Write an entire variable with one call. More...
 
int nc_put_var_long (int ncid, int varid, const long *op)
 Write an entire variable with one call. More...
 
int nc_put_var_float (int ncid, int varid, const float *op)
 Write an entire variable with one call. More...
 
int nc_put_var_double (int ncid, int varid, const double *op)
 Write an entire variable with one call. More...
 
int nc_put_var_ubyte (int ncid, int varid, const unsigned char *op)
 Write an entire variable with one call. More...
 
int nc_put_var_ushort (int ncid, int varid, const unsigned short *op)
 Write an entire variable with one call. More...
 
int nc_put_var_uint (int ncid, int varid, const unsigned int *op)
 Write an entire variable with one call. More...
 
int nc_put_var_longlong (int ncid, int varid, const long long *op)
 Write an entire variable with one call. More...
 
int nc_put_var_ulonglong (int ncid, int varid, const unsigned long long *op)
 Write an entire variable with one call. More...
 
int nc_put_var_string (int ncid, int varid, const char **op)
 Write an entire variable with one call. More...
 
int nc_put_vars (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const void *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_text (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const char *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const signed char *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned char *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_short (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const short *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_int (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const int *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_long (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const long *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_float (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const float *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_double (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const double *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned char *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned short *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned int *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const long long *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const unsigned long long *op)
 Write a strided array of values to a variable. More...
 
int nc_put_vars_string (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const char **op)
 Write a strided array of values to a variable. More...
 
int nc_put_varm (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const void *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_text (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const char *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_schar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const signed char *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_uchar (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned char *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_short (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const short *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_int (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const int *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_long (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const long *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_float (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const float *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_double (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const double *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_ubyte (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned char *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_ushort (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned short *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_uint (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned int *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_longlong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const long long *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_ulonglong (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const unsigned long long *op)
 Write a mapped array of values to a variable. More...
 
int nc_put_varm_string (int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, const ptrdiff_t *imapp, const char **op)
 Write a mapped array of values to a variable. More...
 

Detailed Description


Variables hold multi-dimensional arrays of data.

Variables for a netCDF dataset are defined when the dataset is created, while the netCDF dataset is in define mode. Other variables may be added later by reentering define mode. A netCDF variable has a name, a type, and a shape, which are specified when it is defined. A variable may also have values, which are established later in data mode.

Ordinarily, the name, type, and shape are fixed when the variable is first defined. The name may be changed, but the type and shape of a variable cannot be changed. However, a variable defined in terms of the unlimited dimension can grow without bound in that dimension.

A netCDF variable in an open netCDF dataset is referred to by a small integer called a variable ID.

Variable IDs reflect the order in which variables were defined within a netCDF dataset. Variable IDs are 0, 1, 2,..., in the order in which the variables were defined. A function is available for getting the variable ID from the variable name and vice-versa.

Attributes (see Attributes) may be associated with a variable to specify such properties as units.

Operations supported on variables are:

Language Types Corresponding to netCDF

External Data Types

NetCDF supported six atomic data types through version 3.6.0 (char, byte, short, int, float, and double). Starting with version 4.0, many new atomic and user defined data types are supported (unsigned int types, strings, compound types, variable length arrays, enums, opaque).

The additional data types are only supported in netCDF-4/HDF5 files. To create netCDF-4/HDF5 files, use the HDF5 flag in nc_create. (see nc_create).

NetCDF-3 Classic and 64-Bit Offset Data Types

NetCDF-3 classic and 64-bit offset files support 6 atomic data types, and none of the user defined datatype introduced in NetCDF-4.

The following table gives the netCDF-3 external data types and the corresponding type constants for defining variables in the C interface:

TypeC defineBits
byteNC_BYTE8
charNC_CHAR8
shortNC_SHORT16
intNC_INT32
floatNC_FLOAT32
doubleNC_DOUBLE64

The first column gives the netCDF external data type, which is the same as the CDL data type. The next column gives the corresponding C pre-processor macro for use in netCDF functions (the pre-processor macros are defined in the netCDF C header-file netcdf.h). The last column gives the number of bits used in the external representation of values of the corresponding type.

NetCDF-4 Atomic Types

NetCDF-4 files support all of the atomic data types from netCDF-3, plus additional unsigned integer types, 64-bit integer types, and a string type.

TypeC define

Bits

byteNC_BYTE8
unsigned byte NC_UBYTE^8
char NC_CHAR 8
short NC_SHORT 16
unsigned short NC_USHORT^ 16
int NC_INT 32
unsigned int NC_UINT^ 32
unsigned long long NC_UINT64^ 64
long long NC_INT64^ 64
float NC_FLOAT 32
double NC_DOUBLE 64
char ** NC_STRING^ string length + 1

^This type was introduced in netCDF-4, and is not supported in netCDF classic or 64-bit offset format files, or in netCDF-4 files if they are created with the NC_CLASSIC_MODEL flags.

Function Documentation

◆ nc_def_var()

int nc_def_var ( int  ncid,
const char *  name,
nc_type  xtype,
int  ndims,
const int *  dimidsp,
int *  varidp 
)


Define a new variable.

This function adds a new variable to an open netCDF dataset or group. It returns (as an argument) a variable ID, given the netCDF ID, the variable name, the variable type, the number of dimensions, and a list of the dimension IDs.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
nameVariable NetCDF Names.
xtypeData Types of the variable.
ndimsNumber of dimensions for the variable. For example, 2 specifies a matrix, 1 specifies a vector, and 0 means the variable is a scalar with no dimensions. Must not be negative or greater than the predefined constant NC_MAX_VAR_DIMS.
dimidspVector of ndims dimension IDs corresponding to the variable dimensions. For classic model netCDF files, if the ID of the unlimited dimension is included, it must be first. This argument is ignored if ndims is 0. For expanded model netCDF4/HDF5 files, there may be any number of unlimited dimensions, and they may be used in any element of the dimids array.
varidpPointer to location for the returned variable ID.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTINDEFINE Not in define mode.
NC_ESTRICTNC3 Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
NC_EMAXVARS NC_MAX_VARS exceeded [Not enforced after 4.5.0]
NC_EBADTYPE Bad type.
NC_EINVAL Invalid input.
NC_ENAMEINUSE Name already in use.
NC_EPERM Attempt to create object in read-only file.

Example

Here is an example using nc_def_var to create a variable named rh of type double with three dimensions, time, lat, and lon in a new netCDF dataset named foo.nc:

#include <netcdf.h>
...
int status;
int ncid;
int lat_dim, lon_dim, time_dim;
int rh_id;
int rh_dimids[3];
...
status = nc_create("foo.nc", NC_NOCLOBBER, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_def_dim(ncid, "lat", 5L, &lat_dim);
if (status != NC_NOERR) handle_error(status);
status = nc_def_dim(ncid, "lon", 10L, &lon_dim);
if (status != NC_NOERR) handle_error(status);
status = nc_def_dim(ncid, "time", NC_UNLIMITED, &time_dim);
if (status != NC_NOERR) handle_error(status);
...
rh_dimids[0] = time_dim;
rh_dimids[1] = lat_dim;
rh_dimids[2] = lon_dim;
status = nc_def_var (ncid, "rh", NC_DOUBLE, 3, rh_dimids, &rh_id);
if (status != NC_NOERR) handle_error(status);
Author
Glenn Davis, Ed Hartnett, Dennis Heimbigner

Definition at line 209 of file dvar.c.

◆ nc_def_var_chunking()

int nc_def_var_chunking ( int  ncid,
int  varid,
int  storage,
const size_t *  chunksizesp 
)

Define chunking parameters for a variable.

The function nc_def_var_chunking sets the chunking parameters for a variable in a netCDF-4 file. It can set the chunk sizes to get chunked storage, or it can set the contiguous flag to get contiguous storage.

The total size of a chunk must be less than 4 GiB. That is, the product of all chunksizes and the size of the data (or the size of nc_vlen_t for VLEN types) must be less than 4 GiB.

This function may only be called after the variable is defined, but before nc_enddef is called. Once the chunking parameters are set for a variable, they cannot be changed.

Note that this does not work for scalar variables. Only non-scalar variables can have chunking.

Parameters
[in]ncidNetCDF ID, from a previous call to nc_open or nc_create.
[in]varidVariable ID.
[in]storageIf NC_CONTIGUOUS, then contiguous storage is used for this variable. Variables with one or more unlimited dimensions cannot use contiguous storage. If contiguous storage is turned on, the chunksizes parameter is ignored. If NC_CHUNKED, then chunked storage is used for this variable. Chunk sizes may be specified with the chunksizes parameter or default sizes will be used if that parameter is NULL.
[in]chunksizespA pointer to an array list of chunk sizes. The array must have one chunksize for each dimension of the variable. If NC_CONTIGUOUS storage is set, then the chunksizes parameter is ignored.
Returns
NC_NOERR No error.
NC_EBADID Bad ID.
NC_ENOTNC4 Not a netCDF-4 file.
NC_ELATEDEF This variable has already been the subject of a nc_enddef call. In netCDF-4 files nc_enddef will be called automatically for any data read or write. Once nc_enddef has been called after the nc_def_var call for a variable, it is impossible to set the chunking for that variable.
NC_ENOTINDEFINE Not in define mode. This is returned for netCDF classic or 64-bit offset files, or for netCDF-4 files, when they wwere created with NC_STRICT_NC3 flag. See nc_create.
NC_EPERM Attempt to create object in read-only file.
NC_EBADCHUNK Retunrs if the chunk size specified for a variable is larger than the length of the dimensions associated with variable.

Example

In this example from libsrc4/tst_vars2.c, chunksizes are set with nc_var_def_chunking, and checked with nc_var_inq_chunking.

printf("**** testing chunking...");
{
#define NDIMS5 1
#define DIM5_NAME "D5"
#define VAR_NAME5 "V5"
#define DIM5_LEN 1000
int dimids[NDIMS5], dimids_in[NDIMS5];
int varid;
int ndims, nvars, natts, unlimdimid;
nc_type xtype_in;
char name_in[NC_MAX_NAME + 1];
int data[DIM5_LEN], data_in[DIM5_LEN];
size_t chunksize[NDIMS5] = {5};
size_t chunksize_in[NDIMS5];
int storage_in;
int i, d;
for (i = 0; i < DIM5_LEN; i++)
data[i] = i;
if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
if (nc_def_dim(ncid, DIM5_NAME, DIM5_LEN, &dimids[0])) ERR;
if (nc_def_var(ncid, VAR_NAME5, NC_INT, NDIMS5, dimids, &varid)) ERR;
if (nc_def_var_chunking(ncid, varid, NC_CHUNKED, chunksize)) ERR;
if (nc_put_var_int(ncid, varid, data)) ERR;
if (nc_inq_var_chunking(ncid, varid, &storage_in, chunksize_in)) ERR;
for (d = 0; d < NDIMS5; d++)
if (chunksize[d] != chunksize_in[d]) ERR;
if (storage_in != NC_CHUNKED) ERR;

Definition at line 998 of file dvar.c.

◆ nc_def_var_deflate()

int nc_def_var_deflate ( int  ncid,
int  varid,
int  shuffle,
int  deflate,
int  deflate_level 
)



Set the compression settings for a netCDF-4/HDF5 variable.

This function must be called after nc_def_var and before nc_enddef or any functions which writes data to the file.

Deflation and shuffline require chunked data. If this function is called on a variable with contigious data, then the data is changed to chunked data, with default chunksizes. Use nc_def_var_chunking() to tune performance with user-defined chunksizes.

If this function is called on a scalar variable, it is ignored.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
shuffleTrue to turn on the shuffle filter. The shuffle filter can assist with the compression of integer data by changing the byte order in the data stream. It makes no sense to use the shuffle filter without setting a deflate level, or to use shuffle on non-integer data.
deflateTrue to turn on deflation for this variable.
deflate_levelA number between 0 (no compression) and 9 (maximum compression).
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.
NC_ENOTNC4 Attempting netcdf-4 operation on file that is not netCDF-4/HDF5.
NC_ESTRICTNC3 Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
NC_ELATEDEF Too late to change settings for this variable.
NC_ENOTINDEFINE Not in define mode.
NC_EPERM File is read only.
NC_EMAXDIMS Classic model file exceeds NC_MAX_VAR_DIMS.
NC_ESTRICTNC3 Attempting to create netCDF-4 type var in classic model file
NC_EBADTYPE Bad type.
NC_ENOMEM Out of memory.
NC_EHDFERR Error returned by HDF5 layer.
NC_EINVAL Invalid input. Deflate can't be set unless variable storage is NC_CHUNK.

Example

Here is an example from /examples/C/simple_xy_nc4_wr.c using nc_def_var_deflate to create a variable and then turn on the shuffle filter and compression.

#include <netcdf.h>
#define NDIMS 2
#define NX 6
#define NY 12
int ncid, x_dimid, y_dimid, varid;
int dimids[NDIMS];
int shuffle, deflate, deflate_level;
int data_out[NX][NY];
int x, y, retval;
shuffle = NC_SHUFFLE;
deflate = 1;
deflate_level = 1;
...
if ((retval = nc_create(FILE_NAME, NC_NETCDF4, &ncid)))
ERR(retval);
if ((retval = nc_def_dim(ncid, "x", NX, &x_dimid)))
ERR(retval);
if ((retval = nc_def_dim(ncid, "y", NY, &y_dimid)))
ERR(retval);
dimids[0] = x_dimid;
dimids[1] = y_dimid;
if ((retval = nc_def_var(ncid, "data", NC_INT, NDIMS,
dimids, &varid)))
ERR(retval);
...
if ((retval = nc_def_var_deflate(ncid, varid, shuffle, deflate,
deflate_level)))
ERR(retval);
...
Author
Ed Hartnett, Dennis Heimbigner

Definition at line 857 of file dvar.c.

◆ nc_def_var_endian()

int nc_def_var_endian ( int  ncid,
int  varid,
int  endian 
)


Define endianness of a variable.

With this function the endianness (i.e. order of bits in integers) can be changed on a per-variable basis. By default, the endianness is the same as the default endianness of the platform. But with nc_def_var_endianness the endianness can be explicitly set for a variable.

This function may only be called after the variable is defined, but before nc_enddef is called.

Parameters
[in]ncidNetCDF ID, from a previous call to nc_open or nc_create.
[in]varidVariable ID.
[in]endianNC_ENDIAN_NATIVE to select the native endianness of the platform (the default), NC_ENDIAN_LITTLE to use little-endian, NC_ENDIAN_BIG to use big-endian.
Returns
NC_NOERR No error.
NC_EBADID Bad ID.
NC_ENOTNC4 Not a netCDF-4 file.
NC_ELATEDEF This variable has already been the subject of a nc_enddef call. In netCDF-4 files nc_enddef will be called automatically for any data read or write. Once nc_enddef has been called after the nc_def_var call for a variable, it is impossible to set the chunking for that variable.
NC_ENOTINDEFINE Not in define mode. This is returned for netCDF classic or 64-bit offset files, or for netCDF-4 files, when they wwere created with NC_STRICT_NC3 flag. See nc_create.
NC_EPERM Attempt to create object in read-only file.

Example

In this example from libsrc4/tst_vars2.c, a variable is created, and the endianness set to NC_ENDIAN_BIG.

#define NDIMS4 1
#define DIM4_NAME "Joe"
#define VAR_NAME4 "Ed"
#define DIM4_LEN 10
{
int dimids[NDIMS4], dimids_in[NDIMS4];
int varid;
int ndims, nvars, natts, unlimdimid;
nc_type xtype_in;
char name_in[NC_MAX_NAME + 1];
int data[DIM4_LEN], data_in[DIM4_LEN];
int endian_in;
int i;
for (i = 0; i < DIM4_LEN; i++)
data[i] = i;
if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
if (nc_def_dim(ncid, DIM4_NAME, DIM4_LEN, &dimids[0])) ERR;
if (dimids[0] != 0) ERR;
if (nc_def_var(ncid, VAR_NAME4, NC_INT, NDIMS4, dimids, &varid)) ERR;
if (nc_def_var_endian(ncid, varid, NC_ENDIAN_BIG)) ERR;
Author
Ed Hartnett

Definition at line 1076 of file dvar.c.

◆ nc_def_var_fill()

int nc_def_var_fill ( int  ncid,
int  varid,
int  no_fill,
const void *  fill_value 
)

Set the fill value for a variable.

Parameters
ncidNetCDF ID, from a previous call to nc_open or nc_create.
varidVariable ID.
no_fillSet to NC_NOFILL to turn off fill mode for this variable. Set to NC_FILL (the default) to turn on fill mode for the variable.
fill_valuethe fill value to be used for this variable. Must be the same type as the variable. This must point to enough free memory to hold one element of the data type of the variable. (For example, an NC_INT will require 4 bytes for it's fill value, which is also an NC_INT.)
Returns
NC_NOERR No error.
NC_EBADID Bad ID.
NC_ENOTINDEFINE Not in define mode. This is returned for netCDF classic, 64-bit offset, or 64-bit data files, or for netCDF-4 files, when they were created with NC_STRICT_NC3 flag. See nc_create.
NC_EPERM Attempt to create object in read-only file.

Example

In this example from libsrc4/tst_vars.c, a variable is defined, and the fill mode turned off. Then nc_inq_fill() is used to check that the setting is correct. Then some data are written to the variable. Since the data that are written do not cover the full extent of the variable, the missing values will just be random. If fill value mode was turned on, the missing values would get the fill value.

#define DIM7_LEN 2
#define DIM7_NAME "dim_7_from_Indiana"
#define VAR7_NAME "var_7_from_Idaho"
#define NDIMS 1
int dimids[NDIMS];
size_t index[NDIMS];
int varid;
int no_fill;
unsigned short ushort_data = 42, ushort_data_in, fill_value_in;
if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
if (nc_def_dim(ncid, DIM7_NAME, DIM7_LEN, &dimids[0])) ERR;
if (nc_def_var(ncid, VAR7_NAME, NC_USHORT, NDIMS, dimids,
&varid)) ERR;
if (nc_def_var_fill(ncid, varid, 1, NULL)) ERR;
if (nc_inq_var_fill(ncid, varid, &no_fill, &fill_value_in)) ERR;
if (!no_fill) ERR;
index[0] = 1;
if (nc_put_var1_ushort(ncid, varid, index, &ushort_data)) ERR;
index[0] = 0;
if (nc_get_var1_ushort(ncid, varid, index, &ushort_data_in)) ERR;
if (nc_close(ncid)) ERR;

Definition at line 613 of file dvar.c.

◆ nc_def_var_fletcher32()

int nc_def_var_fletcher32 ( int  ncid,
int  varid,
int  fletcher32 
)



Set checksum for a var.

This function must be called after nc_def_var and before nc_enddef or any functions which writes data to the file.

Checksums require chunked data. If this function is called on a variable with contigious data, then the data is changed to chunked data, with default chunksizes. Use nc_def_var_chunking() to tune performance with user-defined chunksizes.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
fletcher32True to turn on Fletcher32 checksums for this variable.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.
NC_ENOTNC4 Attempting netcdf-4 operation on file that is not netCDF-4/HDF5.
NC_ESTRICTNC3 Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
NC_ELATEDEF Too late to change settings for this variable.
NC_EINVAL Invalid input
Author
Ed Hartnett, Dennis Heimbigner

Definition at line 897 of file dvar.c.

◆ nc_free_string()

int nc_free_string ( size_t  len,
char **  data 
)

Free string space allocated by the library.

When you read string type the library will allocate the storage space for the data. This storage space must be freed, so pass the pointer back to this function, when you're done with the data, and it will free the string memory.

Parameters
lenThe number of character arrays in the array.
dataThe pointer to the data array.
Returns
NC_NOERR No error.

Definition at line 755 of file dvar.c.

◆ NC_get_var()

static int NC_get_var ( int  ncid,
int  varid,
void *  value,
nc_type  memtype 
)
static


Get data for a variable.

Parameters
ncidNetCDF or group ID.
varidVariable ID
valuePointer where the data will be copied. Memory must be allocated by the user before this function is called.
memtypethe NC type of the data after it is read into memory. Data are converted from the variable's type to the memtype as they are read.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 146 of file dvarget.c.

◆ nc_get_var()

int nc_get_var ( int  ncid,
int  varid,
void *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1129 of file dvarget.c.

◆ nc_get_var1()

int nc_get_var1 ( int  ncid,
int  varid,
const size_t *  indexp,
void *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 943 of file dvarget.c.

◆ nc_get_var1_double()

int nc_get_var1_double ( int  ncid,
int  varid,
const size_t *  indexp,
double *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1014 of file dvarget.c.

◆ nc_get_var1_float()

int nc_get_var1_float ( int  ncid,
int  varid,
const size_t *  indexp,
float *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1004 of file dvarget.c.

◆ nc_get_var1_int()

int nc_get_var1_int ( int  ncid,
int  varid,
const size_t *  indexp,
int *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 985 of file dvarget.c.

◆ nc_get_var1_long()

int nc_get_var1_long ( int  ncid,
int  varid,
const size_t *  indexp,
long *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 994 of file dvarget.c.

◆ nc_get_var1_longlong()

int nc_get_var1_longlong ( int  ncid,
int  varid,
const size_t *  indexp,
long long *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1054 of file dvarget.c.

◆ nc_get_var1_schar()

int nc_get_var1_schar ( int  ncid,
int  varid,
const size_t *  indexp,
signed char *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 958 of file dvarget.c.

◆ nc_get_var1_short()

int nc_get_var1_short ( int  ncid,
int  varid,
const size_t *  indexp,
short *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 976 of file dvarget.c.

◆ nc_get_var1_string()

int nc_get_var1_string ( int  ncid,
int  varid,
const size_t *  indexp,
char **  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1075 of file dvarget.c.

◆ nc_get_var1_text()

int nc_get_var1_text ( int  ncid,
int  varid,
const size_t *  indexp,
char *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 949 of file dvarget.c.

◆ nc_get_var1_ubyte()

int nc_get_var1_ubyte ( int  ncid,
int  varid,
const size_t *  indexp,
unsigned char *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1024 of file dvarget.c.

◆ nc_get_var1_uchar()

int nc_get_var1_uchar ( int  ncid,
int  varid,
const size_t *  indexp,
unsigned char *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 967 of file dvarget.c.

◆ nc_get_var1_uint()

int nc_get_var1_uint ( int  ncid,
int  varid,
const size_t *  indexp,
unsigned int *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1044 of file dvarget.c.

◆ nc_get_var1_ulonglong()

int nc_get_var1_ulonglong ( int  ncid,
int  varid,
const size_t *  indexp,
unsigned long long *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1064 of file dvarget.c.

◆ nc_get_var1_ushort()

int nc_get_var1_ushort ( int  ncid,
int  varid,
const size_t *  indexp,
unsigned short *  ip 
)

Read a single datum from a variable.

Inputs are the netCDF ID, the variable ID, a multidimensional index that specifies which value to get, and the address of a location into which the data value will be read. The value is converted from the external data type of the variable, if necessary.

The nc_get_var1() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_var1_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1034 of file dvarget.c.

◆ nc_get_var_chunk_cache()

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.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
sizepThe total size of the raw data chunk cache, in bytes, will be put here. Ignored if NULL.
nelemspThe number of chunk slots in the raw data chunk cache hash table will be put here. Ignored if NULL.
preemptionpThe preemption will be put here. The preemtion value is between 0 and 1 inclusive and indicates how much chunks that have been fully read are favored for preemption. A value of zero means fully read chunks are treated no differently than other chunks (the preemption is strictly LRU) while a value of one means fully read chunks are always preempted before other chunks. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.
NC_ESTRICTNC3 Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
NC_EINVAL Invalid input

Definition at line 731 of file dvar.c.

◆ nc_get_var_double()

int nc_get_var_double ( int  ncid,
int  varid,
double *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1198 of file dvarget.c.

◆ nc_get_var_float()

int nc_get_var_float ( int  ncid,
int  varid,
float *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
pres_temp_4D_rd.c, and sfc_pres_temp_rd.c.

Definition at line 1189 of file dvarget.c.

◆ nc_get_var_int()

int nc_get_var_int ( int  ncid,
int  varid,
int *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
simple_xy_nc4_rd.c, and simple_xy_rd.c.

Definition at line 1171 of file dvarget.c.

◆ nc_get_var_long()

int nc_get_var_long ( int  ncid,
int  varid,
long *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1180 of file dvarget.c.

◆ nc_get_var_longlong()

int nc_get_var_longlong ( int  ncid,
int  varid,
long long *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1234 of file dvarget.c.

◆ nc_get_var_schar()

int nc_get_var_schar ( int  ncid,
int  varid,
signed char *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1144 of file dvarget.c.

◆ nc_get_var_short()

int nc_get_var_short ( int  ncid,
int  varid,
short *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1162 of file dvarget.c.

◆ nc_get_var_string()

int nc_get_var_string ( int  ncid,
int  varid,
char **  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1253 of file dvarget.c.

◆ nc_get_var_text()

int nc_get_var_text ( int  ncid,
int  varid,
char *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1135 of file dvarget.c.

◆ nc_get_var_ubyte()

int nc_get_var_ubyte ( int  ncid,
int  varid,
unsigned char *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1207 of file dvarget.c.

◆ nc_get_var_uchar()

int nc_get_var_uchar ( int  ncid,
int  varid,
unsigned char *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1153 of file dvarget.c.

◆ nc_get_var_uint()

int nc_get_var_uint ( int  ncid,
int  varid,
unsigned int *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1225 of file dvarget.c.

◆ nc_get_var_ulonglong()

int nc_get_var_ulonglong ( int  ncid,
int  varid,
unsigned long long *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
simple_nc4_rd.c.

Definition at line 1243 of file dvarget.c.

◆ nc_get_var_ushort()

int nc_get_var_ushort ( int  ncid,
int  varid,
unsigned short *  ip 
)

Read an entire variable in one call.

This function will read all the values from a netCDF variable of an open netCDF dataset.

This is the simplest interface to use for reading the value of a scalar variable or when all the values of a multidimensional variable can be read at once. The values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to read all the values of a record variable into an array but there are more records in the file than you assume, more data will be read than you expect, which may cause a segmentation violation. To avoid such problems, it is better to use the nc_get_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_var() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1216 of file dvarget.c.

◆ nc_get_vara()

int nc_get_vara ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
void *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 747 of file dvarget.c.

◆ nc_get_vara_double()

int nc_get_vara_double ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
double *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 835 of file dvarget.c.

◆ nc_get_vara_float()

int nc_get_vara_float ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
float *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);
Examples:
pres_temp_4D_rd.c.

Definition at line 824 of file dvarget.c.

◆ nc_get_vara_int()

int nc_get_vara_int ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
int *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 804 of file dvarget.c.

◆ nc_get_vara_long()

int nc_get_vara_long ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
long *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 814 of file dvarget.c.

◆ nc_get_vara_longlong()

int nc_get_vara_longlong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
long long *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 875 of file dvarget.c.

◆ nc_get_vara_schar()

int nc_get_vara_schar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
signed char *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 771 of file dvarget.c.

◆ nc_get_vara_short()

int nc_get_vara_short ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
short *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 793 of file dvarget.c.

◆ nc_get_vara_string()

int nc_get_vara_string ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
char **  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 896 of file dvarget.c.

◆ nc_get_vara_text()

int nc_get_vara_text ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
char *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 760 of file dvarget.c.

◆ nc_get_vara_ubyte()

int nc_get_vara_ubyte ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
unsigned char *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 845 of file dvarget.c.

◆ nc_get_vara_uchar()

int nc_get_vara_uchar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
unsigned char *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 782 of file dvarget.c.

◆ nc_get_vara_uint()

int nc_get_vara_uint ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
unsigned int *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 865 of file dvarget.c.

◆ nc_get_vara_ulonglong()

int nc_get_vara_ulonglong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
unsigned long long *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 885 of file dvarget.c.

◆ nc_get_vara_ushort()

int nc_get_vara_ushort ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
unsigned short *  ip 
)

Read an array of values from a variable.

The array to be read is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The data values are read into consecutive locations with the last dimension varying fastest. The netCDF dataset must be in data mode (for netCDF-4/HDF5 files, the switch to data mode will happen automatically, unless the classic model is used).

The nc_get_vara() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Other nc_get_vara_ functions will convert data to the desired output type as needed.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Example

Here is an example using nc_get_vara_double() to read all the values of the variable named rh from an existing netCDF dataset named foo.nc. For simplicity in this example, we assume that we know that rh is dimensioned with time, lat, and lon, and that there are three time values, five lat values, and ten lon values.

#include <netcdf.h>
...
#define TIMES 3
#define LATS 5
#define LONS 10
int status;
int ncid;
int rh_id;
static size_t start[] = {0, 0, 0};
static size_t count[] = {TIMES, LATS, LONS};
double rh_vals[TIMES*LATS*LONS];
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
...
status = nc_get_vara_double(ncid, rh_id, start, count, rh_vals);
if (status != NC_NOERR) handle_error(status);

Definition at line 855 of file dvarget.c.

◆ NC_get_varm()

static int NC_get_varm ( int  ncid,
int  varid,
const size_t *  start,
const size_t *  edges,
const ptrdiff_t *  stride,
const ptrdiff_t *  map,
void *  value,
nc_type  memtype 
)
static


Called by externally visible nc_get_varm_xxx routines.

Note that the varm routines are deprecated. Use the vars routines instead for new code.

Parameters
ncidNetCDF or group ID.
varidVariable ID
startstart indices.
edgescount indices.
stridedata strides.
mapmapping of dimensions.
valuePointer where the data will be copied. Memory must be allocated by the user before this function is called.
memtypethe NC type of the data after it is read into memory. Data are converted from the variable's type to the memtype as they are read.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 653 of file dvarget.c.

◆ nc_get_varm()

int nc_get_varm ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
void *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1545 of file dvarget.c.

◆ nc_get_varm_double()

int nc_get_varm_double ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
double *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1631 of file dvarget.c.

◆ nc_get_varm_float()

int nc_get_varm_float ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
float *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1619 of file dvarget.c.

◆ nc_get_varm_int()

int nc_get_varm_int ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
int *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1595 of file dvarget.c.

◆ nc_get_varm_long()

int nc_get_varm_long ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
long *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1607 of file dvarget.c.

◆ nc_get_varm_longlong()

int nc_get_varm_longlong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
long long *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1682 of file dvarget.c.

◆ nc_get_varm_schar()

int nc_get_varm_schar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
signed char *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1559 of file dvarget.c.

◆ nc_get_varm_short()

int nc_get_varm_short ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
short *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1584 of file dvarget.c.

◆ nc_get_varm_string()

int nc_get_varm_string ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
char **  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1720 of file dvarget.c.

◆ nc_get_varm_text()

int nc_get_varm_text ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
char *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1707 of file dvarget.c.

◆ nc_get_varm_ubyte()

int nc_get_varm_ubyte ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
unsigned char *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1643 of file dvarget.c.

◆ nc_get_varm_uchar()

int nc_get_varm_uchar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
unsigned char *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1572 of file dvarget.c.

◆ nc_get_varm_uint()

int nc_get_varm_uint ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
unsigned int *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1669 of file dvarget.c.

◆ nc_get_varm_ulonglong()

int nc_get_varm_ulonglong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
unsigned long long *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1694 of file dvarget.c.

◆ nc_get_varm_ushort()

int nc_get_varm_ushort ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
unsigned short *  ip 
)

Read a mapped array from a variable.

The nc_get_varm_ type family of functions reads a mapped array section of values from a netCDF variable of an open netCDF dataset. The mapped array section is specified by giving a corner, a vector of edge lengths, a stride vector, and an index mapping vector. The index mapping vector is a vector of integers that specifies the mapping between the dimensions of a netCDF variable and the in-memory structure of the internal data array. No assumptions are made about the ordering or length of the dimensions of the data array. The netCDF dataset must be in data mode.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_get_varm() function will only read a variable of an atomic type; it will not read user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1656 of file dvarget.c.

◆ NC_get_vars()

static int NC_get_vars ( int  ncid,
int  varid,
const size_t *  start,
const size_t *  edges,
const ptrdiff_t *  stride,
void *  value,
nc_type  memtype 
)
static


Called by externally visible nc_get_vars_xxx routines.

Parameters
ncidNetCDF or group ID.
varidVariable ID
startstart indices.
edgescount indices.
stridedata strides.
valuePointer where the data will be copied. Memory must be allocated by the user before this function is called.
memtypethe NC type of the data after it is read into memory. Data are converted from the variable's type to the memtype as they are read.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 602 of file dvarget.c.

◆ nc_get_vars()

int nc_get_vars ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
void *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1304 of file dvarget.c.

◆ nc_get_vars_double()

int nc_get_vars_double ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
double *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1402 of file dvarget.c.

◆ nc_get_vars_float()

int nc_get_vars_float ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
float *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1390 of file dvarget.c.

◆ nc_get_vars_int()

int nc_get_vars_int ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
int *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1366 of file dvarget.c.

◆ nc_get_vars_long()

int nc_get_vars_long ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
long *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1378 of file dvarget.c.

◆ nc_get_vars_longlong()

int nc_get_vars_longlong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
long long *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1450 of file dvarget.c.

◆ nc_get_vars_schar()

int nc_get_vars_schar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
signed char *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1330 of file dvarget.c.

◆ nc_get_vars_short()

int nc_get_vars_short ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
short *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1354 of file dvarget.c.

◆ nc_get_vars_string()

int nc_get_vars_string ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
char **  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1475 of file dvarget.c.

◆ nc_get_vars_text()

int nc_get_vars_text ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
char *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1318 of file dvarget.c.

◆ nc_get_vars_ubyte()

int nc_get_vars_ubyte ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
unsigned char *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1414 of file dvarget.c.

◆ nc_get_vars_uchar()

int nc_get_vars_uchar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
unsigned char *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1342 of file dvarget.c.

◆ nc_get_vars_uint()

int nc_get_vars_uint ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
unsigned int *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1438 of file dvarget.c.

◆ nc_get_vars_ulonglong()

int nc_get_vars_ulonglong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
unsigned long long *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1462 of file dvarget.c.

◆ nc_get_vars_ushort()

int nc_get_vars_ushort ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
unsigned short *  ip 
)

Read a strided array from a variable.

This function reads a subsampled (strided) array section of values from a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of edge lengths, and a stride vector. The values are read with the last dimension of the netCDF variable varying fastest. The netCDF dataset must be in data mode.

The nc_get_vars() function will read a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
ipPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1426 of file dvarget.c.

◆ NC_inq_recvar()

int NC_inq_recvar ( int  ncid,
int  varid,
int *  nrecdimsp,
int *  is_recdim 
)


Definition at line 356 of file dvar.c.

◆ nc_inq_unlimdims()

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

◆ nc_inq_var()

int nc_inq_var ( int  ncid,
int  varid,
char *  name,
nc_type xtypep,
int *  ndimsp,
int *  dimidsp,
int *  nattsp 
)


Learn about a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
nameReturned NetCDF Names of variable. Ignored if NULL.
xtypepPointer where typeid will be stored. Ignored if NULL.
ndimspPointer where number of dimensions will be stored. Ignored if NULL.
dimidspPointer where array of dimension IDs will be stored. Ignored if NULL.
nattspPointer where number of attributes will be stored. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Example

Here is an example using nc_inq_var() to find out about a variable named rh in an existing netCDF dataset named foo.nc:

#include <netcdf.h>
...
int status
int ncid;
int rh_id;
nc_type rh_type;
int rh_ndims;
int rh_dimids[NC_MAX_VAR_DIMS];
int rh_natts
...
status = nc_open ("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
status = nc_inq_var (ncid, rh_id, 0, &rh_type, &rh_ndims, rh_dimids,
&rh_natts);
if (status != NC_NOERR) handle_error(status);

Definition at line 124 of file dvarinq.c.

◆ NC_inq_var_all()

int NC_inq_var_all ( int  ncid,
int  varid,
char *  name,
nc_type xtypep,
int *  ndimsp,
int *  dimidsp,
int *  nattsp,
int *  shufflep,
int *  deflatep,
int *  deflate_levelp,
int *  fletcher32p,
int *  contiguousp,
size_t *  chunksizesp,
int *  no_fill,
void *  fill_valuep,
int *  endiannessp,
unsigned int *  idp,
size_t *  nparamsp,
unsigned int *  params 
)


Learn all about a variable.

Parameters
[in]ncidncid for file.
[in]varidvarid for variable in question.
[out]namePointer to memory to contain the name of the variable.
[out]xtypepPointer to memory to contain the type of the variable.
[out]ndimspPointer to memory to store the number of associated dimensions for the variable.
[out]dimidspPointer to memory to store the dimids associated with the variable.
[out]nattspPointer to memory to store the number of attributes associated with the variable.
[out]shufflepPointer to memory to store shuffle information associated with the variable.
[out]deflatepPointer to memory to store compression type associated with the variable.
[out]deflate_levelpPointer to memory to store compression level associated with the variable.
[out]fletcher32pPointer to memory to store compression information associated with the variable.
[out]contiguouspPointer to memory to store contiguous-data information associated with the variable.
[out]chunksizespPointer to memory to store chunksize information associated with the variable.
[out]no_fillPointer to memory to store whether or not there is a fill value associated with the variable.
[out]fill_valuepPointer to memory to store the fill value (if one exists) for the variable.
[out]endiannesspPointer to memory to store endianness value. One of NC_ENDIAN_BIG NC_ENDIAN_LITTLE NC_ENDIAN_NATIVE
[out]idpPointer to memory to store filter id.
[out]nparamspPointer to memory to store filter parameter count.
[out]paramsPointer to vector of unsigned integers into which to store filter parameters.
Note
Expose access to nc_inq_var_all().
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Bad varid.
NC_ENOMEM Out of memory.
NC_EINVAL Invalid input.
Author
Ed Hartnett, Dennis Heimbigner

Definition at line 802 of file dvarinq.c.

◆ nc_inq_var_chunking()

int nc_inq_var_chunking ( int  ncid,
int  varid,
int *  storagep,
size_t *  chunksizesp 
)

This is a wrapper for nc_inq_var_all().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
storagepAddress of returned storage property, returned as NC_CONTIGUOUS if this variable uses contiguous storage, or NC_CHUNKED if it uses chunked storage. Ignored if NULL.
chunksizespThe chunksizes will be copied here. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTNC4 Not a netCDF-4 file.
NC_ENOTVAR Invalid variable ID.

Example

printf("**** testing contiguous storage...");
{
#define NDIMS6 1
#define DIM6_NAME "D5"
#define VAR_NAME6 "V5"
#define DIM6_LEN 100
int dimids[NDIMS6], dimids_in[NDIMS6];
int varid;
int ndims, nvars, natts, unlimdimid;
nc_type xtype_in;
char name_in[NC_MAX_NAME + 1];
int data[DIM6_LEN], data_in[DIM6_LEN];
size_t chunksize_in[NDIMS6];
int storage_in;
int i, d;
for (i = 0; i < DIM6_LEN; i++)
data[i] = i;
if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
if (nc_def_dim(ncid, DIM6_NAME, DIM6_LEN, &dimids[0])) ERR;
if (dimids[0] != 0) ERR;
if (nc_def_var(ncid, VAR_NAME6, NC_INT, NDIMS6, dimids, &varid)) ERR;
if (nc_def_var_chunking(ncid, varid, NC_CONTIGUOUS, NULL)) ERR;
if (nc_put_var_int(ncid, varid, data)) ERR;
if (nc_inq_var_chunking(ncid, 0, &storage_in, chunksize_in)) ERR;
if (storage_in != NC_CONTIGUOUS) ERR;

Definition at line 420 of file dvarinq.c.

◆ nc_inq_var_deflate()

int nc_inq_var_deflate ( int  ncid,
int  varid,
int *  shufflep,
int *  deflatep,
int *  deflate_levelp 
)

Learn the storage and deflate settings for a variable.

This is a wrapper for nc_inq_var_all().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
shufflepA 1 will be written here if the shuffle filter is turned on for this variable, and a 0 otherwise. Ignored if NULL.
deflatepIf this pointer is non-NULL, the nc_inq_var_deflate function will write a 1 if the deflate filter is turned on for this variable, and a 0 otherwise. Ignored if NULL.
deflate_levelpIf the deflate filter is in use for this variable, the deflate_level will be writen here. Ignored if NULL.
Returns
NC_NOERR No error.
NC_ENOTNC4 Not a netCDF-4 file.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 285 of file dvarinq.c.

◆ nc_inq_var_endian()

int nc_inq_var_endian ( int  ncid,
int  varid,
int *  endianp 
)

Find the endianness of a variable.

This is a wrapper for nc_inq_var_all().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
endianpStorage which will get NC_ENDIAN_LITTLE if this variable is stored in little-endian format, NC_ENDIAN_BIG if it is stored in big-endian format, and NC_ENDIAN_NATIVE if the endianness is not set, and the variable is not created yet.
Returns
NC_NOERR No error.
NC_ENOTNC4 Not a netCDF-4 file.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 504 of file dvarinq.c.

◆ nc_inq_var_fill()

int nc_inq_var_fill ( int  ncid,
int  varid,
int *  no_fill,
void *  fill_valuep 
)

Learn the fill mode of a variable.

The fill mode of a variable is set by nc_def_var_fill().

This is a wrapper for nc_inq_var_all().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
no_fillPointer to an integer which will get a 1 if no_fill mode is set for this variable. Ignored if NULL.
fill_valuepA pointer which will get the fill value for this variable. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 456 of file dvarinq.c.

◆ nc_inq_var_filter()

int nc_inq_var_filter ( int  ncid,
int  varid,
unsigned int *  idp,
size_t *  nparamsp,
unsigned int *  params 
)


Find the filter (if any) associated with a variable.

This is a wrapper for nc_inq_var_all().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
idpStorage which will get the filter id.
nparamspStorage which will get the number of parameters to the filter
paramsStorage which will get associated parameters. Note the caller must allocate and free.
Returns
NC_NOERR No error.
NC_ENOTNC4 Not a netCDF-4 file.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.
NC_EFILTER No filter defined.
Author
Dennis Heimbigner

Definition at line 636 of file dvarinq.c.

◆ nc_inq_var_fletcher32()

int nc_inq_var_fletcher32 ( int  ncid,
int  varid,
int *  fletcher32p 
)

Learn the checksum settings for a variable.

This is a wrapper for nc_inq_var_all().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
fletcher32pWill be set to NC_FLETCHER32 if the fletcher32 checksum filter is turned on for this variable, and NC_NOCHECKSUM if it is not. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTNC4 Not a netCDF-4 file.
NC_ENOTVAR Invalid variable ID.

Definition at line 333 of file dvarinq.c.

◆ nc_inq_var_szip()

int nc_inq_var_szip ( int  ncid,
int  varid,
int *  options_maskp,
int *  pixels_per_blockp 
)

Learn the szip settings of a variable.

Similar to nc_inq_var_deflate.

This function returns the szip settings for a variable. With the introduction of general filter support, szip inquiry is converted to use the filter interface.

This is a wrapper for nc_inq_var_filter().

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
options_maskpThe szip options mask will be copied to this pointer. Ignored if NULL.
pixels_per_blockpThe szip pixels per block will be copied here. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTNC4 Not a netCDF-4 file.
NC_ENOTVAR Invalid variable ID.
NC_EFILTER Variable is not szip encoded

Definition at line 690 of file dvarinq.c.

◆ nc_inq_vardimid()

int nc_inq_vardimid ( int  ncid,
int  varid,
int *  dimidsp 
)


Learn the dimension IDs associated with a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
dimidspPointer where array of dimension IDs will be stored. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 225 of file dvarinq.c.

◆ nc_inq_varid()

int nc_inq_varid ( int  ncid,
const char *  name,
int *  varidp 
)


Find the ID of a variable, from the name.

The function nc_inq_varid returns the ID of a netCDF variable, given its name.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
nameName of the variable.
varidpPointer to location for returned variable ID. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.

Example

Here is an example using nc_inq_varid to find out the ID of a variable named rh in an existing netCDF dataset named foo.nc:

#include <netcdf.h>
...
int status, ncid, rh_id;
...
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
...
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);

Definition at line 60 of file dvarinq.c.

◆ nc_inq_varname()

int nc_inq_varname ( int  ncid,
int  varid,
char *  name 
)


Learn the name of a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
nameReturned variable name. The caller must allocate space for the returned name. The maximum length is NC_MAX_NAME. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 156 of file dvarinq.c.

◆ nc_inq_varnatts()

int nc_inq_varnatts ( int  ncid,
int  varid,
int *  nattsp 
)


Learn how many attributes are associated with a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
nattspPointer where number of attributes will be stored. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 249 of file dvarinq.c.

◆ nc_inq_varndims()

int nc_inq_varndims ( int  ncid,
int  varid,
int *  ndimsp 
)


Learn how many dimensions are associated with a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
ndimspPointer where number of dimensions will be stored. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 202 of file dvarinq.c.

◆ nc_inq_vartype()

int nc_inq_vartype ( int  ncid,
int  varid,
nc_type typep 
)

Learn the type of a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
typepPointer where typeid will be stored. Ignored if NULL.
Returns
NC_NOERR No error.
NC_EBADID Bad ncid.
NC_ENOTVAR Invalid variable ID.

Definition at line 178 of file dvarinq.c.

◆ NC_is_recvar()

int NC_is_recvar ( int  ncid,
int  varid,
size_t *  nrecs 
)


Definition at line 310 of file dvar.c.

◆ nc_put_var()

int nc_put_var ( int  ncid,
int  varid,
const void *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 994 of file dvarput.c.

◆ nc_put_var1()

int nc_put_var1 ( int  ncid,
int  varid,
const size_t *  indexp,
const void *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 813 of file dvarput.c.

◆ nc_put_var1_double()

int nc_put_var1_double ( int  ncid,
int  varid,
const size_t *  indexp,
const double *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 882 of file dvarput.c.

◆ nc_put_var1_float()

int nc_put_var1_float ( int  ncid,
int  varid,
const size_t *  indexp,
const float *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 873 of file dvarput.c.

◆ nc_put_var1_int()

int nc_put_var1_int ( int  ncid,
int  varid,
const size_t *  indexp,
const int *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 855 of file dvarput.c.

◆ nc_put_var1_long()

int nc_put_var1_long ( int  ncid,
int  varid,
const size_t *  indexp,
const long *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 864 of file dvarput.c.

◆ nc_put_var1_longlong()

int nc_put_var1_longlong ( int  ncid,
int  varid,
const size_t *  indexp,
const long long *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 918 of file dvarput.c.

◆ nc_put_var1_schar()

int nc_put_var1_schar ( int  ncid,
int  varid,
const size_t *  indexp,
const signed char *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 828 of file dvarput.c.

◆ nc_put_var1_short()

int nc_put_var1_short ( int  ncid,
int  varid,
const size_t *  indexp,
const short *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 846 of file dvarput.c.

◆ nc_put_var1_string()

int nc_put_var1_string ( int  ncid,
int  varid,
const size_t *  indexp,
const char **  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 937 of file dvarput.c.

◆ nc_put_var1_text()

int nc_put_var1_text ( int  ncid,
int  varid,
const size_t *  indexp,
const char *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 819 of file dvarput.c.

◆ nc_put_var1_ubyte()

int nc_put_var1_ubyte ( int  ncid,
int  varid,
const size_t *  indexp,
const unsigned char *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 891 of file dvarput.c.

◆ nc_put_var1_uchar()

int nc_put_var1_uchar ( int  ncid,
int  varid,
const size_t *  indexp,
const unsigned char *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 837 of file dvarput.c.

◆ nc_put_var1_uint()

int nc_put_var1_uint ( int  ncid,
int  varid,
const size_t *  indexp,
const unsigned int *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 909 of file dvarput.c.

◆ nc_put_var1_ulonglong()

int nc_put_var1_ulonglong ( int  ncid,
int  varid,
const size_t *  indexp,
const unsigned long long *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 927 of file dvarput.c.

◆ nc_put_var1_ushort()

int nc_put_var1_ushort ( int  ncid,
int  varid,
const size_t *  indexp,
const unsigned short *  op 
)

Write one datum.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
indexpIndex vector with one element for each dimension.
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 900 of file dvarput.c.

◆ nc_put_var_double()

int nc_put_var_double ( int  ncid,
int  varid,
const double *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1063 of file dvarput.c.

◆ nc_put_var_float()

int nc_put_var_float ( int  ncid,
int  varid,
const float *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
pres_temp_4D_wr.c, and sfc_pres_temp_wr.c.

Definition at line 1054 of file dvarput.c.

◆ nc_put_var_int()

int nc_put_var_int ( int  ncid,
int  varid,
const int *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
simple_xy_nc4_wr.c, and simple_xy_wr.c.

Definition at line 1036 of file dvarput.c.

◆ nc_put_var_long()

int nc_put_var_long ( int  ncid,
int  varid,
const long *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1045 of file dvarput.c.

◆ nc_put_var_longlong()

int nc_put_var_longlong ( int  ncid,
int  varid,
const long long *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1099 of file dvarput.c.

◆ nc_put_var_schar()

int nc_put_var_schar ( int  ncid,
int  varid,
const signed char *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1009 of file dvarput.c.

◆ nc_put_var_short()

int nc_put_var_short ( int  ncid,
int  varid,
const short *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1027 of file dvarput.c.

◆ nc_put_var_string()

int nc_put_var_string ( int  ncid,
int  varid,
const char **  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1118 of file dvarput.c.

◆ nc_put_var_text()

int nc_put_var_text ( int  ncid,
int  varid,
const char *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1000 of file dvarput.c.

◆ nc_put_var_ubyte()

int nc_put_var_ubyte ( int  ncid,
int  varid,
const unsigned char *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1072 of file dvarput.c.

◆ nc_put_var_uchar()

int nc_put_var_uchar ( int  ncid,
int  varid,
const unsigned char *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1018 of file dvarput.c.

◆ nc_put_var_uint()

int nc_put_var_uint ( int  ncid,
int  varid,
const unsigned int *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1090 of file dvarput.c.

◆ nc_put_var_ulonglong()

int nc_put_var_ulonglong ( int  ncid,
int  varid,
const unsigned long long *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
simple_nc4_wr.c.

Definition at line 1108 of file dvarput.c.

◆ nc_put_var_ushort()

int nc_put_var_ushort ( int  ncid,
int  varid,
const unsigned short *  op 
)

Write an entire variable with one call.

The nc_put_var_ type family of functions write all the values of a variable into a netCDF variable of an open netCDF dataset. This is the simplest interface to use for writing a value in a scalar variable or whenever all the values of a multidimensional variable can all be written at once. The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The values are converted to the external data type of the variable, if necessary.

Take care when using this function with record variables (variables that use the NC_UNLIMITED dimension). If you try to write all the values of a record variable into a netCDF file that has no record data yet (hence has 0 records), nothing will be written. Similarly, if you try to write all the values of a record variable but there are more records in the file than you assume, more in-memory data will be accessed than you supply, which may result in a segmentation violation. To avoid such problems, it is better to use the nc_put_vara interfaces for variables that use the NC_UNLIMITED dimension.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
opPointer from where the data will be copied.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1081 of file dvarput.c.

◆ nc_put_vara()

int nc_put_vara ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const void *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 623 of file dvarput.c.

◆ nc_put_vara_double()

int nc_put_vara_double ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const double *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 710 of file dvarput.c.

◆ nc_put_vara_float()

int nc_put_vara_float ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const float *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.
Examples:
pres_temp_4D_wr.c.

Definition at line 699 of file dvarput.c.

◆ nc_put_vara_int()

int nc_put_vara_int ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const int *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 677 of file dvarput.c.

◆ nc_put_vara_long()

int nc_put_vara_long ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const long *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 688 of file dvarput.c.

◆ nc_put_vara_longlong()

int nc_put_vara_longlong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const long long *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 754 of file dvarput.c.

◆ nc_put_vara_schar()

int nc_put_vara_schar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const signed char *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 644 of file dvarput.c.

◆ nc_put_vara_short()

int nc_put_vara_short ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const short *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 666 of file dvarput.c.

◆ nc_put_vara_string()

int nc_put_vara_string ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const char **  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 777 of file dvarput.c.

◆ nc_put_vara_text()

int nc_put_vara_text ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const char *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 636 of file dvarput.c.

◆ nc_put_vara_ubyte()

int nc_put_vara_ubyte ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const unsigned char *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 721 of file dvarput.c.

◆ nc_put_vara_uchar()

int nc_put_vara_uchar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const unsigned char *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 655 of file dvarput.c.

◆ nc_put_vara_uint()

int nc_put_vara_uint ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const unsigned int *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 743 of file dvarput.c.

◆ nc_put_vara_ulonglong()

int nc_put_vara_ulonglong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const unsigned long long *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 765 of file dvarput.c.

◆ nc_put_vara_ushort()

int nc_put_vara_ushort ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const unsigned short *  op 
)

Write an array of values to a variable.

The values to be written are associated with the netCDF variable by assuming that the last dimension of the netCDF variable varies fastest in the C interface. The netCDF dataset must be in data mode. The array to be written is specified by giving a corner and a vector of edge lengths to Specify a Hyperslab.

The functions for types ubyte, ushort, uint, longlong, ulonglong, and string are only available for netCDF-4/HDF5 files.

The nc_put_var() function will write a variable of any type, including user defined type. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 732 of file dvarput.c.

◆ nc_put_varm()

int nc_put_varm ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const void *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1399 of file dvarput.c.

◆ nc_put_varm_double()

int nc_put_varm_double ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const double *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1503 of file dvarput.c.

◆ nc_put_varm_float()

int nc_put_varm_float ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const float *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1490 of file dvarput.c.

◆ nc_put_varm_int()

int nc_put_varm_int ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const int *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1464 of file dvarput.c.

◆ nc_put_varm_long()

int nc_put_varm_long ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const long *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1477 of file dvarput.c.

◆ nc_put_varm_longlong()

int nc_put_varm_longlong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const long long *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1555 of file dvarput.c.

◆ nc_put_varm_schar()

int nc_put_varm_schar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const signed char *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1425 of file dvarput.c.

◆ nc_put_varm_short()

int nc_put_varm_short ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const short *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1451 of file dvarput.c.

◆ nc_put_varm_string()

int nc_put_varm_string ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const char **  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1582 of file dvarput.c.

◆ nc_put_varm_text()

int nc_put_varm_text ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const char *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1413 of file dvarput.c.

◆ nc_put_varm_ubyte()

int nc_put_varm_ubyte ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const unsigned char *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1516 of file dvarput.c.

◆ nc_put_varm_uchar()

int nc_put_varm_uchar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const unsigned char *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1438 of file dvarput.c.

◆ nc_put_varm_uint()

int nc_put_varm_uint ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const unsigned int *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1542 of file dvarput.c.

◆ nc_put_varm_ulonglong()

int nc_put_varm_ulonglong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const unsigned long long *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1568 of file dvarput.c.

◆ nc_put_varm_ushort()

int nc_put_varm_ushort ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const ptrdiff_t *  imapp,
const unsigned short *  op 
)

Write a mapped array of values to a variable.

The nc_put_varm() function will only write a variable of an atomic type; it will not write user defined types. For this function, the type of the data in memory must match the type of the variable - no data conversion is done.

Deprecated:
Use of this family of functions is discouraged, although it will continue to be supported. The reason is the complexity of the algorithm makes its use difficult for users to properly use.
Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
imappMapping vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1529 of file dvarput.c.

◆ nc_put_vars()

int nc_put_vars ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const void *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1159 of file dvarput.c.

◆ nc_put_vars_double()

int nc_put_vars_double ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const double *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1262 of file dvarput.c.

◆ nc_put_vars_float()

int nc_put_vars_float ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const float *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1249 of file dvarput.c.

◆ nc_put_vars_int()

int nc_put_vars_int ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const int *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1223 of file dvarput.c.

◆ nc_put_vars_long()

int nc_put_vars_long ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const long *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1236 of file dvarput.c.

◆ nc_put_vars_longlong()

int nc_put_vars_longlong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const long long *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1314 of file dvarput.c.

◆ nc_put_vars_schar()

int nc_put_vars_schar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const signed char *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1185 of file dvarput.c.

◆ nc_put_vars_short()

int nc_put_vars_short ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const short *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1210 of file dvarput.c.

◆ nc_put_vars_string()

int nc_put_vars_string ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const char **  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1341 of file dvarput.c.

◆ nc_put_vars_text()

int nc_put_vars_text ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const char *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1173 of file dvarput.c.

◆ nc_put_vars_ubyte()

int nc_put_vars_ubyte ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const unsigned char *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1275 of file dvarput.c.

◆ nc_put_vars_uchar()

int nc_put_vars_uchar ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const unsigned char *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1197 of file dvarput.c.

◆ nc_put_vars_uint()

int nc_put_vars_uint ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const unsigned int *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1301 of file dvarput.c.

◆ nc_put_vars_ulonglong()

int nc_put_vars_ulonglong ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const unsigned long long *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1327 of file dvarput.c.

◆ nc_put_vars_ushort()

int nc_put_vars_ushort ( int  ncid,
int  varid,
const size_t *  startp,
const size_t *  countp,
const ptrdiff_t *  stridep,
const unsigned short *  op 
)

Write a strided array of values to a variable.

Parameters
ncidNetCDF or group ID, from a previous call to nc_open(), nc_create(), nc_def_grp(), or associated inquiry functions such as nc_inq_ncid().
varidVariable ID
startpStart vector with one element for each dimension to Specify a Hyperslab.
countpCount vector with one element for each dimension to Specify a Hyperslab.
stridepStride vector with one element for each dimension to Specify a Hyperslab.
opPointer where the data will be copied. Memory must be allocated by the user before this function is called.
Returns
NC_NOERR No error.
NC_ENOTVAR Variable not found.
NC_EINVALCOORDS Index exceeds dimension bound.
NC_EEDGE Start+count exceeds dimension bound.
NC_ERANGE One or more of the values are out of range.
NC_EINDEFINE Operation not allowed in define mode.
NC_EBADID Bad ncid.

Definition at line 1288 of file dvarput.c.

◆ nc_rename_var()

int nc_rename_var ( int  ncid,
int  varid,
const char *  name 
)


Rename a variable.

This function changes the name of a netCDF variable in an open netCDF file or group. You cannot rename a variable to have the name of any existing variable.

For classic format,