MetNoFelt::Felt_Array Class Reference

encapsulate parameters of a felt file More...

#include <Felt_Array.h>

List of all members.

Public Member Functions

 Felt_Array ()
 Felt_Array (const string name, const boost::array< short, 16 > idx, const string &dataType="short")
virtual ~Felt_Array ()
void addInformationByIndex (const boost::array< short, 16 > &idx, int fieldSize) throw (Felt_File_Error)
const boost::array< short, 16 > & getIndexHeader () const
 get the time/level independent index of this header
void setDataHeader (boost::array< short, 20 > header) throw (Felt_File_Error)
 set the felt data-header for this array a Felt_File_Error will be thrown if the header is different for the different times/layers of this Array
const boost::array< short, 20 > & getDataHeader () const
 get the time/level independent data-header
short getLevelType () const
 get the felt level type of this array
void setGridType (int gridType)
 set the gridType as used in libmi gridPar function
int getGridType () const
 get the gridType
void setGridParameters (boost::array< float, 6 > gridParameters)
const boost::array< float, 6 > & getGridParameters () const
 get the extra grid information from the end of the data
const stringgetName () const
const stringgetDatatype () const
double getFillValue () const
void setFillValue (double fillValue)
vector< epoch_seconds > getTimes () const
vector< short > getLevels () const
vector< pair< short, short > > getLevelPairs () const
void addIdent19 (epoch_seconds time, pair< short, short > levelPair, short value)
short getIdent19 (epoch_seconds time, pair< short, short > levelPair) const throw (Felt_File_Error)
short getIdent19 (pair< short, short > levelPair) const throw (Felt_File_Error)
short getIdent19 (epoch_seconds time) const throw (Felt_File_Error)
short getIdent19 () const throw (Felt_File_Error)
int getX () const
int getY () const
short getVerticalFeltType () const
double getScalingFactor () const
boost::array< short, 16 > const getIndex (epoch_seconds time, short level) throw (Felt_File_Error)
int getFieldSize (epoch_seconds time, short level) const throw (Felt_File_Error)


Detailed Description

encapsulate parameters of a felt file

store local variables of a parameter, partially retrieved from the diana.setup, partially retrieved from the file


Constructor & Destructor Documentation

MetNoFelt::Felt_Array::Felt_Array (  ) 

constructor

MetNoFelt::Felt_Array::Felt_Array ( const string  name,
const boost::array< short, 16 >  idx,
const string dataType = "short" 
) [explicit]

constructor applying the parameter name and the felt description index array

Parameters:
name parameter name
idx feltfiles are indexed by a short[16] arrays representing different parameters. The parameters used here are those applied to qfelt (query felt)
dataType short|float|double datatype used for autoscaling, getScalingFactor() will be allways return 1 for float and double

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


Member Function Documentation

void MetNoFelt::Felt_Array::addInformationByIndex ( const boost::array< short, 16 > &  idx,
int  fieldSize 
) throw (Felt_File_Error)

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

const boost::array<short, 16>& MetNoFelt::Felt_Array::getIndexHeader (  )  const [inline]

get the time/level independent index of this header

void MetNoFelt::Felt_Array::setDataHeader ( boost::array< short, 20 >  header  )  throw (Felt_File_Error)

set the felt data-header for this array a Felt_File_Error will be thrown if the header is different for the different times/layers of this Array

Exceptions:
Felt_File_Error when data-definitions change

const boost::array<short, 20>& MetNoFelt::Felt_Array::getDataHeader (  )  const [inline]

get the time/level independent data-header

short MetNoFelt::Felt_Array::getLevelType (  )  const [inline]

get the felt level type of this array

void MetNoFelt::Felt_Array::setGridType ( int  gridType  )  [inline]

set the gridType as used in libmi gridPar function

int MetNoFelt::Felt_Array::getGridType (  )  const [inline]

get the gridType

void MetNoFelt::Felt_Array::setGridParameters ( boost::array< float, 6 >  gridParameters  )  [inline]

set all the grid parameters from the felt file as retrieved from libmi's gridPar function

const boost::array<float, 6>& MetNoFelt::Felt_Array::getGridParameters (  )  const [inline]

get the extra grid information from the end of the data

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

return the parameter name

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

return the datatype as string short|float|double

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

return the changed fill used in Felt_File::getScaledDataSlice

void MetNoFelt::Felt_Array::setFillValue ( double  fillValue  )  [inline]

set the fill value to be used in Felt_File::getScaledDataSlice

vector<epoch_seconds> MetNoFelt::Felt_Array::getTimes (  )  const

return the times available for this parameter, sorted

vector<short> MetNoFelt::Felt_Array::getLevels (  )  const

return the levels available for this parameter, sorted

vector<pair<short, short> > MetNoFelt::Felt_Array::getLevelPairs (  )  const

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

void MetNoFelt::Felt_Array::addIdent19 ( epoch_seconds  time,
pair< short, short >  levelPair,
short  value 
) [inline]

add the ident19 parameter from the data-header

short MetNoFelt::Felt_Array::getIdent19 ( epoch_seconds  time,
pair< short, short >  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

short MetNoFelt::Felt_Array::getIdent19 ( pair< short, short >  levelPair  )  const throw (Felt_File_Error)

get the ident19 parameter from the data-header, assures that the parameters keep constant across all times for each levelPair or throws a Felt_File_Error

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

short MetNoFelt::Felt_Array::getIdent19 ( epoch_seconds  time  )  const throw (Felt_File_Error)

get the ident19 parameter from the data-header, assures that the parameters keep constant across all levelPair for each time or throws a Felt_File_Error

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

short MetNoFelt::Felt_Array::getIdent19 (  )  const throw (Felt_File_Error)

get the ident19 parameter from the data-header, assures that the parameters keep constant across all levelPair and times or throws a Felt_File_Error

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

int MetNoFelt::Felt_Array::getX (  )  const [inline]

return x/longitude size

int MetNoFelt::Felt_Array::getY (  )  const [inline]

return y/latitude size

short MetNoFelt::Felt_Array::getVerticalFeltType (  )  const [inline]

return the felt-type of the vertical axis

double MetNoFelt::Felt_Array::getScalingFactor (  )  const

return scalingFactor

boost::array<short, 16> const MetNoFelt::Felt_Array::getIndex ( epoch_seconds  time,
short  level 
) throw (Felt_File_Error)

return a copy of the index used within this Felt_Array

int MetNoFelt::Felt_Array::getFieldSize ( epoch_seconds  time,
short  level 
) 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