MetNoFimex Namespace Reference


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< LoggerLoggerPtr
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::ostreamoperator<< (std::ostream &out, CoordinateAxis ca)
std::ostreamoperator<< (std::ostream &out, CoordinateAxis::AxisType t)
std::ostreamoperator<< (std::ostream &out, const CoordinateSystem &p)
std::vector< boost::shared_ptr
< const CoordinateSystem > > 
listCoordinateSystems (const CDM &cdm)
std::ostreamoperator<< (std::ostream &out, const Projection &proj)
boost::shared_ptr< DatacreateData (CDMDataType datatype, size_t length, double val=0) 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 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< DatacreateData (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< FeltCDMReader2getFeltReader (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::ostreamoperator<< (std::ostream &os, const GribFileMessage &gfm)
 outputstream for a GribFileMessage
std::ostreamoperator<< (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::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=",")
template<class InputIterator>
std::string joinPtr (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<>
std::string type2string< double > (double in)
template<typename 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 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

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 OUT, typename IN>
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().

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

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

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

Parameters:
datatype 
size_t length of the data array
val default value for data elements, 0 by default
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 one-dimensional dataslice from another Data object

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

Deprecated:
use Projection::create() with Projection::getProj4String() instead
Parameters:
attrs attributes of the projection variable
Returns:
proj4 string

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

Deprecated:
use Projection::createByProj4() and Projection::getParameters()

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

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

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

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.

Parameters:
gfm GribFileMessage to read from
data the storage the data will be read to
missingValue the missing- / fill-value the returned data will have
Returns:
the actual amount of data read

GridDefinition::Orientation MetNoFimex::gribGetGridOrientation ( boost::shared_ptr< grib_handle >  gh  ) 

get the orientation of the data

Parameters:
gh grib-handle

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().

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

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

Examples:
coordinateSystem.cpp.

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

Parameters:
time time to convert

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

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

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]

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

specialization for high prececision


Generated on Fri May 7 15:50:10 2010 for MI - Fimex by  doxygen 1.5.5