|
| NcmlCDMReader (const XMLInput &configXML) |
|
| NcmlCDMReader (const boost::shared_ptr< CDMReader > dataReader, const XMLInput &configXML) |
|
virtual | ~NcmlCDMReader () |
|
virtual DataPtr | getDataSlice (const std::string &varName, size_t unLimDimPos=0) |
|
virtual DataPtr | getDataSlice (const std::string &varName, const SliceBuilder &sb) |
|
| CDMReader () |
|
virtual | ~CDMReader () |
|
virtual const CDM & | getCDM () const |
|
virtual CDM & | getInternalCDM () |
|
virtual std::vector< std::size_t > | getDims (std::string varName) |
| Read the sizes of the dimensions belonging to a variable. More...
|
|
virtual std::vector< std::size_t > | getDimsSlice (std::string varName) |
| Read the sizes of the dimensions belonging to a variable slice. More...
|
|
virtual DataPtr | getData (const std::string &varName) |
| data-reading function to be called from the CDMWriter More...
|
|
virtual DataPtr | getScaledDataSlice (const std::string &varName, size_t unLimDimPos) |
| read and scale a dataslice More...
|
|
virtual DataPtr | getScaledDataSliceInUnit (const std::string &varName, const std::string &unit, size_t unLimDimPos) |
| read and scale a dataslice to a known unit More...
|
|
virtual DataPtr | getScaledDataSlice (const std::string &varName, const SliceBuilder &sb) |
| read and scale a dataslice More...
|
|
virtual DataPtr | getScaledDataSliceInUnit (const std::string &varName, const std::string &unit, const SliceBuilder &sb) |
| read and scale a dataslice to a set unit More...
|
|
virtual DataPtr | getScaledData (const std::string &varName) |
| read and scale the complete data More...
|
|
virtual DataPtr | getScaledDataInUnit (const std::string &varName, const std::string &unit) |
| read and scale the complete data to a set unit More...
|
|
The NcmlCDMReader can be used as both standard reader of a data and as a manipulator for an existing CDM provided by a CDMReader.
In the case of a real reader, the ncml-configuration file needs to have the 'location' field set, which must point to a file readable by CDMReader
The configuration file must be a standard ncml-file (versionn 2.2) as defined by http://www.unidata.ucar.edu/software/netcdf/ncml/. The following changes have been made to the unidata-version to improve operability with the file-types supported by fimex:
- location The location of a file can be given as simple string, or as space-separated list with "filename filetype configFile" to allow for reading of filetypes which require external configurations. This is also try for location in scan-elements where the filename is replaced by directory-name. filetype and configFile are then valid for all found-files.
- relative locations All locations within ncml-files are currently relative to the current working directory, not relative to the ncml-file. This will change in the future! It is currently safest to start fimex in the same directory as the ncml-file.
- spatial_vector For horizontal reprojections, vectors like x-wind/y-wind need to be rotated. Not all vectors can be detected from the CF standard. In fimex, it is possible to add an variable-attribute like
<spatial_vector direction="x" counterpart="y_wind" />
To forbid auto-rotation, set the direction to longitude.
- joinNew aggregations are not implemented yet.
- forecastModelRunCollection aggregations are not implemented.
- forecastModelRunSingleCollection aggregations are not implemented.
- olderThan scan-attribute is not implemented.
Examples:
<aggregation type="joinExisting">
<scan location="." regExp="\w{3}\.nc" />
</aggregation>
<aggregation type="union">
<netcdf location="cldc.mean.nc"/>
<netcdf location="lflx.mean.nc"/>
</aggregation>
- Warning
- Aggregation keep all files open. Don't try to aggregate more that your OS limit on open files per process, e.g. 1024 as default for Ubuntu 12.04.