#ifndef IO_H #define IO_H /** * \file IO.h * \brief IO class declaration * \class IO. * * \brief Class contains functions for input/output * * \author Slava Merkin (vgm at bu.edu) * \since 06-2007 */ #include "Overture.h" #include "Params.h" #include "functions.h" #include "HDF_DataBase.h" #include "DateTime.h" extern "C" { // Include HDF header #include "mfhdf.h" } #include "Ogshow.h" class IO { public: IO(Params *); void ReadVariable(const DateTime &UT, realCompositeGridFunction &varFunction, int VARIABLE_ID); void Read(real &tilt, const DateTime &UT, long &mhdTimeStep, realCompositeGridFunction &varFunction); void Write(const real &tilt, const DateTime &UT, const long &mhdTimeStep, const realCompositeGridFunction &varFunction); void Write(const real &tilt, const intArray &UT, const long &mhdTimeStep, const realCompositeGridFunction &varFunction); private: // File accessors void Open(const intArray &UT, const long &mhdTimeStep, const bool &openForWrite); void Close(); // Read routines: void ReadAttributes(real &tilt, const intArray &UT, long &mhdTimeStep); void GetData(realCompositeGridFunction &varFunction); bool ReadOneVariable(realCompositeGridFunction &cgf, int VARIABLE_ID); bool ReadOneVariable(const char *variable, realArray &dataObject); // Write routines: void SaveAttributes(const real &tilt, const intArray &UT, const long &mhdTimeStep); void Add(const realCompositeGridFunction &varFunction, const char* strLabel); void Add(const realCompositeGridFunction &varFunction); Params *PARAMS; char hdfName[STRLEN]; int hdfFileID; HDF_DataBase dataHDF; }; #endif