Main Content

netcdf.getVar

Read data from NetCDF variable

Syntax

data = netcdf.getVar(ncid,varid)
data = netcdf.getVar(ncid,varid,start)
data = netcdf.getVar(ncid,varid,start,count)
data = netcdf.getVar(ncid,varid,start,count,stride)
data = netcdf.getVar(___,output_type)

Description

data = netcdf.getVar(ncid,varid) returns data, the value of the variable specified by varid. ncid is a NetCDF file identifier returned by netcdf.create or netcdf.open. The returned value data is of the MATLAB® data type that best matches the NetCDF data type of the variable specified by varid. For more information about how MATLAB determines the best match, see More About.

Note

For variables of type NC_CHAR, the netcdf.getVar function supports reading only of data that contain only ASCII-encoded characters. NetCDF-4 files support writing UTF-8-encoded characters in variables of type NC_STRING.

data = netcdf.getVar(ncid,varid,start) returns a single value starting at the specified index, start.

data = netcdf.getVar(ncid,varid,start,count) returns a contiguous section of a variable. start specifies the starting point and count specifies the amount of data to return.

data = netcdf.getVar(ncid,varid,start,count,stride) returns a subset of a section of a variable. start specifies the starting point, count specifies the extent of the section, and stride specifies which values to return.

data = netcdf.getVar(___,output_type) specifies the data type of the return value data. Specify output_type as one of these values:

  • "double"

  • "single"

  • "int64"

  • "uint64"

  • "int32"

  • "uint32"

  • "int16"

  • "uint16"

  • "int8"

  • "uint8"

  • "char"

This function corresponds to several functions in the NetCDF library C API. To use this function, you should be familiar with the NetCDF programming paradigm.

Examples

collapse all

Open the example file, example.nc.

ncid = netcdf.open('example.nc','NC_NOWRITE');

Get the name of the first variable in the file.

varname = netcdf.inqVar(ncid,0)
varname = 
'avagadros_number'

Get variable ID of the first variable, given its name.

varid = netcdf.inqVarID(ncid,varname)
varid = 0

Get the value of the variable. Use the variable ID as the second input to the netcdf.getVar function.

data = netcdf.getVar(ncid,varid)
data = 6.0221e+23

Display the data type of the output value.

whos data
  Name      Size            Bytes  Class     Attributes

  data      1x1                 8  double              

Get the value of the avogadros_number variable again, specifying that the output data type should be single.

data = netcdf.getVar(ncid,varid,'single');

Display the data type of the output value.

whos data
  Name      Size            Bytes  Class     Attributes

  data      1x1                 4  single              

Close the NetCDF file.

netcdf.close(ncid)

More About

collapse all

NetCDF to MATLAB Data Type Conversion

When the optional input output_type is not specified, netcdf.getVar automatically chooses the MATLAB data type that best matches the NetCDF data type according to this table.

NetCDF Data TypeMATLAB Data Type
NC_DOUBLEdouble
NC_FLOATsingle
NC_INT64 (NetCDF-4 files only)int64
NC_UINT64 (NetCDF-4 files only)uint64
NC_INTint32
NC_UINT (NetCDF-4 files only)uint32
NC_SHORTint16
NC_USHORT (NetCDF-4 files only)uint16
NC_BYTEint8
NC_UBYTE (NetCDF-4 files only)uint8
NC_CHARchar
NC_STRING (NetCDF-4 files only)string
User-defined NC_VLEN types (NetCDF-4 files only)cell

Version History

Introduced in R2008b

expand all