# Supporting arbitrary schemas with programmable conduit-based producer

**URL:** https://discourse.paraview.org/t/supporting-arbitrary-schemas-with-programmable-conduit-based-producer/13759
**Category:** In Situ Support
**Tags:** proposal
**Created:** [January 21, 2024, 2:52pm UTC](https://discourse.paraview.org/t/supporting-arbitrary-schemas-with-programmable-conduit-based-producer/13759 "2024-01-21T14:52:25Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![utkarsh.ayachit](https://discourse.paraview.org/user_avatar/discourse.paraview.org/utkarsh.ayachit/32/39_2.png) [@utkarsh.ayachit](https://discourse.paraview.org/u/utkarsh.ayachit)
#### Post date: [January 21, 2024, 2:52pm UTC](https://discourse.paraview.org/t/supporting-arbitrary-schemas-with-programmable-conduit-based-producer/13759/1 "2024-01-21T14:52:25Z")

</div>

I am working on a Fortran code and attempting to use Catalyst to pass the along for insitu processing. My final objective is multi-pronged, I am potentially looking into developing custom catalyst implementations for targeted processing use-cases that work more efficiently with my simulation data. At the same time, I want to be able to conveniently bring that data into ParaView for validation etc.

Of course I can pass data from Fortran using the Mesh blueprint. It so happens, however, to fit the schema I’ll have to do a lot of deep-copies. Ideally, I want to pass necessary simulation arrays as-is through Catalyst and then write some small VTK-Python code to transform the array to VTK data structures.

If I had a Programmable data source that was simply provided the Conduit mesh node, then by using Conduit’s Python API, I can easily get access to the data and create VTK data structures as needed.

Thoughts? I think Fides is sorta meant to help me in this scenario – IIRC – but I don’t have ADIOS is my setup and hence I am not sure how that would work for me here.

---

<div class="post-metadata">

### Author: ![Lucas\_Givord](https://discourse.paraview.org/user_avatar/discourse.paraview.org/lucas_givord/32/6851_2.png) [@Lucas\_Givord](https://discourse.paraview.org/u/Lucas_Givord)
#### Post date: [January 22, 2024, 8:42am UTC](https://discourse.paraview.org/t/supporting-arbitrary-schemas-with-programmable-conduit-based-producer/13759/2 "2024-01-22T08:42:02Z")

</div>

FYI @Christos_Tsolakis @nicolas.vuaille @Francois_Mazen

---

<div class="post-metadata">

### Author: ![nicolas.vuaille](https://discourse.paraview.org/user_avatar/discourse.paraview.org/nicolas.vuaille/32/5873_2.png) [@nicolas.vuaille](https://discourse.paraview.org/u/nicolas.vuaille)
#### Post date: [January 22, 2024, 8:51am UTC](https://discourse.paraview.org/t/supporting-arbitrary-schemas-with-programmable-conduit-based-producer/13759/3 "2024-01-22T08:51:31Z")

</div>

I think this is definitely doable to have some kind of `ProgrammableConduitSource`. It may also be useful for debugging purpose.

---

<div class="post-metadata">

### Author: ![utkarsh.ayachit](https://discourse.paraview.org/user_avatar/discourse.paraview.org/utkarsh.ayachit/32/39_2.png) [@utkarsh.ayachit](https://discourse.paraview.org/u/utkarsh.ayachit)
#### Post date: [January 22, 2024, 5:27pm UTC](https://discourse.paraview.org/t/supporting-arbitrary-schemas-with-programmable-conduit-based-producer/13759/4 "2024-01-22T17:27:44Z")

</div>

I’ve reported an issue here: [https://gitlab.kitware.com/paraview/paraview/-/issues/22458](https://gitlab.kitware.com/paraview/paraview/-/issues/22458)
