export DEMO=/tmp/<some_location>   # could also be $SCRATCH/<some_location>

1. install Catalyst2 https://catalyst-in-situ.readthedocs.io/en/latest/build_and_install.html#obtaining-the-source

cd $DEMO
git clone https://gitlab.kitware.com/paraview/catalyst.git catalyst-src
cd catalyst-src
mkdir -p build && cd build
module load cmake/3.22.1 gcc/9.3.0
cmake -G Ninja .. -DCMAKE_INSTALL_PREFIX=$DEMO/catalyst
ninja   # build
ctest   # optionally, run tests => 35/36 passed
ninja install

2. compile ParaView

cd $DEMO
module load gcc/9.3.0 python/3.8.10 hdf5/1.10.6 ospray/2.2.0 netcdf/4.7.4
wget https://www.paraview.org/files/v5.10/ParaView-v5.10.1.tar.xz
unpack and cd there
mkdir -p build && cd build
FLAGS=(
 -DCMAKE_INSTALL_PREFIX=$DEMO/paraview
 -DVTK_OPENGL_HAS_OSMESA=ON
 -DPARAVIEW_USE_MPI=ON -DBUILD_TESTING=OFF
 -DVTK_USE_X=OFF -DPARAVIEW_USE_QT=OFF
 -DPARAVIEW_USE_PYTHON=ON -DPython3_FIND_STRATEGY=LOCATION -DPython3_ROOT_DIR=$EBROOTPYTHON
 -DPARAVIEW_BUILD_SHARED_LIBS=ON
 -DPARAVIEW_ENABLE_RAYTRACING=ON
)
cmake .. "${FLAGS[@]}"
make -j8
make install
cd $DEMO/ParaView-v5.10.1
/bin/rm -rf *.txt .cl* .kit* *.md build Cli* Doc* Qt Test* Web CM* Thi* VTK* Wr* Ad* CT* Kits Pl* Rem* Util* # keep only Examples

3. compile and run CFullExample

cd $DEMO/ParaView-v5.10.1/Examples/Catalyst2/CFullExample
module load cmake/3.22.1 gcc/9.3.0
cmake -Dcatalyst_DIR=$DEMO/catalyst/lib64/cmake/catalyst-2.0 .
make
export CATALYST_IMPLEMENTATION_PATHS=$DEMO/paraview/lib64/catalyst
export CATALYST_IMPLEMENTATION_NAME=paraview

salloc --time=0:15:0 --mem-per-cpu=3600 --account=...
./bin/CFullExampleV2 catalyst_pipeline.py                # serial run

salloc --ntasks=2 --time=0:15:0 --mem-per-cpu=3600 --account=...
mpirun -np 2 ./bin/CFullExampleV2 catalyst_pipeline.py   # each MPI rank will output below
