Classes | |
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 | CDMInterpolator |
class | CDMNamedEntity |
struct | CDMNameCompare |
class | CDMNameEqual |
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 | Data |
class | DataImpl |
class | DataTypeChanger |
class | FeltCDMReader |
class | GribApiCDMWriter |
class | GribApiCDMWriter_Impl1 |
class | GribApiCDMWriter_Impl2 |
class | GribApiCDMWriter_ImplAbstract |
class | Logger |
class | NcmlCDMReader |
class | NetCDF_CDMWriter |
class | NetCDF_CF10_CDMReader |
class | Null_CDMWriter |
class | ReplaceStringObject |
class | ReplaceStringTimeObject |
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 |
class | XMLDoc |
Typedefs | |
typedef boost::shared_ptr< Logger > | LoggerPtr |
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 | |
std::vector< CDMAttribute > | projStringToAttributes (std::string projStr) |
convert a proj4 string to a list of CDMAttributes usable for CF-1.0 projection variable | |
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) |
boost::shared_ptr< Data > | createData (CDMDataType datatype, size_t length) 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 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, size_t length, 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 T1, typename T2> | |
boost::shared_array< T1 > | convertArrayType (const boost::shared_array< T2 > &inData, size_t length, double oldFill, double oldScale, double oldOffset, double newFill, double newScale, double newOffset) |
Logger::LogLevel | defaultLogLevel () |
void | defaultLogLevel (Logger::LogLevel) |
LoggerPtr | getLogger (const std::string &className) |
NcType | cdmDataType2ncType (CDMDataType dt) |
CDMDataType | ncType2cdmDataType (NcType dt) |
boost::shared_ptr< Data > | ncValues2Data (NcValues *values, NcType dt, size_t length) |
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=",") |
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<typename T> | |
T | string2type (std::string s) |
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 boost::shared_ptr<Logger> MetNoFimex::LoggerPtr |
typedef boost::shared_ptr<xmlXPathObject> MetNoFimex::XPathObjPtr |
std::string MetNoFimex::attributesToProjString | ( | const std::vector< CDMAttribute > & | attrs | ) |
convert attributes of a projection-variable to a projString
attrs | attributes of the projection variable |
NcType MetNoFimex::cdmDataType2ncType | ( | CDMDataType | dt | ) |
conversion from CDMDataType to NcType
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<T1> MetNoFimex::convertArrayType | ( | const boost::shared_array< T2 > & | inData, | |
size_t | length, | |||
double | oldFill, | |||
double | oldScale, | |||
double | oldOffset, | |||
double | newFill, | |||
double | newScale, | |||
double | newOffset | |||
) | [inline] |
References fill().
boost::shared_ptr< Data > MetNoFimex::createData | ( | CDMDataType | datatype, | |
size_t | length, | |||
InputIterator | first, | |||
InputIterator | last | |||
) | throw (CDMException) [inline] |
create a Data-pointer of the datatype and fill with the data from the iterator
datatype | ||
size_t | length of the data array | |
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, and CDM_SHORT.
boost::shared_ptr<Data> MetNoFimex::createData | ( | CDMDataType | datatype, | |
size_t | length | |||
) | throw (CDMException) |
create a Data-pointer of the datatype
datatype | ||
size_t | length of the data array |
boost::shared_ptr<Data> MetNoFimex::createDataSlice | ( | CDMDataType | datatype, | |
const Data & | data, | |||
size_t | dataStartPos, | |||
size_t | dataSize | |||
) | throw (CDMException) |
create a dataslice from another Data object
datatype | ||
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.
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 |
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
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().
CDMDataType MetNoFimex::ncType2cdmDataType | ( | NcType | dt | ) |
conversion from NcType to CDMDataType
boost::shared_ptr<Data> MetNoFimex::ncValues2Data | ( | NcValues * | values, | |
NcType | dt, | |||
size_t | length | |||
) |
convert ncValues to a Data pointer
std::ostream& MetNoFimex::operator<< | ( | std::ostream & | out, | |
const FimexTime & | fTime | |||
) |
std::vector<CDMAttribute> MetNoFimex::projStringToAttributes | ( | std::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=?
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 |
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().