<div dir="ltr">I vote for hdf5 backed xdmf. hdf5 is performant, widely adopted and there are many tools that understand it.<div><br></div><div>The xdmf layer is, at least in concept, very lightweight (it is just text that translates the hdf5 arrays into something that VTK understands) and in the use cases its developers made it for, very performant. The problem with xdmf is that it is inconsistently developed and maintained by a few occasional developers.</div><div><br></div><div>The good news is that:</div><div>a) xdmf is open source and contributions in the form of code or documentation are invited</div><div>b) dedicated support for xdmf if just a kitware <a href="http://www.kitware.com/products/support.html" target="_blank">support contrac</a>t away </div><div>c) no longer strictly necessary to get data into ParaView with. See Berk Geveci's excellent article on how to use python to directly ingest hdf5 data for example, or consider a newer high level interface to hdf5 backed data like netcdf4 or exodusII on top of netcdf4.</div><div><br></div><div>hope that helps</div><div><br></div><div><br><div><br></div><div><div><div><div><br></div></div></div></div></div><div class="gmail_extra"><br clear="all"><div><div>David E DeMarle<br>Kitware, Inc.<br>R&D Engineer<br>21 Corporate Drive<br>Clifton Park, NY 12065-8662<br>Phone: <a href="tel:518-881-4909" value="+15188814909" target="_blank">518-881-4909</a></div></div>
<br><div class="gmail_quote">On Sat, Jun 13, 2015 at 4:46 AM, Paul Anton Letnes <span dir="ltr"><<a href="mailto:pa@letnes.com" target="_blank">pa@letnes.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Stefano (and others),<br>
<br>
I’ve seen some of your efforts posted on github. I have to say I commend your efforts; the open source Fortran community is too small. I will investigate several of your libraries recently, especially after you modified the licensing terms to be very liberal.<br>
<br>
Even though VTK is probably the “right” format to use, I am reluctant to introduce yet another file format into the fray (our code already has too many IMHO). That being said, it’s a relatively standard format that should stand the test of time. Your library appears to solve the issue of writing the data to disk, at least.<br>
<br>
Best regards,<br>
Paul<br>
<div><div><br>
> On 8. jun. 2015, at 11.49, Stefano Zaghi <<a href="mailto:stefano.zaghi@gmail.com" target="_blank">stefano.zaghi@gmail.com</a>> wrote:<br>
><br>
> Hi all,<br>
><br>
> another possibility is to write your Fortran data directly into VTK files format.<br>
><br>
> I develop a KISS library in pure Fortran for IO of Fortran data into VTK standard: see <a href="https://github.com/szaghi/Lib_VTK_IO" rel="noreferrer" target="_blank">https://github.com/szaghi/Lib_VTK_IO</a><br>
><br>
> The exporters are almost complete. The importers are under developing by a power collaborator <a href="https://github.com/victorsndvg/Lib_VTK_IO" rel="noreferrer" target="_blank">https://github.com/victorsndvg/Lib_VTK_IO</a> this work will be merged very soon into the main branch.<br>
><br>
> Summarizing, Lib_VTK_IO is<br>
><br>
> + Lib_VTK_IO is a pure Fortran library to write and read data conforming the VTK standard;<br>
> + Lib_VTK_IO is Fortran 2003+ standard compliant;<br>
> + Lib_VTK_IO supports parallel architectures by means OpenMP and MPI paradigms;<br>
> + Lib_VTK_IO supports ascii, binary and base64 file formats;<br>
> + Lib_VTK_IO is a Free, Open Source Project.<br>
><br>
> My best regards<br>
><br>
> Stefano Zaghi Ph.D. Aerospace Engineer<br>
><br>
> Research Scientist, Dept. of Computational Hydrodynamics at CNR-INSEAN<br>
> p: <a href="tel:%2B39%200650299260" value="+390650299260" target="_blank">+39 0650299260</a> | m: <a href="tel:%2B39%203497730036" value="+393497730036" target="_blank">+39 3497730036</a> | e: <a href="mailto:stefano.zaghi@gmail.com" target="_blank">stefano.zaghi@gmail.com</a><br>
><br>
> Codes Showcase<br>
> OFF Open source Finite volumes Fluid dynamics code<br>
> Lib_VTK_IO Fortran library to write and read data conforming the VTK standard<br>
> FLAP Fortran command Line Arguments Parser for poor men<br>
> BeFoR64 Base64 encoding/decoding library for FoRtran poor men<br>
> FiNeR Fortran INI ParseR and generator for FoRtran poor men<br>
> IR_Precision Fortran (standard 2003) module to develop portable codes<br>
> FoBis.py Fortran Building System for poor men<br>
> PreForM.py Preprocessor for Fortran poor men<br>
> MaTiSSe.py Markdown To Impressive Scientific Slides<br>
><br>
><br>
> On Mon, Jun 8, 2015 at 11:27 AM, Armin Wehrfritz <<a href="mailto:dkxls23@gmail.com" target="_blank">dkxls23@gmail.com</a>> wrote:<br>
> Hi Paul,<br>
><br>
> as you and Dan already stated, the HDF5 format is a very good choice to write out large datasets.<br>
><br>
> I usually write the HDF5 files directly from my simulation codes and generate a XDMF file afterwards.<br>
> The actual XDMF file contains just the meta data in XML format [1] and this can be tailored to your application/dataset (I use python with h5py and xml.etree to do this).<br>
> Hence, my simulation codes (written in C++) only depend on the HDF5 libraries.<br>
><br>
> Eventually, this will enable you to store your data in a robust, flexible and portable file format.<br>
><br>
> For more complex setups I would also consider using the VTK libraries to handle the data IO as Dan suggested.<br>
><br>
> -Armin<br>
><br>
> [1] <a href="http://www.xdmf.org/index.php/XDMF_Model_and_Format" rel="noreferrer" target="_blank">http://www.xdmf.org/index.php/XDMF_Model_and_Format</a><br>
><br>
><br>
><br>
><br>
> On 06/07/2015 10:40 PM, Dan Lipsa wrote:<br>
> You are right, ParaView does not read hdf5 directly but rather hdf5<br>
> based formats (hdf5 + additional info): both netcdf and xdmf have readers.<br>
> You can get a list of all readers supported by your ParaView<br>
> installation using Help in ParaView. Additional readers can be enabled with<br>
> compile time options.<br>
><br>
> You can write Xdmf data using vtkXdmfWriter or vtkXdm3Writer (you'll<br>
> have to link with the VTK library). These writers have tests which is a<br>
> good way to see an example of how to use the class. You can also take a<br>
> look at the VTK XML based formats: vtkXMLPolyDataWriter,<br>
> vtkXMLImageDataWriter, vtkXMLUnstructuredGridWriter/Reader. Probably you<br>
> could write data with a library that comes with that format and then<br>
> read it with ParaView.<br>
><br>
> Do you need parallel writing/reading?<br>
><br>
> Dan<br>
><br>
><br>
><br>
><br>
> On Sun, Jun 7, 2015 at 4:26 AM Paul Anton Letnes <<a href="mailto:pa@letnes.com" target="_blank">pa@letnes.com</a><br>
> <mailto:<a href="mailto:pa@letnes.com" target="_blank">pa@letnes.com</a>>> wrote:<br>
><br>
> Hi Dan!<br>
><br>
> I’m familiar with the HDF5 library and documentation, but thanks<br>
> anyway for the link.<br>
><br>
> I don’t see how I can have ParaView read and understand HDF5 files.<br>
> That is, there are several readers (e.g. H5Nimrod) that use HDF5 as<br>
> the underlying format, but I don’t see how to get paraview to<br>
> understand which arrays are coordinates (nodes?), which are results,<br>
> etc. for my application.<br>
><br>
> Perhaps I should stress again that I have limited experience with<br>
> ParaView, and since the supported file formats and possibilities<br>
> seem endless, I have trouble getting an overview of sensible choices.<br>
><br>
> My preference for hdf5 is partly due to other software in my<br>
> organization supporting this format, and my own familiarity with it.<br>
><br>
> Paul<br>
><br>
> > On 7. jun. 2015, at 04.07, Dan Lipsa <<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a><br>
> <mailto:<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>>> wrote:<br>
> ><br>
> > Hi Paul,<br>
> > Indeed #2 makes sense, especially if you want to change the<br>
> in-house format. To write the file (from the simulation) it seems to<br>
> me you should checkout<br>
> ><br>
> > <a href="https://www.hdfgroup.org/HDF5/doc/fortran/index.html" rel="noreferrer" target="_blank">https://www.hdfgroup.org/HDF5/doc/fortran/index.html</a><br>
> ><br>
> > I don't see why ParaView would be used in that process. Am I<br>
> missing something?<br>
> > Dan<br>
> ><br>
> ><br>
> ><br>
> > On Sat, Jun 6, 2015 at 8:04 AM Paul Anton Letnes <<a href="mailto:pa@letnes.com" target="_blank">pa@letnes.com</a><br>
> <mailto:<a href="mailto:pa@letnes.com" target="_blank">pa@letnes.com</a>>> wrote:<br>
> > Hi, fellow paraviewers!<br>
> ><br>
> > I’ve spent some time playing with tutorials and user manuals, and<br>
> so far I’m impressed with what paraview can do.<br>
> ><br>
> > I am working on a specialized structural engineering program<br>
> that, mainly, performs simulations of pipes with circular cross<br>
> sections. Each pipe is split into nodes and 1D elements, and results<br>
> are reported at points (or, less commonly, elements) along the pipe.<br>
> ><br>
> > Some results are reported once per cross section; e.g, the<br>
> tension in the pipe has a single value for the entire cross section.<br>
> Other results, e.g. plastic strain, is reported for a number of<br>
> points along the circumference of the pipe (say, 5-50 points), for<br>
> each of the cross sections. The results can be either “snapshots” or<br>
> time series.<br>
> ><br>
> > After what I’ve seen from the paraview documentation, possible<br>
> approaches include:<br>
> > 1. Create a paraview plugin to read our current in-house file format.<br>
> > 2. Directly write output files in an already supported format.<br>
> > 3. Write pvpython scripts that perform the conversion on the fly.<br>
> ><br>
> > Approach 1 is probably a lot of work and the file format is not<br>
> of interest to anyone else (optimally, I’d like to replace it), so<br>
> this seems less attractive. Approach 3 is probably less<br>
> user-friendly for our users.<br>
> ><br>
> > The second approach seems sensible, but the paraview<br>
> documentation does not give many examples of how to do this.<br>
> Optimally, I’d like to write a hdf5-based format (xdmf? netcdf? raw<br>
> hdf5?) directly from Fortran, but I haven’t found documentation on<br>
> how to do this. Using hdf5 seems attractive as it’s so widely<br>
> supported by e.g. matlab, python, and other postprocessing tools<br>
> used in the industry. Getting a single results database would<br>
> simplify a lot of workflows!<br>
> ><br>
> > What would you guys do?<br>
> ><br>
> > Cheers<br>
> > Paul<br>
> > _______________________________________________<br>
> > Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a> <<a href="http://www.kitware.com" rel="noreferrer" target="_blank">http://www.kitware.com</a>><br>
> ><br>
> > Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
> ><br>
> > Please keep messages on-topic and check the ParaView Wiki at:<br>
> <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
> ><br>
> > Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
> ><br>
> > Follow this link to subscribe/unsubscribe:<br>
> > <a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
</div></div></blockquote></div><br></div></div>