21#ifndef HDF5_SERIALIZER_HPP
22#define HDF5_SERIALIZER_HPP
24#include <opm/common/utility/Serializer.hpp>
26#include <opm/simulators/utils/HDF5File.hpp>
27#include <opm/simulators/utils/ParallelCommunication.hpp>
28#include <opm/simulators/utils/SerializationPackers.hpp>
37class HDF5Serializer :
public Serializer<Serialization::MemPacker> {
39 HDF5Serializer(
const std::string& fileName,
41 Parallel::Communication comm)
42 : Serializer<Serialization::MemPacker>(m_packer_priv)
43 , m_h5file(fileName, mode, comm)
54 const std::string& group,
55 const std::string& dset,
61 m_packSize = std::numeric_limits<std::size_t>::max();
65 m_h5file.write(group, dset, m_buffer, mode);
76 const std::string& module_version,
77 const std::string& time_stamp,
78 const std::string& case_name,
79 const std::string& params,
90 const std::string& group,
91 const std::string& dset,
94 m_h5file.read(group, dset, m_buffer, mode);
105 const Serialization::MemPacker m_packer_priv{};
OpenMode
Enumeration of file opening modes.
Definition HDF5File.hpp:37
DataSetMode
Enumeration of dataset modes.
Definition HDF5File.hpp:44
@ PROCESS_SPLIT
One separate data set for each parallel process.
Definition HDF5File.hpp:46
int lastReportStep() const
Returns the last report step stored in file.
Definition HDF5Serializer.cpp:46
std::vector< int > reportSteps() const
Returns a list of report steps stored in restart file.
Definition HDF5Serializer.cpp:58
void read(T &data, const std::string &group, const std::string &dset, HDF5File::DataSetMode mode=HDF5File::DataSetMode::PROCESS_SPLIT)
Read data and deserialize from restart file.
Definition HDF5Serializer.hpp:89
void writeHeader(const std::string &simulator_name, const std::string &module_version, const std::string &time_stamp, const std::string &case_name, const std::string ¶ms, int num_procs)
Writes a header to the file.
Definition HDF5Serializer.cpp:29
void write(T &data, const std::string &group, const std::string &dset, HDF5File::DataSetMode mode=HDF5File::DataSetMode::PROCESS_SPLIT)
Serialize and write data to restart file.
Definition HDF5Serializer.hpp:53
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilbioeffectsmodules.hh:45