Newer
Older
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* ADIOS1Writer.cpp
* Class to write files using old adios 1.x library.
* It requires adios 1.x installed
*
* Created on: Mar 27, 2017
* Author: Norbert Podhorszki pnorbert@ornl.gov
#include "ADIOS1Writer.h"
#include "adios2/helper/adiosFunctions.h"
Atkins, Charles Vernon
committed
// Enable compatibility with ADIOS 1.10 adios_declare_group signature
#if !ADIOS_VERSION_GE(1, 11, 0)
#define adios_stat_default adios_flag_yes
#endif
ADIOS1Writer::ADIOS1Writer(IO &io, const std::string &name, const Mode mode,
m_EndMessage = " in call to ADIOS1Writer " + m_Name + " Open\n";
StepStatus ADIOS1Writer::BeginStep(StepMode mode, const float timeoutSeconds)
}
/* PutDeferred = PutSync, so nothing to be done in PerformPuts */
void ADIOS1Writer::PerformPuts() {}
void ADIOS1Writer::EndStep() { m_ADIOS1.Advance(); }
void ADIOS1Writer::Close(const int transportIndex) { m_ADIOS1.Close(); }
// PRIVATE
InitParameters();
InitTransports();
void ADIOS1Writer::DoPutSync(Variable<T> &variable, const T *values) \
{ \
m_ADIOS1.WriteVariable(variable.m_Name, variable.m_ShapeID, \
variable.m_Count, variable.m_Shape, \
variable.m_Start, values); \
} \
void ADIOS1Writer::DoPutDeferred(Variable<T> &variable, const T *values) \
{ \
m_ADIOS1.WriteVariable(variable.m_Name, variable.m_ShapeID, \
variable.m_Count, variable.m_Shape, \
variable.m_Start, values); \
ADIOS2_FOREACH_TYPE_1ARG(declare_type)
#undef declare_type
m_ADIOS1.InitParameters(m_IO.m_Parameters);
}
void ADIOS1Writer::InitTransports()
{
m_ADIOS1.InitTransports(m_IO.m_TransportsParameters);