Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::Hdf5ReaderWriter Class Reference

Reading/Writing in HDF5 format. More...

#include <arcane/hdf5/Hdf5ReaderWriter.h>

Public Types

enum  eOpenMode { OpenModeRead , OpenModeTruncate , OpenModeAppend }

Public Member Functions

 Hdf5ReaderWriter (ISubDomain *sd, const String &filename, const String &m_sub_group_name, Integer fileset_size, Integer write_index, Integer index_modulo, eOpenMode om, bool do_verif=false)
virtual void initialize ()
virtual void beginWrite (const VariableCollection &vars)
virtual void endWrite ()
virtual void beginRead (const VariableCollection &vars)
virtual void endRead ()
virtual void setMetaData (const String &meta_data)
 Sets the metadata information.
virtual String metaData ()
 Metadata.
virtual void write (IVariable *v, IData *data)
 Writes the data data of the variable var.
virtual void read (IVariable *v, IData *data)
 Reads the data data of the variable var.
herr_t iterateMe (hid_t group_id, const char *member_name)
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IDataReader
virtual ~IDataReader ()=default
 Frees resources.
Public Member Functions inherited from Arcane::IDataWriter
virtual ~IDataWriter ()=default
 Frees resources.

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Reading/Writing in HDF5 format.

The HDF5 version used is at least version 1.4.3.

Regarding real numbers, only double precision is supported. They are therefore stored in 8 bytes as well.

For Real2, Real2x2, Real3, and Real3x3, a composite type is used.

The structure of the saved information is as follows:

  • * all variables are saved in a group called "Variables". * .
  • * for each variable, a subgroup named after the variable is created. This subgroup contains the following attributes and datasets:
    • * An attribute named "Dims" which is an array of 1 or 2 Integer elements containing information about the sizes and dimensions of the variable. This attribute is always present and is used, among other things, to determine if the other two datasets are present. The first value (index 0) is always the number of elements in the array. If the variable is a one-dimensional array, there are no other values. If the array is two-dimensional, the second value is equal to the size of the first dimension of the array, while the sizes of the second dimensions are given by the "Dim2" attribute.
    • * A dataset named "Dim2". This dataset is only present if the variable is a two-dimensional array, when the first dimension is not zero and the number of elements is not zero. In this case, this dataset is an array of Integer type whose size is equal to the size of the first dimension of the variable, and thus each value is equal to the size of the second dimension.
    • * A dataset named "Values" containing the values of the variable. This dataset is not present in the case of an array variable whose number of elements is zero or when the variable is temporary (IVariable::PNoDump property). *
Warning
* The handling of reading/writing in this format is currently at the experimental stage and cannot be used to ensure long-term data persistence.

Definition at line 76 of file Hdf5ReaderWriter.h.

Member Enumeration Documentation

◆ eOpenMode

enum Arcane::Hdf5ReaderWriter::eOpenMode

Definition at line 84 of file Hdf5ReaderWriter.h.

Constructor & Destructor Documentation

◆ Hdf5ReaderWriter()

Arcane::Hdf5ReaderWriter::Hdf5ReaderWriter ( ISubDomain * sd,
const String & filename,
const String & m_sub_group_name,
Integer fileset_size,
Integer write_index,
Integer index_modulo,
eOpenMode om,
bool do_verif = false )

Definition at line 94 of file Hdf5ReaderWriter.cc.

◆ ~Hdf5ReaderWriter()

Arcane::Hdf5ReaderWriter::~Hdf5ReaderWriter ( )

Definition at line 235 of file Hdf5ReaderWriter.cc.

Member Function Documentation

◆ beginRead()

virtual void Arcane::Hdf5ReaderWriter::beginRead ( const VariableCollection & vars)
inlinevirtual

Implements Arcane::IDataReader.

Definition at line 108 of file Hdf5ReaderWriter.h.

◆ beginWrite()

virtual void Arcane::Hdf5ReaderWriter::beginWrite ( const VariableCollection & vars)
inlinevirtual

Implements Arcane::IDataWriter.

Definition at line 103 of file Hdf5ReaderWriter.h.

◆ endRead()

virtual void Arcane::Hdf5ReaderWriter::endRead ( )
inlinevirtual

Implements Arcane::IDataReader.

Definition at line 112 of file Hdf5ReaderWriter.h.

◆ endWrite()

void Arcane::Hdf5ReaderWriter::endWrite ( )
virtual

Implements Arcane::IDataWriter.

Definition at line 750 of file Hdf5ReaderWriter.cc.

◆ initialize()

void Arcane::Hdf5ReaderWriter::initialize ( )
virtual

Definition at line 138 of file Hdf5ReaderWriter.cc.

◆ iterateMe()

herr_t Arcane::Hdf5ReaderWriter::iterateMe ( hid_t group_id,
const char * member_name )

Definition at line 327 of file Hdf5ReaderWriter.cc.

◆ metaData()

String Arcane::Hdf5ReaderWriter::metaData ( )
virtual

Metadata.

Implements Arcane::IDataReader.

Definition at line 719 of file Hdf5ReaderWriter.cc.

References Arcane::Array< T >::data().

◆ read()

void Arcane::Hdf5ReaderWriter::read ( IVariable * var,
IData * data )
virtual

Reads the data data of the variable var.

Implements Arcane::IDataReader.

Definition at line 635 of file Hdf5ReaderWriter.cc.

◆ setMetaData()

◆ write()

void Arcane::Hdf5ReaderWriter::write ( IVariable * var,
IData * data )
virtual

Writes the data data of the variable var.

Implements Arcane::IDataWriter.

Definition at line 594 of file Hdf5ReaderWriter.cc.


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