diff --git a/bindings/CXX11/adios2/cxx11/Variable.h b/bindings/CXX11/adios2/cxx11/Variable.h index b2263a5780..ded48baded 100644 --- a/bindings/CXX11/adios2/cxx11/Variable.h +++ b/bindings/CXX11/adios2/cxx11/Variable.h @@ -214,7 +214,7 @@ class Variable * variable.Count() = {Ny,Nx}, then memoryCount = {Ny+2,Nx+2} * */ - void SetMemorySelection(const adios2::Box &memorySelection); + void SetMemorySelection(const adios2::Box &memorySelection = {{}, {}}); /** * Sets a step selection modifying current startStep, countStep diff --git a/source/adios2/core/VariableBase.cpp b/source/adios2/core/VariableBase.cpp index 2eb3442c0c..0bb9311471 100644 --- a/source/adios2/core/VariableBase.cpp +++ b/source/adios2/core/VariableBase.cpp @@ -221,6 +221,13 @@ void VariableBase::SetMemorySelection(const Box &memorySelection) const Dims &memoryStart = memorySelection.first; const Dims &memoryCount = memorySelection.second; + if (memoryStart.empty() && memoryCount.empty()) + { + m_MemoryStart.clear(); + m_MemoryCount.clear(); + return; + } + if (m_SingleValue) { helper::Throw("Core", "VariableBase", "SetMemorySelection",