Hdf5DataReader Class Reference

#include <Hdf5DataReader.hpp>

Collaboration diagram for Hdf5DataReader:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Hdf5DataReader (const std::string &rDirectory, const std::string &rBaseName, bool makeAbsolute=true)
std::vector< doubleGetVariableOverTime (const std::string &rVariableName, unsigned nodeIndex)
void GetVariableOverNodes (Vec data, const std::string &rVariableName, unsigned timestep=0)
std::vector< doubleGetUnlimitedDimensionValues ()
unsigned GetNumberOfRows ()
std::vector< std::string > GetVariableNames ()
std::string GetUnit (const std::string &rVariableName)
bool IsDataComplete ()
std::vector< unsignedGetIncompleteNodeMap ()
void Close ()
 ~Hdf5DataReader ()

Private Attributes

std::string mDirectory
std::string mBaseName
hid_t mFileId
hid_t mVariablesDatasetId
unsigned mVariablesDatasetRank
hsize_t mVariablesDatasetSizes [MAX_DATASET_RANK]
bool mIsUnlimitedDimensionSet
hid_t mTimeDatasetId
hsize_t mNumberTimesteps
std::vector< std::string > mVariableNames
std::map< std::string, unsignedmVariableToColumnIndex
std::map< std::string,
std::string > 
mVariableToUnit
bool mIsDataComplete
std::vector< unsignedmIncompleteNodeIndices

Static Private Attributes

static const unsigned MAX_DATASET_RANK = 3

Detailed Description

Todo:
: magic number

A concrete HDF5 data reader class.

Definition at line 45 of file Hdf5DataReader.hpp.


Constructor & Destructor Documentation

Hdf5DataReader::Hdf5DataReader ( const std::string &  rDirectory,
const std::string &  rBaseName,
bool  makeAbsolute = true 
)

Read data from the given files into memory.

Parameters:
rDirectory The directory the files are stored in
rBaseName The base name of the files to read (i.e. without the extensions)
makeAbsolute Whether to convert directory to an absolute path using the OutputFileHandler (defaults to true)

Definition at line 35 of file Hdf5DataReader.cpp.

References OutputFileHandler::GetOutputDirectoryFullPath(), MAX_DATASET_RANK, mBaseName, mFileId, mIncompleteNodeIndices, mIsDataComplete, mIsUnlimitedDimensionSet, mNumberTimesteps, mTimeDatasetId, mVariableNames, mVariablesDatasetId, mVariablesDatasetRank, mVariablesDatasetSizes, mVariableToColumnIndex, and mVariableToUnit.

Hdf5DataReader::~Hdf5DataReader (  ) 

Destructor just calls Close.

Definition at line 347 of file Hdf5DataReader.cpp.

References Close().


Member Function Documentation

void Hdf5DataReader::Close (  ) 

Close any open files.

Todo:
: move code to the destructor???

Definition at line 334 of file Hdf5DataReader.cpp.

References mFileId, mIsUnlimitedDimensionSet, mTimeDatasetId, and mVariablesDatasetId.

Referenced by ~Hdf5DataReader().

std::vector< unsigned > Hdf5DataReader::GetIncompleteNodeMap (  ) 

Get method for mIncompleteNodeIndices.

Definition at line 372 of file Hdf5DataReader.cpp.

References mIncompleteNodeIndices.

unsigned Hdf5DataReader::GetNumberOfRows (  ) 
std::string Hdf5DataReader::GetUnit ( const std::string &  rVariableName  ) 

Get the units in which a given variable is measured.

Parameters:
rVariableName name of a variable in the data file

Definition at line 362 of file Hdf5DataReader.cpp.

References mVariableToUnit.

std::vector< double > Hdf5DataReader::GetUnlimitedDimensionValues (  ) 
std::vector< std::string > Hdf5DataReader::GetVariableNames (  ) 

Get the variable names.

Definition at line 357 of file Hdf5DataReader.cpp.

References mVariableNames.

Referenced by AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::AbstractHdf5Converter().

void Hdf5DataReader::GetVariableOverNodes ( Vec  data,
const std::string &  rVariableName,
unsigned  timestep = 0 
)
std::vector< double > Hdf5DataReader::GetVariableOverTime ( const std::string &  rVariableName,
unsigned  nodeIndex 
)
bool Hdf5DataReader::IsDataComplete (  ) 

Get method for mIsDataComplete.

Definition at line 367 of file Hdf5DataReader.cpp.

References mIsDataComplete.


Member Data Documentation

const unsigned Hdf5DataReader::MAX_DATASET_RANK = 3 [static, private]

Defined in HDF5 writer too.

Todo:
: define it once

Definition at line 49 of file Hdf5DataReader.hpp.

Referenced by Hdf5DataReader().

std::string Hdf5DataReader::mBaseName [private]

The base name for the output data files.

Definition at line 52 of file Hdf5DataReader.hpp.

Referenced by Hdf5DataReader().

std::string Hdf5DataReader::mDirectory [private]

Directory output files will be stored in.

Definition at line 51 of file Hdf5DataReader.hpp.

hid_t Hdf5DataReader::mFileId [private]

The data file ID.

Definition at line 54 of file Hdf5DataReader.hpp.

Referenced by Close(), and Hdf5DataReader().

Vector of node indices for which the data file does not contain data.

Definition at line 69 of file Hdf5DataReader.hpp.

Referenced by GetIncompleteNodeMap(), GetVariableOverTime(), and Hdf5DataReader().

Whether the data file is complete.

Definition at line 68 of file Hdf5DataReader.hpp.

Referenced by GetVariableOverNodes(), GetVariableOverTime(), Hdf5DataReader(), and IsDataComplete().

Is the unlimited dimension set

Definition at line 60 of file Hdf5DataReader.hpp.

Referenced by Close(), GetUnlimitedDimensionValues(), GetVariableOverNodes(), GetVariableOverTime(), and Hdf5DataReader().

The number of time steps recorded in the data file.

Definition at line 62 of file Hdf5DataReader.hpp.

Referenced by GetUnlimitedDimensionValues(), GetVariableOverNodes(), and Hdf5DataReader().

The time data set ID.

Definition at line 61 of file Hdf5DataReader.hpp.

Referenced by Close(), GetUnlimitedDimensionValues(), and Hdf5DataReader().

std::vector<std::string> Hdf5DataReader::mVariableNames [private]

The variable names.

Definition at line 64 of file Hdf5DataReader.hpp.

Referenced by GetVariableNames(), and Hdf5DataReader().

The variables data set ID.

Definition at line 56 of file Hdf5DataReader.hpp.

Referenced by Close(), GetVariableOverNodes(), GetVariableOverTime(), and Hdf5DataReader().

The rank of the variables data set.

Definition at line 57 of file Hdf5DataReader.hpp.

Referenced by Hdf5DataReader().

The sizes of each variable data set.

Definition at line 58 of file Hdf5DataReader.hpp.

Referenced by GetNumberOfRows(), GetVariableOverNodes(), GetVariableOverTime(), and Hdf5DataReader().

std::map<std::string, unsigned> Hdf5DataReader::mVariableToColumnIndex [private]

Map between variable names and data column numbers.

Definition at line 65 of file Hdf5DataReader.hpp.

Referenced by GetVariableOverNodes(), GetVariableOverTime(), and Hdf5DataReader().

std::map<std::string, std::string> Hdf5DataReader::mVariableToUnit [private]

Map between variable names and variable units.

Definition at line 66 of file Hdf5DataReader.hpp.

Referenced by GetUnit(), and Hdf5DataReader().


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

Generated by  doxygen 1.6.2