Classes | |
class | C_CDMReader |
class | CachedForwardInterpolation |
class | CachedInterpolationInterface |
class | CachedInterpolation |
class | CachedVectorReprojection |
class | CDM |
Data structure of the Common Data Model. More... | |
class | CDMAttribute |
class | CDMDimension |
class | CDMException |
class | CDMExtractor |
class | CDMFileReaderFactory |
class | CDMInterpolator |
class | CDMNamedEntity |
struct | CDMNameCompare |
class | CDMNameEqual |
class | CDMNameEqualPtr |
class | CDMQualityExtractor |
Extract data with defined quality status. More... | |
class | CDMReader |
Basic interface for CDM reading and manipulation classes. More... | |
class | CDMTimeInterpolator |
class | CDMVariable |
class | CDMWriter |
class | CoordinateAxis |
class | CoordinateSystem |
struct | CompleteCoordinateSystemForComparator |
class | LambertConformalConicProjection |
class | LatitudeLongitudeProjection |
class | MercatorProjection |
class | PolarStereographicProjection |
class | Projection |
class | ProjectionImpl |
class | RotatedLatitudeLongitudeProjection |
class | StereographicProjection |
class | Data |
class | DataImpl |
class | DataTypeChanger |
class | FeltCDMReader |
class | FeltCDMReader2 |
class | GribApiCDMWriter |
class | GribApiCDMWriter_Impl1 |
class | GribApiCDMWriter_Impl2 |
class | GribApiCDMWriter_ImplAbstract |
class | GribCDMReader |
class | GribFileMessage |
class | GribFileMessageEqualTime |
Functor to find Messages with equal time. More... | |
class | GribFileMessageEqualLevelTime |
Functor to find messages with equal level and time. More... | |
class | GribFileIndex |
class | GridDefinition |
class | Logger |
class | NcmlCDMReader |
class | NetCDF_CDMReader |
class | NetCDF_CDMWriter |
class | Null_CDMWriter |
class | ReplaceStringObject |
class | ReplaceStringTimeObject |
class | SliceBuilder |
class | SpatialAxisSpec |
class | TimeLevelDataSliceFetcher |
read a slice of a given time/level combination from a cdmReader More... | |
class | TimeSpec |
class | FimexTime |
class | TimeUnit |
class | UnitException |
class | Units |
struct | staticCast |
class | ScaleValue |
class | ChangeMissingValue |
class | XMLDoc |
Typedefs | |
typedef boost::shared_ptr< Logger > | LoggerPtr |
typedef long | epoch_seconds |
typedef boost::shared_ptr < xmlXPathObject > | XPathObjPtr |
Enumerations | |
enum | CDMDataType { CDM_NAT = 0, CDM_CHAR, CDM_SHORT, CDM_INT, CDM_FLOAT, CDM_DOUBLE, CDM_STRING } |
Functions | |
DEPRECATED (std::vector< CDMAttribute > projStringToAttributes(std::string projStr)) | |
convert a proj4 string to a list of CDMAttributes usable for CF-1.0 projection variable | |
DEPRECATED (std::string attributesToProjString(const std::vector< CDMAttribute > &attrs)) | |
convert attributes of a projection-variable to a projString | |
CDMDataType | string2datatype (const std::string &s) |
translate float/string/... to the appropriate CDMDataType | |
std::string | datatype2string (CDMDataType type) |
std::ostream & | operator<< (std::ostream &out, CoordinateAxis ca) |
std::ostream & | operator<< (std::ostream &out, CoordinateAxis::AxisType t) |
std::ostream & | operator<< (std::ostream &out, const CoordinateSystem &p) |
std::vector< boost::shared_ptr < const CoordinateSystem > > | listCoordinateSystems (const CDM &cdm) |
std::ostream & | operator<< (std::ostream &out, const Projection &proj) |
boost::shared_ptr< Data > | createData (CDMDataType datatype, size_t length, double val=0) throw (CDMException) |
create a Data-pointer of the datatype | |
boost::shared_ptr< Data > | createDataSlice (CDMDataType datatype, const Data &data, size_t dataStartPos, size_t dataSize) throw (CDMException) |
create a one-dimensional dataslice from another Data object | |
template<typename T1, typename T2> | |
boost::shared_array< T1 > | duplicateArrayType (const boost::shared_array< T2 > &inData, long length) |
create a new shared array with a different type using static_cast | |
template<typename T1, typename T2> | |
const boost::shared_array< T1 > | constConvertArrayType (const boost::shared_array< T2 > &inData, long length) |
return a shared array of this data, possibly pointer to internal data | |
template<class InputIterator> | |
boost::shared_ptr< Data > | createData (CDMDataType datatype, InputIterator first, InputIterator last) throw (CDMException) |
create a Data-pointer of the datatype and fill with the data from the iterator | |
template<typename C> | |
void | recursiveCopyMultiDimData (C **orgData, C **newData, const std::vector< size_t > &orgDimSize, const std::vector< size_t > &orgSliceSize, const std::vector< size_t > &newStart, const std::vector< size_t > &newSize, size_t currentDim) |
template<typename OUT, typename IN> | |
boost::shared_array< OUT > | convertArrayType (const boost::shared_array< IN > &inData, size_t length, double oldFill, double oldScale, double oldOffset, double newFill, double newScale, double newOffset) |
boost::shared_ptr< FeltCDMReader2 > | getFeltReader (std::string filename, std::string configFilename) |
convenience function to retrieve a reader as shared_ptr instead of calling new | |
size_t | gribDataRead (const GribFileMessage &gfm, std::vector< double > &data, double missingValue) |
std::ostream & | operator<< (std::ostream &os, const GribFileMessage &gfm) |
outputstream for a GribFileMessage | |
std::ostream & | operator<< (std::ostream &os, const GribFileIndex &gfm) |
outputstream for a GribFileIndex | |
GridDefinition::Orientation | gribGetGridOrientation (boost::shared_ptr< grib_handle > gh) |
Logger::LogLevel | defaultLogLevel () |
void | defaultLogLevel (Logger::LogLevel) |
LoggerPtr | getLogger (const std::string &className) |
std::ostream & | operator<< (std::ostream &out, const FimexTime &fTime) |
FimexTime | string2FimexTime (const std::string &str) throw (CDMException) |
void | handleUdUnitError (int unitErrCode, const std::string &message="") throw (UnitException) |
int | round (double num) |
std::string | trim (const std::string &str) |
template<class InputIterator> | |
std::string | join (InputIterator start, InputIterator end, std::string delim=",") |
template<class InputIterator> | |
std::string | joinPtr (InputIterator start, InputIterator end, std::string delim=",") |
std::vector< std::string > | tokenize (const std::string &str, const std::string &delimiters=" ") |
std::string | string2lowerCase (const std::string &str) |
template<typename T> | |
std::string | type2string (T in) |
template<> | |
std::string | type2string< double > (double in) |
template<typename T> | |
T | string2type (std::string s) |
epoch_seconds | posixTime2epochTime (const boost::posix_time::ptime &time) |
template<typename T> | |
std::vector< T > | tokenizeDotted (const std::string &str, const std::string &delimiter=",") throw (CDMException) |
std::string | getXmlProp (const xmlNodePtr node, const std::string &attrName) |
std::string | getXmlName (const xmlNodePtr node) |
typedef long MetNoFimex::epoch_seconds |
typedef boost::shared_ptr<Logger> MetNoFimex::LoggerPtr |
typedef boost::shared_ptr<xmlXPathObject> MetNoFimex::XPathObjPtr |
const boost::shared_array< T1 > MetNoFimex::constConvertArrayType | ( | const boost::shared_array< T2 > & | inData, | |
long | length | |||
) | [inline] |
return a shared array of this data, possibly pointer to internal data
inData | original data | |
length | length of original data array |
boost::shared_array<OUT> MetNoFimex::convertArrayType | ( | const boost::shared_array< IN > & | inData, | |
size_t | length, | |||
double | oldFill, | |||
double | oldScale, | |||
double | oldOffset, | |||
double | newFill, | |||
double | newScale, | |||
double | newOffset | |||
) | [inline] |
References std::transform().
boost::shared_ptr< Data > MetNoFimex::createData | ( | CDMDataType | datatype, | |
InputIterator | first, | |||
InputIterator | last | |||
) | throw (CDMException) [inline] |
create a Data-pointer of the datatype and fill with the data from the iterator
datatype | ||
first | start of container containing the data to fill the array with | |
last | end (excluded) of the container containing the data to fill the array with |
References CDM_CHAR, CDM_DOUBLE, CDM_FLOAT, CDM_INT, CDM_NAT, CDM_SHORT, and std::distance().
boost::shared_ptr<Data> MetNoFimex::createData | ( | CDMDataType | datatype, | |
size_t | length, | |||
double | val = 0 | |||
) | throw (CDMException) |
create a Data-pointer of the datatype
datatype | ||
size_t | length of the data array | |
val | default value for data elements, 0 by default |
boost::shared_ptr<Data> MetNoFimex::createDataSlice | ( | CDMDataType | datatype, | |
const Data & | data, | |||
size_t | dataStartPos, | |||
size_t | dataSize | |||
) | throw (CDMException) |
create a one-dimensional dataslice from another Data object
datatype | of the return-data | |
data | the data to read the values from, should be convertible data-format | |
dataStartPos | the first element of data to fetch | |
dataSize | the size of the data |
std::string MetNoFimex::datatype2string | ( | CDMDataType | type | ) |
void MetNoFimex::defaultLogLevel | ( | Logger::LogLevel | ) |
Logger::LogLevel MetNoFimex::defaultLogLevel | ( | ) |
the defaultLogLevel can be used by the implemented logger to determine the minimum LogLevel. This value might be ignored/overwritten by a configuration within the implementation. It should be initialized in the main class.
MetNoFimex::DEPRECATED | ( | std::string | attributesToProjStringconst std::vector< CDMAttribute > &attrs | ) |
convert attributes of a projection-variable to a projString
attrs | attributes of the projection variable |
MetNoFimex::DEPRECATED | ( | std::vector< CDMAttribute > | projStringToAttributesstd::string projStr | ) |
convert a proj4 string to a list of CDMAttributes usable for CF-1.0 projection variable
currently, projStrings of the form +proj=[stere] +lat_0=? +lon_0=? +lat_ts=?
boost::shared_array< T1 > MetNoFimex::duplicateArrayType | ( | const boost::shared_array< T2 > & | inData, | |
long | length | |||
) | [inline] |
create a new shared array with a different type using static_cast
inData | original data | |
length | length of original data array |
References std::transform().
boost::shared_ptr<FeltCDMReader2> MetNoFimex::getFeltReader | ( | std::string | filename, | |
std::string | configFilename | |||
) |
convenience function to retrieve a reader as shared_ptr instead of calling new
LoggerPtr MetNoFimex::getLogger | ( | const std::string & | className | ) |
Retrieve a logger for Fimex. It will use loggers in the following order, skipping to the next one if the current one is not available: 1) log4cxx 2) no/dummy logger
std::string MetNoFimex::getXmlName | ( | const xmlNodePtr | node | ) |
a memory-save form of xmlGetName
std::string MetNoFimex::getXmlProp | ( | const xmlNodePtr | node, | |
const std::string & | attrName | |||
) |
a memory-save form of xmlGetProp
size_t MetNoFimex::gribDataRead | ( | const GribFileMessage & | gfm, | |
std::vector< double > & | data, | |||
double | missingValue | |||
) |
read the data corresponding to the gfm to the vector data data of at maximum data.size() will be read.
gfm | GribFileMessage to read from | |
data | the storage the data will be read to | |
missingValue | the missing- / fill-value the returned data will have |
GridDefinition::Orientation MetNoFimex::gribGetGridOrientation | ( | boost::shared_ptr< grib_handle > | gh | ) |
get the orientation of the data
gh | grib-handle |
void MetNoFimex::handleUdUnitError | ( | int | unitErrCode, | |
const std::string & | message = "" | |||
) | throw (UnitException) |
std::string MetNoFimex::join | ( | InputIterator | start, | |
InputIterator | end, | |||
std::string | delim = "," | |||
) | [inline] |
Join values from an iterator to a string, using delimiter as separator.
start | ||
end | ||
delim | separator, default to "," |
References std::basic_ostringstream< _CharT, _Traits, _Alloc >::str().
std::string MetNoFimex::joinPtr | ( | InputIterator | start, | |
InputIterator | end, | |||
std::string | delim = "," | |||
) | [inline] |
Join values from an iterator of pointers to a string, using delimiter as separator.
start | ||
end | ||
delim | separator, default to "," |
References std::basic_ostringstream< _CharT, _Traits, _Alloc >::str().
std::vector<boost::shared_ptr<const CoordinateSystem> > MetNoFimex::listCoordinateSystems | ( | const CDM & | cdm | ) |
fetch all coordinate system from a MetNoFimex::CDM
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | out, | |
const FimexTime & | fTime | |||
) |
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | os, | |
const GribFileIndex & | gfm | |||
) |
outputstream for a GribFileIndex
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | os, | |
const GribFileMessage & | gfm | |||
) |
outputstream for a GribFileMessage
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | out, | |
const Projection & | proj | |||
) |
output-stream for projections, implemented using toString()
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | out, | |
const CoordinateSystem & | p | |||
) |
output operator
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | out, | |
CoordinateAxis::AxisType | t | |||
) |
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | out, | |
CoordinateAxis | ca | |||
) |
epoch_seconds MetNoFimex::posixTime2epochTime | ( | const boost::posix_time::ptime & | time | ) |
convert a posixTime to seconds sinc 1970-01-01
time | time to convert |
void MetNoFimex::recursiveCopyMultiDimData | ( | C ** | orgData, | |
C ** | newData, | |||
const std::vector< size_t > & | orgDimSize, | |||
const std::vector< size_t > & | orgSliceSize, | |||
const std::vector< size_t > & | newStart, | |||
const std::vector< size_t > & | newSize, | |||
size_t | currentDim | |||
) | [inline] |
recursively copy data by moving the newData and orgData pointers forward and copy the data at the current position
it's assumed that the first dim in the vector is the fastest moving (fortran like)
orgData | pointer to the current postion of the original array | |
newData | pointer to the current position of the new array the original dimensions of orgData helper-array with orgSliceSize[0] = 1; orgSliceSize[n] = orgDimSize[n] * orgSliceSize[n-1] the start positions in the new data the dimensions of the newData the dimension currently under work, should be between (orgData.size()-1) and 0 |
References std::copy().
Referenced by MetNoFimex::DataImpl< C >::slice().
int MetNoFimex::round | ( | double | num | ) |
Round a double to integer.
CDMDataType MetNoFimex::string2datatype | ( | const std::string & | s | ) |
translate float/string/... to the appropriate CDMDataType
FimexTime MetNoFimex::string2FimexTime | ( | const std::string & | str | ) | throw (CDMException) |
std::string MetNoFimex::string2lowerCase | ( | const std::string & | str | ) |
convert a string to lowercase
T MetNoFimex::string2type | ( | std::string | s | ) | [inline] |
std::vector<std::string> MetNoFimex::tokenize | ( | const std::string & | str, | |
const std::string & | delimiters = " " | |||
) |
Tokenize a string by a delimiter. This function will automaticall remove empty strings at the beginning or anywhere inside the string.
This function has been derived from http://www.oopweb.com/CPP/Documents/CPPHOWTO/Volume/C++Programming-HOWTO-7.html
str | the string to tokenize | |
delimiters | the delimiters between the tokens |
Referenced by tokenizeDotted().
std::vector<T> MetNoFimex::tokenizeDotted | ( | const std::string & | str, | |
const std::string & | delimiter = "," | |||
) | throw (CDMException) [inline] |
convert a string with dots to a vector with type T
str | f.e. 3.5,4.5,...,17.5 | |
delimiter | optional delimiter, defaults to , |
References std::vector< _Tp, _Alloc >::begin(), std::vector< _Tp, _Alloc >::end(), std::vector< _Tp, _Alloc >::push_back(), std::vector< _Tp, _Alloc >::size(), tokenize(), trim(), and type2string().
std::string MetNoFimex::trim | ( | const std::string & | str | ) |
std::string MetNoFimex::type2string | ( | T | in | ) | [inline] |
convert a type (i.e. int, float) to string representation
References std::basic_ostringstream< _CharT, _Traits, _Alloc >::str().
Referenced by MetNoFimex::DataImpl< C >::setValues(), MetNoFimex::DataImpl< C >::slice(), and tokenizeDotted().
std::string MetNoFimex::type2string< double > | ( | double | in | ) | [inline] |
specialization for high prececision