# MI - Fimex: MetNoFelt::Felt_File2 Class Reference

# MetNoFelt::Felt_File2 Class Reference

Felt File access. More...

`#include <Felt_File2.h>`

List of all members.

## Public Member Functions

| Felt_File2 ()
| constructor
| Felt_File2 (const std::string &filename) throw (Felt_File_Error)
| Felt_File2 (const std::string &filename, const std::vector< std::string > &dianaParamList, const std::map< std::string, std::string > &options) throw (Felt_File_Error)
virtual | ~Felt_File2 ()
const boost::shared_ptr < Felt_Array2 > | getFeltArray (const std::string &compName) const throw (Felt_File_Error)
| retrieve a Felt_Array2
boost::shared_ptr < MetNoFimex::Data > | getScaledDataSlice (boost::shared_ptr< Felt_Array2 > feltArray, const boost::posix_time::ptime time, const LevelPair level) throw (Felt_File_Error)
| retrieve a data slice
std::vector< boost::shared_ptr < Felt_Array2 > > | listFeltArrays () const
std::map< short, std::vector < LevelPair > > | getFeltLevelPairs () const
const std::map< LevelPair, int > & | getHybridLevels () const
std::vector < boost::posix_time::ptime > | getFeltTimes () const
| all time values, sorted
boost::shared_ptr < boost::posix_time::ptime > | getUniqueReferenceTime () const
int | getNX () const
| get size in x direction
int | getNY () const
| get size in y direction
boost::shared_ptr < MetNoFimex::Data > | getXData () const throw (Felt_File_Error)
| get the values of the x axis
boost::shared_ptr < MetNoFimex::Data > | getYData () const throw (Felt_File_Error)
| get the values of the y axis
int | getGridType () const throw (Felt_File_Error)
boost::shared_ptr < felt::FeltGridDefinition > | getGridDefinition () const throw (Felt_File_Error)
| assumes one set of grid-parameters for the whole file

## Detailed Description

Felt File access.

Felt_File2 gives c++ style access to felt files. It uses internally libmi and caches the table of contents

## Constructor & Destructor Documentation

MetNoFelt::Felt_File2::Felt_File2 | ( |  | ) | `[inline]`

constructor

open an empty felt file, just a default constructor, no useful information

MetNoFelt::Felt_File2::Felt_File2 | ( | const std::string & | filename | ) | throw (Felt_File_Error)`[explicit]`

open and read toc of a felt file

Parameters:

  | filename | name of felt file

MetNoFelt::Felt_File2::Felt_File2 | ( | const std::string & | filename,
|  | const std::vector< std::string > & | dianaParamList,
|  | const std::map< std::string, std::string > & | options |
| ) |  |  | throw (Felt_File_Error)`[explicit]`

open and read toc of a felt file

Parameters:

  | paramList | a list of known parameters (in diana format, e.g. 17,2,1000:prod=74), only the known parameters will be read

Warning:
  The diana format is extended by dataType=short|float|double and fillValue=(number in short|float|double) to add the return type of the data. Autoscaling will be turned on for 'getDataSlice'. default is dataType=short:fillValue=-32767

virtual MetNoFelt::Felt_File2::~Felt_File2 | ( |  | ) | `[virtual]`

## Member Function Documentation

const boost::shared_ptr<Felt_Array2> MetNoFelt::Felt_File2::getFeltArray | ( | const std::string & | compName | ) | const throw (Felt_File_Error)

retrieve a Felt_Array2

Parameters:

  | compName | parameter name of felt file as named in diana setup

boost::shared_ptr<MetNoFimex::Data> MetNoFelt::Felt_File2::getScaledDataSlice | ( | boost::shared_ptr< Felt_Array2 > | feltArray,
|  | const boost::posix_time::ptime | time,
|  | const LevelPair | level |
| ) |  |  | throw (Felt_File_Error)

retrieve a data slice

retrieve the data prescaled (if float or double) and replaced with the new fill value

Parameters:

  | compName | parameter name of felt file
  | time | time of slice
  | level | level of slice

std::vector<boost::shared_ptr<Felt_Array2> > MetNoFelt::Felt_File2::listFeltArrays | ( |  | ) | const

retrieve all felt arrays

std::map<short, std::vector<LevelPair> > MetNoFelt::Felt_File2::getFeltLevelPairs | ( |  | ) | const

Z-axis types and values

Returns:
  map consisting of felt level-ids and a sorted vector of level values Z-axis types and values

  map consisting of felt level-ids and a sorted vector of level-pairs of values

const std::map<LevelPair, int>& MetNoFelt::Felt_File2::getHybridLevels | ( |  | ) | const`[inline]`

std::vector<boost::posix_time::ptime> MetNoFelt::Felt_File2::getFeltTimes | ( |  | ) | const

all time values, sorted

boost::shared_ptr<boost::posix_time::ptime> MetNoFelt::Felt_File2::getUniqueReferenceTime | ( |  | ) | const

get the unique reference time of the felt file

Returns:
  a unique reference time

Exceptions:

  | exception | if no unique reference time exists

int MetNoFelt::Felt_File2::getNX | ( |  | ) | const

get size in x direction

int MetNoFelt::Felt_File2::getNY | ( |  | ) | const

get size in y direction

boost::shared_ptr<MetNoFimex::Data> MetNoFelt::Felt_File2::getXData | ( |  | ) | const throw (Felt_File_Error)

get the values of the x axis

boost::shared_ptr<MetNoFimex::Data> MetNoFelt::Felt_File2::getYData | ( |  | ) | const throw (Felt_File_Error)

get the values of the y axis

int MetNoFelt::Felt_File2::getGridType | ( |  | ) | const throw (Felt_File_Error)

assumes one set of grid-parameters for the whole file, returns parameter between 1 and 6, without extra definition

boost::shared_ptr<felt::FeltGridDefinition> MetNoFelt::Felt_File2::getGridDefinition | ( |  | ) | const throw (Felt_File_Error)

assumes one set of grid-parameters for the whole file

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

- include/fimex/Felt_File2.h