#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas Status: open Milestone: ET_2024_11 Version: Type: bug Priority: blocker Component: EinsteinToolkit thorn
Comment (by Erik Schnetter):
This works for me:
```c++ diff --git a/CarpetX/src/io_openpmd.cxx b/CarpetX/src/io_openpmd.cxx index acdbf9f7..43f30a9d 100644 --- a/CarpetX/src/io_openpmd.cxx +++ b/CarpetX/src/io_openpmd.cxx @@ -16,6 +16,10 @@
#include <openPMD/openPMD.hpp>
+#ifdef HAVE_CAPABILITY_ADIOS2 +#include <adios2.h> +#endif + #if defined _OPENMP #include <omp.h> #elif defined __HIPCC__ @@ -116,6 +120,7 @@ constexpr openPMD::IterationEncoding iterationEncoding = openPMD::IterationEncoding::fileBased;
// TODO: Set number of threads? +#ifdef ADIOS2_HAVE_BLOSC2 const std::string options = R"EOS( { "adios2": { @@ -133,6 +138,18 @@ const std::string options = R"EOS( } } )EOS"; +#else +const std::string options = R"EOS( + { + "adios2": { + "dataset": { + "operators": [ + ] + } + } + } +)EOS"; +#endif
constexpr bool input_ghosts = false; constexpr bool output_ghosts = false; ```
I the long term we would want to be able to use Cactus parameters to choose this…
If you prefer you can also just undo the changes that require Blosc.
-- Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-on...