## org.autoplot.cdf.CdfDataSource

CDF data source based on Nand Lal's pure-Java CDF reader. CDF, or Common Data Format, is a NASA data format.

## CdfDataSource( java.net.URI uri )

## timer

To resolve bug 1002 we unload the cache after 10 seconds. Joe at Aerospace had a problem where he couldn't kill a lingering autoplot process and then couldn't get at the file because it held a reference to the file. Now we automatically unload all the cached files. I did look at just disabling the cache, but the file is open and closed three times during the load. See http://sourceforge.net/p/autoplot/bugs/1002.

## checkCdf

checkCdf( java.io.File cdfFile ) → void

check if the file really is a CDF, and throw IllegalArgumentException if it is not. NetCDF files occasionally use the extension .cdf.

### Parameters

cdfFile - a CDF file (or not)

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc]

## getCdfFile

getCdfFile( String fileName ) → gov.nasa.gsfc.spdf.cdfj.CDFReader

get the abstract access object to the given CDF file. This provides read-only access to the file, and a cache is used to limit the number of references managed. See bug http://sourceforge.net/p/autoplot/bugs/922/ The result returns a CDF object which contains a read-only memory-mapped byte buffer.

### Parameters

fileName - a String

### Returns:

the CDF reference used to access the file
[search for examples] [view on GitHub] [view on old javadoc]

## getDataSet

getDataSet( ProgressMonitor mon ) → QDataSet

### Parameters

mon - a ProgressMonitor

### Returns:

org.das2.qds.QDataSet
[search for examples] [view on GitHub] [view on old javadoc]

## getDataSet

getDataSet( ProgressMonitor mon, java.util.Map attr1 ) → QDataSet

get the dataset with the attributes. attributes may be specified separately to support CDAWebDataSource, which uses a "master" cdf to override the specs within each file.

### Parameters

mon - a ProgressMonitor
attr1 - a java.util.Map

### Returns:

a QDataSet
[search for examples] [view on GitHub] [view on old javadoc]

## getDataSet

getDataSet( java.io.File cdfFile, gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, String svariable, java.util.Map attr1, java.util.Map map, ProgressMonitor mon ) → org.das2.qds.MutablePropertyDataSet

get the dataset for svariable from the CDF file, implementing virtual variables if needed. This supports for svariable:

- X;Y;Z where each is read and linked together
- X[0:100] where the first 100 records are read
- X[::5] where every fifth record is read
- virtual variables.

Note this does not check for cycles, so be careful.

### Parameters

cdfFile - null or the name of the cdfFile, used only in logger messages.
cdf - a CDFReader
svariable - a String
attr1 - a java.util.Map
map - a java.util.Map
mon - a ProgressMonitor

### Returns:

an org.das2.qds.MutablePropertyDataSet
[search for examples] [view on GitHub] [view on old javadoc]

## getMetadata

getMetadata( ProgressMonitor mon ) → java.util.Map

### Parameters

mon - a ProgressMonitor

### Returns:

java.util.Map
[search for examples] [view on GitHub] [view on old javadoc]

## getMetadataModel

getMetadataModel( ) → org.autoplot.datasource.MetadataModel

{@inheritDoc }

### Returns:

an IstpMetadataModel

### See Also:

IstpMetadataModel
[search for examples] [view on GitHub] [view on old javadoc]

## printCacheReport

printCacheReport( ) → void

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc]