# MI - Fimex: MetNoFelt::Felt_Array Class Reference

# 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 string & | getName () const
const string & | getDatatype () 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:

- include/fimex/Felt_Array.h