NetCDF  4.9.2
Reading and Writing Subsets of Data

Usually users are interested in reading or writing subsets of variables in a netCDF data file.

The netCDF APIs provide a variety of functions for this purpose.

In the simplest case, you will use the same type for both file and in-memory storage, but in some cases you may wish to use different types. For example, you might have a netCDF file that contains integer data, and you wish to read it into floating-point storage, converting the data as it is read. The same sort of type conversion can be done when writing the data.

To convert to a type while reading data, use the appropriate nc_get_vara_<TYPE> or NF_GET_VARA_<TYPE> function. For example, the C function nc_get_vara_float(), and the Fortran function NF_GET_VARA_REAL will read netCDF data of any numeric type into a floating-point array, automatically converting each element to the desired type.

To convert from a type while writing data, use the appropriate nc_put_vara_<TYPE> or NF_PUT_VARA_<TYPE> function. For example, the C function nc_put_vara_float() will write floating-point data into netCDF arrays, automatically converting each element of the array to the type of the netCDF variable.

The TYPE in the function name refers to the type of the in-memory data, in both cases. They type of the file data is determined when the netCDF variable is defined.

The type of the data may be automatically converted on read or write.