NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats developed by University Corporation for Atmospheric Research and Unidata that support the creation, access, and sharing of array-oriented scientific data. Support of NetCDF format ensures great interoperability between Scientific Dataset and vast amounts of existing scientific applications and data archives.

This provider requires the unmanaged netcdf4.dll library. The current Scientific DataSet release runtime package includes netcdf4.dll built from Unidata's source codes for NetCDF Release 4.0.1 with statically linked satellite libraries (including HDF5).

Both 32-bit and 64-bit versions of pre-built netcdf4.dll are included in the source code tree. For information, see NetCDF license here.

The provider NetCDFDataSet supports variables of any non-negative rank.

The provider is associated with the provider name "nc" and the extension ".nc".

NetCDFDataSet accepts the following parameters in the URI (see also DataSet Uri):
msds:nc?file=output.nc&openMode=create&deflate=good
msds:memory?include=msds%3Acsv%3Ffile%example.csv%23lat%2Clon
(This is the escaped version of "msds:memory?include=escape[msds:csv?file=example.csv#lat,lon]".) This URI includes the variables lat and lon from msds:csv?file=example.csv. If no variable names are specified, all variables are included.
The NetCDFDataSet provider supports URIs that contain a path and additional parameters that are appended following a question mark. For example:
c:\data\air0.nc?openMode=open&enableRollback=false
Names. If a variable name does not comply with NetCDF naming rules, the NetCDF layer uses its simplified version, but you can still see its original name through the DataSet.

DateTime type support. The unmanaged NetCDF4 does not support a date/time type, the NetCdfDataSet stores date/time data internally stored as a double variable with the following special attribute:
Units = "100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001"
NetCDF variables with this attribute are loaded as DateTime variables. The current release does not consider any other unit descriptions as a date/time value, so the variable's final type of data is Double.

Examples
The following example creates an empty NetCDFDataSet for a new data file:

using (DataSet ds = DataSet.Open("msds:nc?file=example.nc&openMode=create"))
{
    // Working with ds . . .
}