MetNoFelt::Felt_Array2 Class Reference

A collection of FeltFields to build a 4-dimensional data array for 1-parameter and 1-vertical coordinate. More...

#include <Felt_Array2.h>

List of all members.

Public Member Functions

 Felt_Array2 (const string name, const boost::shared_ptr< felt::FeltField > feltField, const string &dataType, double fillValue)
virtual ~Felt_Array2 ()
void addInformationByField (boost::shared_ptr< felt::FeltField > field) throw (Felt_File_Error)
const stringgetName () const
 get the time/level independent data-header
const stringgetDatatype () const
int getGrid (boost::posix_time::ptime time, LevelPair levelPair, vector< short > &gridOut) throw (Felt_File_Error)
int getGridAllowDelta (boost::posix_time::ptime time, LevelPair levelPair, vector< short > &gridOut, const boost::array< float, 6 > &gridParameterDelta) throw (Felt_File_Error)
int getLevelType () const
 get the felt level type of this array
double getFillValue () const
vector< boost::posix_time::ptime > getTimes () const
vector< LevelPairgetLevelPairs () const
int getIdent19 (boost::posix_time::ptime time, LevelPair levelPair) const throw (Felt_File_Error)
int getX () const
int getY () const
int scaleFactor () const
double getScalingFactor () const
boost::shared_ptr
< felt::FeltGridDefinition
getGridDefinition () const
int getGridType () const
const boost::shared_ptr
< felt::FeltField
getField (boost::posix_time::ptime time, LevelPair levelPair) const throw (Felt_File_Error)


Detailed Description

A collection of FeltFields to build a 4-dimensional data array for 1-parameter and 1-vertical coordinate.

A Felt_Array2 collects all felt::FeltField from a felt::FeltFile with the same parameter and vertical coordinate. It is possible to access the data of such each layer.


Constructor & Destructor Documentation

MetNoFelt::Felt_Array2::Felt_Array2 ( const string  name,
const boost::shared_ptr< felt::FeltField feltField,
const string dataType,
double  fillValue 
) [explicit]

constructor applying the parameter name and the felt description from the first feltField

Parameters:
name parameter name
field a field added to this constructor
dataType short|float|double datatype used for autoscaling, getScalingFactor() will be always return 1 for float and double
fillValue fillValue of the datatype, usually -32767

virtual MetNoFelt::Felt_Array2::~Felt_Array2 (  )  [virtual]


Member Function Documentation

void MetNoFelt::Felt_Array2::addInformationByField ( boost::shared_ptr< felt::FeltField field  )  throw (Felt_File_Error)

add information from the felt-index (usually retrieved from qfelt) to this Felt_Array2 the index given here must correspond to the initialization index

const string& MetNoFelt::Felt_Array2::getName (  )  const

get the time/level independent data-header

return the parameter name

const string& MetNoFelt::Felt_Array2::getDatatype (  )  const [inline]

return the datatype as string short|float|double

int MetNoFelt::Felt_Array2::getGrid ( boost::posix_time::ptime  time,
LevelPair  levelPair,
vector< short > &  gridOut 
) throw (Felt_File_Error)

read a grid for a time and a levelPair

Parameters:
time The time of the field
levelPair The levelPair of the field
gridOut The data of this field will be put into this grid
Returns:
the scaleFactor as tenth exponent of this field (grid * 10^scaleFactor)
Exceptions:
Felt_File_Error if the gridDefinition (gridType or gridParameters) change

int MetNoFelt::Felt_Array2::getGridAllowDelta ( boost::posix_time::ptime  time,
LevelPair  levelPair,
vector< short > &  gridOut,
const boost::array< float, 6 > &  gridParameterDelta 
) throw (Felt_File_Error)

same as getGrid, but the gridParameters to change up to the value provided in gridParameterDelta

int MetNoFelt::Felt_Array2::getLevelType (  )  const

get the felt level type of this array

double MetNoFelt::Felt_Array2::getFillValue (  )  const [inline]

return the changed fill used in Felt_File::getScaledDataSlice

vector<boost::posix_time::ptime> MetNoFelt::Felt_Array2::getTimes (  )  const

return the times available for this parameter, sorted

vector<LevelPair> MetNoFelt::Felt_Array2::getLevelPairs (  )  const

return the level pairs (niveau 1, niveau 2) for this parameter as used by hybrid levels

int MetNoFelt::Felt_Array2::getIdent19 ( boost::posix_time::ptime  time,
LevelPair  levelPair 
) const throw (Felt_File_Error)

get the ident19 parameter from the data-header, throw error if levelPair/time doesn't exists

Warning:
only ident19 of data already read will be taken into account

int MetNoFelt::Felt_Array2::getX (  )  const

return x/longitude size

int MetNoFelt::Felt_Array2::getY (  )  const

return y/latitude size

int MetNoFelt::Felt_Array2::scaleFactor (  )  const

get the files scaleFactor, this corresponds to scalingFactor by 10^(scaleFactor) == scalingFactor

double MetNoFelt::Felt_Array2::getScalingFactor (  )  const

return scalingFactor

boost::shared_ptr<felt::FeltGridDefinition> MetNoFelt::Felt_Array2::getGridDefinition (  )  const

int MetNoFelt::Felt_Array2::getGridType (  )  const

const boost::shared_ptr<felt::FeltField> MetNoFelt::Felt_Array2::getField ( boost::posix_time::ptime  time,
LevelPair  levelPair 
) const throw (Felt_File_Error)


The documentation for this class was generated from the following file:

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