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

minor fix

parent 28026904
No related branches found
No related tags found
1 merge request!329added GetPreferred for stream reading
......@@ -21,7 +21,16 @@ adios2::Variable<unsigned int> *varGndx = nullptr;
IO::IO(const Settings &s, MPI_Comm comm)
{
m_outputfilename = s.outputfile + ".h5";
m_outputfilename = s.outputfile;
std::string suffix = ".h5";
int ss = s.outputfile.size();
if ((ss > suffix.size()) && s.outputfile.find(suffix) != ss - suffix.size())
{
// Your code here
m_outputfilename += suffix;
}
ad = new adios2::ADIOS(comm, adios2::DebugOFF);
// Define method for engine creation
......
......@@ -230,42 +230,49 @@ values); #endif
}
*/
StepStatus HDF5ReaderP::BeginStep(StepMode mode, const float timeoutSeconds)
StepStatus HDF5ReaderP::BeginStep(StepMode mode, const float timeoutSeconds)
{
m_InStreamMode=true;
int ts = m_H5File.GetNumTimeSteps();
if (m_StreamAt >= ts) {
return StepStatus::EndOfStream;
}
m_InStreamMode = true;
int ts = m_H5File.GetNumTimeSteps();
if (m_StreamAt >= ts)
{
return StepStatus::EndOfStream;
}
return StepStatus::OK;
return StepStatus::OK;
}
void HDF5ReaderP::EndStep() { m_StreamAt ++; m_H5File.Advance(); }
void HDF5ReaderP::EndStep()
{
m_StreamAt++;
m_H5File.Advance();
}
void HDF5ReaderP::PerformGets()
{
if (!m_InStreamMode) {
throw std::runtime_error("PerformGets() needs to follow stream read sequeuences.");
}
if (!m_InStreamMode)
{
throw std::runtime_error(
"PerformGets() needs to follow stream read sequeuences.");
}
#define declare_type(T) \
for (std::string variableName : m_DeferredStack) { \
Variable<T>* var = m_IO.InquireVariable<T>(variableName); \
if (var != nullptr) \
{ \
var->m_StepsStart = m_StreamAt; \
var->m_StepsCount = 1; \
hid_t h5Type = m_H5File.GetHDF5Type<T>(); \
UseHDFRead(*var, var->GetData(), h5Type); \
break; \
} \
}
ADIOS2_FOREACH_TYPE_1ARG(declare_type)
#undef declare_type
for (std::string variableName : m_DeferredStack) \
{ \
Variable<T> *var = m_IO.InquireVariable<T>(variableName); \
if (var != nullptr) \
{ \
var->m_StepsStart = m_StreamAt; \
var->m_StepsCount = 1; \
hid_t h5Type = m_H5File.GetHDF5Type<T>(); \
UseHDFRead(*var, var->GetData(), h5Type); \
break; \
} \
}
ADIOS2_FOREACH_TYPE_1ARG(declare_type)
#undef declare_type
m_DeferredStack.clear();
m_DeferredStack.clear();
}
void HDF5ReaderP::Close(const int transportIndex) { m_H5File.Close(); }
......
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