Skip to content
Snippets Groups Projects
Commit 91c00f6d authored by guj's avatar guj
Browse files

minor change

parent 0d53c695
No related branches found
No related tags found
1 merge request!115Hdf5
...@@ -48,10 +48,9 @@ HDF5NativeWriter::HDF5NativeWriter(const std::string &fileName) ...@@ -48,10 +48,9 @@ HDF5NativeWriter::HDF5NativeWriter(const std::string &fileName)
{ {
m_FilePropertyListId = H5Pcreate(H5P_FILE_ACCESS); m_FilePropertyListId = H5Pcreate(H5P_FILE_ACCESS);
#ifdef ADIOS2_HAVE_MPI
// read a file collectively // read a file collectively
H5Pset_fapl_mpio(m_FilePropertyListId, MPI_COMM_WORLD, MPI_INFO_NULL); H5Pset_fapl_mpio(m_FilePropertyListId, MPI_COMM_WORLD, MPI_INFO_NULL);
#endif
m_FileId = H5Fcreate(fileName.c_str(), H5F_ACC_TRUNC, H5P_DEFAULT, m_FileId = H5Fcreate(fileName.c_str(), H5F_ACC_TRUNC, H5P_DEFAULT,
m_FilePropertyListId); m_FilePropertyListId);
...@@ -167,9 +166,8 @@ void HDF5NativeWriter::WriteSimple(const std::string &varName, int dimSize, ...@@ -167,9 +166,8 @@ void HDF5NativeWriter::WriteSimple(const std::string &varName, int dimSize,
// Create property list for collective dataset write. // Create property list for collective dataset write.
hid_t plistID = H5Pcreate(H5P_DATASET_XFER); hid_t plistID = H5Pcreate(H5P_DATASET_XFER);
#ifdef ADIOS2_HAVE_MPI
H5Pset_dxpl_mpio(plistID, H5FD_MPIO_COLLECTIVE); H5Pset_dxpl_mpio(plistID, H5FD_MPIO_COLLECTIVE);
#endif
herr_t status; herr_t status;
status = H5Dwrite(dsetID, h5Type, memSpace, fileSpace, plistID, data); status = H5Dwrite(dsetID, h5Type, memSpace, fileSpace, plistID, data);
...@@ -195,6 +193,11 @@ IO::IO(const Settings &s, MPI_Comm comm) ...@@ -195,6 +193,11 @@ IO::IO(const Settings &s, MPI_Comm comm)
{ {
m_outputfilename = s.outputfile + ".h5"; m_outputfilename = s.outputfile + ".h5";
if (s.outputfile[0]=='0') {
std::cout<<" no writer. "<<std::endl;
h5writer = nullptr;
return;
}
h5writer = std::make_shared<HDF5NativeWriter>(m_outputfilename); h5writer = std::make_shared<HDF5NativeWriter>(m_outputfilename);
if (h5writer == nullptr) if (h5writer == nullptr)
...@@ -203,13 +206,18 @@ IO::IO(const Settings &s, MPI_Comm comm) ...@@ -203,13 +206,18 @@ IO::IO(const Settings &s, MPI_Comm comm)
IO::~IO() IO::~IO()
{ {
h5writer->Close(); if (h5writer != nullptr) {
h5writer->Close();
}
// delete h5writer; // delete h5writer;
} }
void IO::write(int step, const HeatTransfer &ht, const Settings &s, void IO::write(int step, const HeatTransfer &ht, const Settings &s,
MPI_Comm comm) MPI_Comm comm)
{ {
if (h5writer == nullptr) {
return;
}
std::vector<hsize_t> dims = {s.gndx, s.gndy}; std::vector<hsize_t> dims = {s.gndx, s.gndy};
std::vector<hsize_t> offset = {s.offsx, s.offsy}; std::vector<hsize_t> offset = {s.offsx, s.offsy};
std::vector<hsize_t> count = {s.ndx, s.ndy}; std::vector<hsize_t> count = {s.ndx, s.ndy};
...@@ -217,6 +225,7 @@ void IO::write(int step, const HeatTransfer &ht, const Settings &s, ...@@ -217,6 +225,7 @@ void IO::write(int step, const HeatTransfer &ht, const Settings &s,
h5writer->WriteSimple("T", 2, ht.data_noghost().data(), H5T_NATIVE_DOUBLE, h5writer->WriteSimple("T", 2, ht.data_noghost().data(), H5T_NATIVE_DOUBLE,
dims.data(), offset.data(), count.data()); dims.data(), offset.data(), count.data());
h5writer->WriteScalar("gndy", &(s.gndy), H5T_NATIVE_UINT); h5writer->WriteScalar("gndy", &(s.gndy), H5T_NATIVE_UINT);
h5writer->WriteScalar("gndx", &(s.gndx), H5T_NATIVE_UINT);
h5writer->Advance(); h5writer->Advance();
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment