[Catalyst V2] Support for AMR data

Hello, I have recently taken over maintaining and updating an old ParaView (V1) Catalyst implementation for a code that uses the Chombo libraries for [Berger-Oliger style] Adaptive Mesh Refinement (Chombo - Software for Adaptive Solutions of Partial Differential Equations - Chombo Chombo). Since the data uses AMR, we used the corresponding VTK data structures (e.g. vtkOverlappingAMR).

I was looking at the new Catalyst (V2) API and I really like the supposed benefits of updating to use it. However, before I start porting our code to use it I thought it would be asking whether such datasets are supported. In particular, does the new ParaView Catalyst implementation supports AMR datasets via the Conduit Mesh protocol? Looking at the Conduit documentation, it seems it is possible to describe AMR data using nesting sets but I wasn’t sure if the ParaView Catalyst code was able to handle this since I couldn’t see anything related to nestsets in the ParaView Conduit VTK extension code.

@Francois_Mazen @nicolas.vuaille

Indeed, nesting sets and AMR are not currently supported by Catalyst V2. As a work around you may create many meshes for each level set. I agree this is not optimal.

Do you know if there is a plan to support this in the near future?

I’m not aware of such plan. @utkarsh.ayachit may have more information on Catalyst2 roadmap.

@coreylee - thoughts?

The AMReX library has conduit node support (geared toward Ascent) which I used to create a Catalyst 2 compliant conduit node. It was fairly straightforward to do so, unfortunately I don’t have my example available, it’s in a closed repo. But you may glean some useful insight inspecting the AMReX implementation.

I know it’s not a perfect match, but that may give you a strong start!

As far as nesting sets and AMR, we don’t have an existing roadmap for support, but creating structured grids at each level isn’t a terrible approach.

Thanks for pointing out the conduit support in AMReX. I actually had found this a few months ago and was planning to use this as a guide for AMR with conduit before I abandoned this attempt and decided to just stick with the Catalyst v1 instrumentation.

Do you have a working Catalyst v2 insitu instrumentation with AMReX then? If so, how well does it work and how does it compare to a Catalyst v1 instrumentation in terms of its support for AMR?

The Catalyst v2 instrumentation is in a science code based on AMReX (MFix-Exa), and given the existing conduit node support, the Catalyst v2 instrumentation was straightforward. However, it produces a partitioned dataset collection with structured grids for each level.

Thanks for the information. I don’t think it makes sense for me to migrate my Catalyst instrumentation but I hope proper support for AMR comes at some point.