MetNoFimex Namespace Reference


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< LoggerLoggerPtr
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< CDMAttributeprojStringToAttributes (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< DatacreateData (CDMDataType datatype, size_t length) throw (CDMException)
 create a Data-pointer of the datatype
boost::shared_ptr< DatacreateDataSlice (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< DatacreateData (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< DatancValues2Data (NcValues *values, NcType dt, size_t length)
std::ostreamoperator<< (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::stringtokenize (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>
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 Documentation

typedef boost::shared_ptr<Logger> MetNoFimex::LoggerPtr

typedef boost::shared_ptr<xmlXPathObject> MetNoFimex::XPathObjPtr


Enumeration Type Documentation

Enumerator:
CDM_NAT 
CDM_CHAR 
CDM_SHORT 
CDM_INT 
CDM_FLOAT 
CDM_DOUBLE 
CDM_STRING 


Function Documentation

std::string MetNoFimex::attributesToProjString ( const std::vector< CDMAttribute > &  attrs  ) 

convert attributes of a projection-variable to a projString

Parameters:
attrs attributes of the projection variable
Returns:
proj4 string

NcType MetNoFimex::cdmDataType2ncType ( CDMDataType  dt  ) 

conversion from CDMDataType to NcType

template<typename T1, typename T2>
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

Parameters:
inData original data
length length of original data array

template<typename T1, typename T2>
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().

template<class InputIterator>
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

Parameters:
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
Returns:
Base-Class ptr of the DataImpl belonging to the datatype

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

Parameters:
datatype 
size_t length of the data array
Returns:
Base-Class ptr of the DataImpl belonging to the datatype

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

Parameters:
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.

template<typename T1, typename T2>
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

Parameters:
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

Returns:
a string of the attribute, "" if attribute doesn't exist

std::string MetNoFimex::getXmlProp ( const xmlNodePtr  node,
const std::string attrName 
)

a memory-save form of xmlGetProp

Returns:
a string of the attribute, "" if attribute doesn't exist

void MetNoFimex::handleUdUnitError ( int  unitErrCode,
const std::string message = "" 
) throw (UnitException)

template<class InputIterator>
std::string MetNoFimex::join ( InputIterator  start,
InputIterator  end,
std::string  delim = "," 
) [inline]

Join values from an iterator to a string, using delimiter as separator.

Parameters:
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

Warning:
: the data belonging to values will be freed within this function or with the shared_array. Do not free the values otherwise!

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=?

template<typename C>
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)

Parameters:
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

template<typename T>
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

Parameters:
str the string to tokenize
delimiters the delimiters between the tokens
Returns:
vector of tokens

Referenced by tokenizeDotted().

template<typename T>
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

Parameters:
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  ) 

Remove leading and trailing spaces.

Parameters:
str string to trim

Referenced by tokenizeDotted().

template<typename T>
std::string MetNoFimex::type2string ( in  )  [inline]


Generated on Fri May 29 12:29:56 2009 for MI - Fimex by  doxygen 1.5.5