NetCDF  4.6.2
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. In netCDF-4/HDF5 files, may not exceed the HDF5 maximum number of dimensions (32).
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 210 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 1080 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 contiguous 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 939 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.

Warning: this function is only defined if the type of the variable is an atomic integer or float type.

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 1161 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.

Note
For netCDF classic, 64-bit offset, and CDF5 formats, it is allowed (but not good practice) to set the fill value after data have been written to the variable. In this case, unless the variable has been completely specified (without gaps in the data), any existing filled values will not be recognized as fill values by applications reading the data. Best practice is to set the fill value after the variable has been defined, but before any data have been written to that varibale. In NetCDF-4 files, this is enforced by the HDF5 library. For netCDF-4 files, an error is returned if the user attempts to set the fill value after writing data to the 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.
NC_ELATEDEF (NetCDF-4 only). Returned when user attempts to set fill value after data are written.
NC_EGLOBAL Attempt to set fill value on NC_GLOBAL.

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;
Author
Glenn Davis, Ed Hartnett, Dennis Heimbigner

Definition at line 630 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 contiguous 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 979 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 725 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 136 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1045 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 900 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 950 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 943 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 930 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 936 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 978 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 912 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 924 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 993 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 906 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 957 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 918 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 971 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 985 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 964 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 835 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1093 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
pres_temp_4D_rd.c, and sfc_pres_temp_rd.c.

Definition at line 1087 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
simple_xy_nc4_rd.c, and simple_xy_rd.c.

Definition at line 1075 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1081 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1117 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1057 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1069 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1130 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1051 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1099 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1063 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1111 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
simple_nc4_rd.c.

Definition at line 1123 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1105 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 750 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 812 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
pres_temp_4D_rd.c.

Definition at line 805 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 791 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 798 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 840 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 770 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 784 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 855 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 763 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 819 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 777 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 833 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 847 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);
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 826 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 644 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1374 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1436 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1427 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1409 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1418 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1475 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1382 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1401 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1504 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1494 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1445 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1392 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1465 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1484 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1455 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. Required for non-scalar vars.
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 582 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1179 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1251 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1242 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1224 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1233 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1287 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1197 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1215 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1306 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1188 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1260 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1206 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1278 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1296 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1269 of file dvarget.c.

◆ NC_inq_recvar()

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


Definition at line 357 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 595 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 125 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 805 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 421 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 written 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 286 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 505 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 457 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 637 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 334 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 691 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 226 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.
NC_ENOTVAR Invalid variable ID.

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 61 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 157 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 250 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 203 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 179 of file dvarinq.c.

◆ NC_is_recvar()

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


Definition at line 311 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 931 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 791 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 839 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 833 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 821 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 827 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 863 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 803 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 815 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 876 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 797 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 845 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 809 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 857 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 869 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 851 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 979 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
pres_temp_4D_wr.c, and sfc_pres_temp_wr.c.

Definition at line 973 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
simple_xy_nc4_wr.c, and simple_xy_wr.c.

Definition at line 961 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 967 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1003 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 943 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 955 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1016 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 937 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 985 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 949 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 997 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
simple_nc4_wr.c.

Definition at line 1009 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 991 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 639 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 708 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher
Examples:
pres_temp_4D_wr.c.

Definition at line 700 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 684 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 692 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 740 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 660 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 676 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 757 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 652 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 716 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 668 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 732 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 748 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 724 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1248 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1325 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1315 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1295 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1305 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1365 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1265 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1285 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1386 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1256 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1335 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1275 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1355 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1375 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1345 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1055 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1131 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1121 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1101 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1111 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1171 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1072 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1091 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1192 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.
Author
Glenn Davis, Russ Rew, Ed Hartnett, Dennis Heimbigner, Ward Fisher

Definition at line 1063 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.
Author
Glenn