@@ -5886,6 +5886,11 @@ void variableBasedSeries(std::string const &file)
58865886 constantParticles.resetDataset ({Datatype::INT, {i}});
58875887 constantParticles.makeConstant (i);
58885888
5889+ auto partialMesh =
5890+ iteration.meshes [" partial" ][std::to_string (i / 3 )];
5891+ partialMesh.resetDataset ({openPMD::Datatype::INT, {10 }});
5892+ partialMesh.storeChunk (data, {0 }, {10 });
5893+
58895894 iteration.close ();
58905895 }
58915896 REQUIRE (auxiliary::directory_exists (file));
@@ -5967,11 +5972,19 @@ void variableBasedSeries(std::string const &file)
59675972 REQUIRE (E_x.getDimensionality () == 1 );
59685973 REQUIRE (E_x.getExtent ()[0 ] == extent);
59695974 auto chunk = E_x.loadChunk <int >({0 }, {extent});
5975+ auto partialMesh =
5976+ iteration.meshes [" partial" ]
5977+ [std::to_string (iteration.iterationIndex / 3 )];
5978+ auto chunk2 = partialMesh.loadChunk <int >({0 }, {10 });
59705979 iteration.close ();
59715980 for (size_t i = 0 ; i < extent; ++i)
59725981 {
59735982 REQUIRE (chunk.get ()[i] == int (iteration.iterationIndex ));
59745983 }
5984+ for (size_t i = 0 ; i < 10 ; ++i)
5985+ {
5986+ REQUIRE (chunk2.get ()[i] == int (iteration.iterationIndex ));
5987+ }
59755988
59765989 auto E_y = iteration.meshes [" E" ][" y" ];
59775990 unsigned dimensionality = iteration.iterationIndex % 3 + 1 ;
@@ -5983,10 +5996,6 @@ void variableBasedSeries(std::string const &file)
59835996
59845997 // this loop ensures that only the recordcomponent ["E"]["i"] is
59855998 // present where i == iteration.iterationIndex
5986- // Note that this works for ReadRandomAccess as well since constant
5987- // components contain no datasets. The ADIOS2 backend is however not
5988- // (yet) able to deal with array datasets that are present only in a
5989- // subselection of steps.
59905999 for (uint64_t otherIteration = 0 ; otherIteration < 10 ;
59916000 ++otherIteration)
59926001 {
0 commit comments