[From nobody Thu Jun 19 10:27:01 2008
X-Account-Key: account2
X-Mozilla-Keys: 
Return-Path: &lt;clarke@arl.army.mil&gt;
X-Original-To: rnelias@nacad.ufrj.br
Delivered-To: rnelias@nacad.ufrj.br
Received: from inferno.arl.army.mil (inferno.arl.army.mil [128.63.58.14])
	by mailhost.nacad.ufrj.br (Postfix) with ESMTP id 72B92726E3
	for &lt;rnelias@nacad.ufrj.br&gt;; Wed, 18 Jun 2008 18:05:57 -0300 (BRT)
Received: from ice.arl.army.mil (ice.arl.army.mil [128.63.6.12])
	by inferno.arl.army.mil (Postfix) with ESMTP id D4BB55C86E
	for &lt;rnelias@nacad.ufrj.br&gt;; Wed, 18 Jun 2008 17:05:54 -0400 (EDT)
Message-ID: &lt;485978B2.4060601@arl.army.mil&gt;
Date: Wed, 18 Jun 2008 17:05:54 -0400
From: Jerry Clarke &lt;clarke@arl.army.mil&gt;
User-Agent: Thunderbird 2.0.0.14 (X11/20080421)
MIME-Version: 1.0
To: &quot;Renato N. Elias&quot; &lt;rnelias@nacad.ufrj.br&gt;
Subject: Re: [Paraview] Parallel file formats (again)... (UNCLASSIFIED)
References: &lt;48526EDF.8010602@nacad.ufrj.br&gt;&lt;B02EEF5D-F561-403C-ACAF-497DDCD0D20A@usace.army.mil&gt;&lt;4852909D.1060901@vision.ee.ethz.ch&gt;
	&lt;4852B48A.3040209@nacad.ufrj.br&gt;
	&lt;3DEB727CED850444BC67A65ECB26796A02D64524@ARLABML01.DS.ARL.ARMY.MIL&gt;
	&lt;4852D48B.5070108@nacad.ufrj.br&gt; &lt;4852E4DC.7070603@arl.army.mil&gt;
	&lt;48591A7F.1050700@nacad.ufrj.br&gt;
In-Reply-To: &lt;48591A7F.1050700@nacad.ufrj.br&gt;
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Renato,

No that is not currently supported ... but that sounds like a good idea.
You would have to have 1 temporal collection that contains 7 separate 
uniform grids (The &lt;Time&gt; element goes before the first grid).


       &lt;Grid GridType=&quot;Collection&quot; CollectionType=&quot;Temporal&quot;&gt;
             &lt;Time TimeType=&quot;List&quot;&gt;
               &lt;DataItem Format=&quot;XML&quot; NumberType=&quot;Float&quot; Dimensions=&quot;7&quot;&gt;
             0.0 0.1 0.5 1.0 1.1 10.0 100.5
               &lt;/DataItem&gt;
             &lt;/Time&gt;
	    &lt;Grid Name=&quot;Grid at time 0.0&quot; GridType=&quot;Uniform&quot; ..
		&lt;Topology ..
		&lt;Geometry ..
		&lt;Attribute ..
		&lt;Attribute ..
	    &lt;/Grid&gt;
	    &lt;Grid Name=&quot;Grid at time 0.1&quot; GridType=&quot;Uniform&quot; ..
		&lt;Topology ..
		&lt;Geometry ..
		&lt;Attribute ..
		&lt;Attribute ..
	    &lt;/Grid&gt;
	    &lt;Grid Name=&quot;Grid at time 0.5&quot; GridType=&quot;Uniform&quot; ..
		&lt;Topology ..
		&lt;Geometry ..
		&lt;Attribute ..
		&lt;Attribute ..
	    &lt;/Grid&gt;

		etc.

Jerry


Renato N. Elias wrote:
&gt; 
&gt; Jerry,
&gt; 
&gt; Do you know if XDMF support wildcards?
&gt; 
&gt; My intention is do something like:
&gt; 
&gt; &lt;?xml version=&quot;1.0&quot; ?&gt;
&gt; &lt;!DOCTYPE Xdmf SYSTEM &quot;Xdmf.dtd&quot; []&gt;
&gt; &lt;Xdmf xmlns:xi=&quot;http://www.w3.org/2001/XInclude&quot; Version=&quot;2.0&quot;&gt;
&gt;   &lt;Domain&gt;
&gt;      &lt;Grid GridType=&quot;Collection&quot; CollectionType=&quot;Temporal&quot;&gt;
&gt;         &lt;Grid Name=&quot;Test mesh&quot; Type=&quot;Uniform&quot;&gt;
&gt; 
&gt;            &lt;Time TimeType=&quot;List&quot;&gt;
&gt;              &lt;DataItem Format=&quot;XML&quot; NumberType=&quot;Float&quot; Dimensions=&quot;7&quot;&gt;
&gt;            0.0 0.1 0.5 1.0 1.1 10.0 100.5
&gt;              &lt;/DataItem&gt;
&gt;            &lt;/Time&gt;
&gt; 
&gt;            &lt;Topology Type=&quot;Tetrahedron&quot; NumberOfElements=&quot;   108104 &quot;
&gt; BaseOffset=&quot;1&quot;&gt;
&gt;               &lt;DataItem Dimensions=&quot;432416&quot; NumberType=&quot;Int&quot;
&gt; Format=&quot;HDF&quot;&gt;foo_[**].h5:/incid&lt;/DataItem&gt;
&gt;            &lt;/Topology&gt;
&gt; 
&gt;            &lt;Geometry Type=&quot;XYZ&quot;&gt;
&gt;               &lt;DataItem Dimensions=&quot;61767&quot; NumberType=&quot;Float&quot;
&gt; Precision=&quot;8&quot; Format=&quot;HDF&quot;&gt;foo_[**].h5:/coords&lt;/DataItem&gt;
&gt;            &lt;/Geometry&gt;
&gt; 
&gt;         &lt;/Grid&gt;
&gt; 
&gt;      &lt;/Grid&gt;
&gt;   &lt;/Domain&gt;
&gt; &lt;/Xdmf&gt;
&gt; 
&gt; The block above would load 7 files (corresponding to the time values
&gt; listed) with name pattern foo_[**].h5, where [**] is the wildcard
&gt; representing the file numbers (00, 01, 02, 03, 04, 05, 06). It's
&gt; comparable with what Ensight case files use to represent name patterns.
&gt; Maybe it could be done using functions, but I can't figure out how it's
&gt; used with grids.
&gt; 
&gt; Renato.
&gt; 
&gt; 
&gt; 
&gt; 
&gt; Jerry Clarke wrote:
&gt;  &gt; Renato,
&gt;  &gt;     There are lots of ways to handle this in parallel, each with pros
&gt;  &gt; and cons. The simplest approach is what you have described; writing
&gt;  &gt; one HDF5 file per node. You don't have to write out one xml file for
&gt;  &gt; each node, you can just write out one xml file that pulls them all
&gt;  &gt; together. (But I typically write them out anyway particularly during
&gt;  &gt; debugging so I can easily look at one node's data in ParaView).
&gt;  &gt;
&gt;  &gt; The trick is to use the &quot;Collection&quot; grid type. Xdmf Grids can
&gt;  &gt; be &quot;Uniform&quot; (a homogeneous single grid), &quot;Tree&quot; (a hierarchical
&gt;  &gt; group), or
&gt;  &gt; &quot;Collection&quot; (an array of Uniform grids all with the same Attributes)
&gt;  &gt;
&gt;  &gt; On the Wiki, at the end :
&gt;  &gt; http://www.xdmf.org/index.php/Write_from_Fortran
&gt;  &gt;
&gt;  &gt; It describes using a collection for time :
&gt;  &gt; --------------------------------------
&gt;  &gt; &lt;?xml version=&quot;1.0&quot; ?&gt;
&gt;  &gt; &lt;!DOCTYPE Xdmf SYSTEM &quot;Xdmf.dtd&quot; []&gt;
&gt;  &gt; &lt;Xdmf xmlns:xi=&quot;http://www.w3.org/2001/XInclude&quot; Version=&quot;2.0&quot;&gt;
&gt;  &gt;        &lt;Domain&gt;
&gt;  &gt;            &lt;Grid GridType=&quot;Collection&quot; CollectionType=&quot;Temporal&quot;&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00001.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00002.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00003.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00004.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00005.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00006.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00007.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00008.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00009.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;              &lt;xi:include href=&quot;Demo_00010.xmf&quot;
&gt;  &gt; xpointer=&quot;xpointer(//Xdmf/Domain/Grid)&quot; /&gt;
&gt;  &gt;           &lt;/Grid&gt;
&gt;  &gt;        &lt;/Domain&gt;
&gt;  &gt; &lt;/Xdmf&gt;
&gt;  &gt; --------------------------------
&gt;  &gt;
&gt;  &gt; All you have to do is change CollectionType=&quot;Temporal&quot; to
&gt;  &gt; CollectionType=&quot;Spatial&quot; and it should work; ParaView
&gt;  &gt; will pull in all 10 grids (one written from each node)
&gt;  &gt; and assemble it into one grid. If you wanted to eliminate
&gt;  &gt; the pre-node xml files, write that portion of the xml
&gt;  &gt; (from &lt;Grid..&gt; to &lt;/Grid&gt;)to the collection xml file
&gt;  &gt; replacing the &lt;xi:include ... syntax.
&gt;  &gt;
&gt;  &gt;
&gt;  &gt; If you want this to work over time, you make a
&gt;  &gt; collection of collections. The outer is
&gt;  &gt; CollectionType=&quot;Temporal&quot; which contains a
&gt;  &gt; collection of CollectionType=&quot;Temporal&quot; which are
&gt;  &gt; each like the above example.
&gt;  &gt;
&gt;  &gt; Now, having said all that, you could also try parallel
&gt;  &gt; HDF5 and have a single HDF5 file. I've done that in the
&gt;  &gt; past but if I remember correctly some of the operations
&gt;  &gt; must be done collectively. HDF5 is very powerful; there
&gt;  &gt; are many ways to do things.
&gt;  &gt;
&gt;  &gt; Hope this helps,
&gt;  &gt; Jerry
&gt;  &gt;
&gt;  &gt;
&gt;  &gt; Renato N. Elias wrote:
&gt;  &gt;&gt; Hi Jerry,
&gt;  &gt;&gt;
&gt;  &gt;&gt; As I described in my last email, I managed to compile and link the
&gt;  &gt;&gt; Fortran example supplied with the XDMF library (in fact, I changed the
&gt;  &gt;&gt; example a little bit writing a Fortran interface explicitly to call the
&gt;  &gt;&gt; extern &quot;C&quot; routine name). It gave me 10 XDMF and 10 HDF5 files. Each
&gt;  &gt;&gt; XDMF pointing to a corresponding HDF5. Ok, everything easy and
&gt;  &gt;&gt; running... now, I'm guessing, from a naive approach, that I could just
&gt;  &gt;&gt; follow the same example for a parallel running where each process,
&gt;  &gt;&gt; having its own piece of the domain, would write its data in pairs of
&gt;  &gt;&gt; files XDMF/HDF5. Thus, for 2 processes, I'd have something like:
&gt;  &gt;&gt;
&gt;  &gt;&gt; Iteration 1
&gt;  &gt;&gt; Demo_00001.00.xmf  --&gt; Demo_00001.00.h5
&gt;  &gt;&gt; Demo_00001.01.xmf --&gt; Demo_00001.01.h5
&gt;  &gt;&gt;
&gt;  &gt;&gt; Iteration 2
&gt;  &gt;&gt; Demo_00002.00.xmf  --&gt; Demo_00002.00.h5
&gt;  &gt;&gt; Demo_00002.01.xmf --&gt; Demo_00002.01.h5
&gt;  &gt;&gt; ...
&gt;  &gt;&gt; and so on
&gt;  &gt;&gt;
&gt;  &gt;&gt; Maybe, all 20 XDMF files in this example could be replaced by just one
&gt;  &gt;&gt; containing all iterations and processes information, but, I haven't
&gt;  &gt;&gt; found it explained on XDMF's wiki.
&gt;  &gt;&gt;
&gt;  &gt;&gt; Do you have a simple example of parallel XDMF file? Moreover, Is
&gt;  &gt;&gt; ParaView able to load transient parallel files in XDMF?
&gt;  &gt;&gt;
&gt;  &gt;&gt; thanks
&gt;  &gt;&gt;
&gt;  &gt;&gt; Renato.
&gt;  &gt;&gt;
&gt;  &gt;&gt;
&gt;  &gt;&gt; Clarke, Jerry (Civ, ARL/CISD) wrote:
&gt;  &gt;&gt;  &gt; Classification:  UNCLASSIFIED
&gt;  &gt;&gt;  &gt; Caveats: NONE
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Renato,
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; www.arl.hpc.mil/ice doesn't exist anymore.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Let me know what you are trying to do and I can provide an example.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; If you're trying to work in parallel, you probably want to use
&gt;  &gt;&gt;  &gt; &lt;Grid GridType=&quot;Collection&quot; CollectionType=&quot;Spatial&quot; ...
&gt;  &gt;&gt;  &gt;       &lt;Grid Name=&quot;Grid from node 0&quot;
&gt;  &gt;&gt;  &gt;       &lt;Grid Name=&quot;Grid from node 1&quot;
&gt;  &gt;&gt;  &gt;       etc.
&gt;  &gt;&gt;  &gt; &lt;/Grid&gt;
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; For the non 0 started arrays, there is an Offset=&quot;1&quot; option in the
&gt;  &gt;&gt; XML
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; As for the row major / column major arrays, I link C++ to Fortran,
&gt;  &gt;&gt; but
&gt;  &gt;&gt;  &gt; we have been talking about putting a transpose method in the DataItem
&gt;  &gt;&gt;  &gt; object.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Jerry Clarke
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; -----Original Message-----
&gt;  &gt;&gt;  &gt; From: paraview-bounces@paraview.org
&gt;  &gt;&gt;  &gt; [mailto:paraview-bounces@paraview.org] On Behalf Of Renato N. Elias
&gt;  &gt;&gt;  &gt; Sent: Friday, June 13, 2008 1:55 PM
&gt;  &gt;&gt;  &gt; To: Dominik Szczerba
&gt;  &gt;&gt;  &gt; Cc: paraview@paraview.org
&gt;  &gt;&gt;  &gt; Subject: Re: [Paraview] Parallel file formats (again)...
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; It seems that XDMF is the unique way to go if we'd like to get
&gt;  &gt;&gt; parallel
&gt;  &gt;&gt;  &gt; data into ParaView using HDF5. No problem since XDMF can be seen as a
&gt;  &gt;&gt;  &gt; HDF5 extension. In fact, I thought about doing exactly what you
&gt;  &gt;&gt; cited --
&gt;  &gt;&gt;  &gt; use the HDF5 API and write simple XML/XDMF files using Fortran, no
&gt;  &gt;&gt;  &gt; matter if my data is heavy or light.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; The problem with XDMF is the lack of information. The first link
&gt;  &gt;&gt; pointed
&gt;  &gt;&gt;  &gt; by Google is always down (www.arl.hpc.mil/ice/) and the &quot;official&quot;
&gt;  &gt;&gt; wiki
&gt;  &gt;&gt;  &gt; site doesn't offer so much. I already got something on doing Fortran
&gt;  &gt;&gt;  &gt; talk with XDMF (we can also write interfaces from the Fortran side to
&gt;  &gt;&gt;  &gt; talk with C-like routine names) but, now, I'd like to go a bit
&gt;  &gt;&gt; further
&gt;  &gt;&gt;  &gt; and use parallelism but there's no examples covering the subject
&gt;  &gt;&gt; using
&gt;  &gt;&gt;  &gt; Fortran. My chance is debugging C++ examples and try to make some
&gt;  &gt;&gt;  &gt; correlation.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Regarding row-major order and non 0 started arrays I can't say
&gt;  &gt;&gt; anything.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; I only say that, for Fortran programmers, it's getting a bit
&gt;  &gt;&gt; harder to
&gt;  &gt;&gt;  &gt; work without having to deal with C++ and all that OOP stuffs. In this
&gt;  &gt;&gt;  &gt; sense, I love Metis, so powerful, so easy, so fast, so simple and
&gt;  &gt;&gt;  &gt; everything written in C ANSI. Just minor efforts to get it working
&gt;  &gt;&gt; with
&gt;  &gt;&gt;  &gt; Fortran. As we say in Brazil, sometimes people like to kill
&gt;  &gt;&gt; cockroaches
&gt;  &gt;&gt;  &gt; using bazookas instead of flip-flops... for writing files*my
&gt;  &gt;&gt; guess* is
&gt;  &gt;&gt;  &gt; that straight C would do the job nicely
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Dominik, the problem with Fortran is that everybody associates it
&gt;  &gt;&gt; with
&gt;  &gt;&gt;  &gt; 77 (just that old programming language). Maybe, they should change
&gt;  &gt;&gt; the
&gt;  &gt;&gt;  &gt; name of the language from Fortran 2003 to F++ ;oP
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Renato.
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt; Dominik Szczerba wrote:
&gt;  &gt;&gt;  &gt;   &gt;&gt; And how would he handle hard-coded row-major ordering in XDMF?
&gt;  &gt;&gt;  &gt;&gt; -- Dominik
&gt;  &gt;&gt;  &gt;&gt;
&gt;  &gt;&gt;  &gt;&gt; Chris Kees wrote:
&gt;  &gt;&gt;  &gt;&gt;     &gt;&gt;&gt; You might want to reconsider XDMF or something based on
&gt;  &gt;&gt; it. I'm not
&gt;  &gt;&gt;  &gt;&gt;&gt; sure that XDMF is significantly harder to implement in fortran than
&gt;  &gt;&gt;  &gt;&gt;&gt; straight HDF5. It's just a matter  of doing some additional text
&gt;  &gt;&gt; i/o
&gt;  &gt;&gt;  &gt;&gt;&gt; on a relatively simple XML file. XDMF splits the data (with some
&gt;  &gt;&gt;  &gt;&gt;&gt; redundancy) into light/meta data stored as simple XML (ascii) file
&gt;  &gt;&gt;  &gt;&gt;&gt; and an HDF5 archive of the &quot;heavy&quot; data.  You can read and write
&gt;  &gt;&gt; the
&gt;  &gt;&gt;  &gt;&gt;&gt; XML file directly from fortran without using the XDMF library and
&gt;  &gt;&gt;  &gt;&gt;&gt; then use the HDF5 fortran API directly to write the heavy
&gt;  &gt;&gt; data.   You
&gt;  &gt;&gt;  &gt;&gt;&gt;       &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt; have the option of storing the heavy data in the XML file as
&gt;  &gt;&gt; text
&gt;  &gt;&gt;  &gt;&gt;&gt; when HDF5 isn't available (or when debugging/running on small
&gt;  &gt;&gt;  &gt;&gt;&gt; data).   To me it looks like the posts you cite are pointing in
&gt;  &gt;&gt; this
&gt;  &gt;&gt;  &gt;&gt;&gt;       &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt; direction though they were unhappy with some aspects of
&gt;  &gt;&gt; XDMF.  It's
&gt;  &gt;&gt;  &gt;&gt;&gt; not clear to me whether it's the XDMF xml format, the documentation
&gt;  &gt;&gt;  &gt;&gt;&gt; of that format, or the C API that needs work in order to make it
&gt;  &gt;&gt; more
&gt;  &gt;&gt;  &gt;&gt;&gt;       &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt; useful.
&gt;  &gt;&gt;  &gt;&gt;&gt; Also, it sounds like you've already decided against a mixed
&gt;  &gt;&gt; language
&gt;  &gt;&gt;  &gt;&gt;&gt; approach, but the the book by H. P. Langtangen &quot;Python Scripting
&gt;  &gt;&gt; for
&gt;  &gt;&gt;  &gt;&gt;&gt; Computational Science&quot; advocates a fortran/python pairing to deal
&gt;  &gt;&gt;  &gt;&gt;&gt; with some of your  general concerns.
&gt;  &gt;&gt;  &gt;&gt;&gt; Chris
&gt;  &gt;&gt;  &gt;&gt;&gt; *  *
&gt;  &gt;&gt;  &gt;&gt;&gt; On Jun 13, 2008, at 7:58 AM, Renato N. Elias wrote:
&gt;  &gt;&gt;  &gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;       &gt;&gt;&gt;&gt; Can anyone shed some light above how is the support
&gt;  &gt;&gt; status for
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; parallel file formats in ParaView?
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; In my lab most of the students still work with Fortran. It seems
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; that &quot;the universe nowadays only speaks C++ (and Python for
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; scripting)&quot; which force us to do an extensive evaluation for a
&gt;  &gt;&gt; good
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; and well supported parallel file format to invest before
&gt;  &gt;&gt; struggling
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; with all that mixed languages interface/wrapping annoyances (not
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; everybody working with programs are programmers, there's still
&gt;  &gt;&gt; some
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; engineers like civil, mechanical, chemical, etc... doing
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt; science...).
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt;&gt; I could say that our my concerns about choosing a file
&gt;  &gt;&gt; format to
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; sticky with is:
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; -- Easiness for installation and use (in this sense, Ensight is
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; wonderful since we don't need extra libraries. It's insane when we
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; need to compile 50 MB of libraries to link with a 2 MB program
&gt;  &gt;&gt; that
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; uses just one routine of such library);
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; -- Easiness for interfacing (most of the libraries nowadays is
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; written in C++ for C++ programmers which discourage its use by
&gt;  &gt;&gt; C and
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt;&gt; Fortran programs. Ok, we can always spend some time in
&gt;  &gt;&gt; interfacing
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; it, but, a library should offer more functionality and flexibility
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; than annoyances)
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; -- Portability.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; Some time ago there was some interesting posts from Jean Favre and
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; Dominic about this, which give us some overview about the subject.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; http://www.paraview.org/pipermail/paraview/2008-May/008070.html
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; http://www.paraview.org/pipermail/paraview/2008-May/008071.html
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; My 2 cents for the discussion, *from a Fortran perspective*, is:
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 1). ENSIGHT:
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 1.1. Quite simple to implement and use (no need for extra
&gt;  &gt;&gt; libraries
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; and all that stuff. Just a few Fortran statements do the job);
&gt;  &gt;&gt; 1.2.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; Implicit support for transient data and parallelism; 1.3.
&gt;  &gt;&gt; Depending
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; on the number of processes we might have a huge number of
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; small/medium files since each point and cell data variable is
&gt;  &gt;&gt; stored
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt;&gt; in one file (sometimes it can be a serious problem); 1.4. Not
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; compressed (too bad); 1.5. Not so well supported *as a parallel
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; format* by ParaView yet.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; After the change to deal (after PV 2.2.1) with multigroup datasets
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; some functionalities were lost until reimplementation.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 1.6. Supported by ParaView, Visit and Ensight (of course)
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 2). XML/VTK:
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 2.1. Almost impossible for a Fortran user to implement, so, we're
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; forced to interface with VTK in order to write something; 2.2.
&gt;  &gt;&gt; Time
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; series support has been introduced in some sense ;o) 2.3. It's
&gt;  &gt;&gt; a bit
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt;&gt; complicated to understand. Ok, it's XML and we should use
&gt;  &gt;&gt; it (and
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; believe on it ;o) ) through some library, so, it's not supposed to
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; &quot;hand-implementation&quot;; 2.4. Encoding/compression is supported
&gt;  &gt;&gt; (which
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt;&gt; is really good) 2.5. It should be the most well parallel
&gt;  &gt;&gt; file format
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt;
&gt;  &gt;&gt;  &gt;   &gt;&gt;&gt;&gt; supported by ParaView (after EXODUS, maybe) 2.6. Only
&gt;  &gt;&gt; supported by
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; VTK based softwares (ParaView, Visit, MayaVi)
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 3). XDMF/HDF5:
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 3.1. Same as 2.1, 2.2 and 2.3
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 3.2. The website describing the library is a bit down lately...
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 3.3. HDF5 seems a very promising file format. It has some
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; development concern about its use by other scientific languages
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; besides being flexible, compressed, cross platform, etc... .
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 3.4. From my knowledge, XDMF is supported by Ensight, ParaView and
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; Visit also --&gt; not sure about how good is that support.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 4). EXODUS II:
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; 4.1. Same as 2.1 --&gt; I already tried more than once to find
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; something about Exodus format. There's a good documentation in
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; SANDIA/SEACAS page but the library is not open source (it's a
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; license based distribution) which turns it a bit complicated to
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; adopt; 4.2. Nothing to say about timea nd compression support
&gt;  &gt;&gt; since
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; I never used it; 4.3. It must be well supported by PV since it's a
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; Sandia's format;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; regards
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; Renato.
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; _______________________________________________
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; ParaView mailing list
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; ParaView@paraview.org
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt; http://www.paraview.org/mailman/listinfo/paraview
&gt;  &gt;&gt;  &gt;&gt;&gt;&gt;         &gt;&gt;&gt;
&gt;  &gt;&gt; ---------------------------------------------------------------------
&gt;  &gt;&gt;  &gt;&gt;&gt; ---
&gt;  &gt;&gt;  &gt;&gt;&gt;
&gt;  &gt;&gt;  &gt;&gt;&gt; _______________________________________________
&gt;  &gt;&gt;  &gt;&gt;&gt; ParaView mailing list
&gt;  &gt;&gt;  &gt;&gt;&gt; ParaView@paraview.org
&gt;  &gt;&gt;  &gt;&gt;&gt; http://www.paraview.org/mailman/listinfo/paraview
&gt;  &gt;&gt;  &gt;&gt;&gt;       &gt;
&gt;  &gt;&gt;  &gt; _______________________________________________
&gt;  &gt;&gt;  &gt; ParaView mailing list
&gt;  &gt;&gt;  &gt; ParaView@paraview.org
&gt;  &gt;&gt;  &gt; http://www.paraview.org/mailman/listinfo/paraview
&gt;  &gt;&gt;  &gt; Classification:  UNCLASSIFIED
&gt;  &gt;&gt;  &gt; Caveats: NONE
&gt;  &gt;&gt;  &gt;
&gt;  &gt;&gt;  &gt;
&gt;  &gt;
&gt; 

]
