VisIt Reader
From OpenGGCM
I've created a reader so that one can directly load a '3df' file into the visualization program VisIt.
Contents |
Requirements
NOTE: From version 1.5.4 and up, VisIt includes a "3df" reader by default, making this plugin obsolete!
You will need VisIt 1.5.2, a C compiler, and a FORTRAN compiler. All development was done using GCC.
VisIt 1.5.3 does not like the plugin format, and would need a separate binary built. Let User:tfogal know if you need a non-1.5.2 version binary.
Installation (Binary)
There are two components, the binary VisIt plugin and the external `mhdread' 3df reader. For the VisIt plugin, it is highly recommended that you use the provided binaries, though for the intrepid the source code is available below. The `mhdread' is only distributed as source; you must build it yourself.
Download:
Media:mhdread.tar.gz -- `mhdread' source, always needed
Media:ggcm_visit_x86_64-v3.tar -- VisIt plugin [64 bit AMD processors]
Media:ggcm visit x86F-1.0.tar -- Visit plugin [32 bit processors]
Extract the VisIt plugin from within your home directory. For example:
cd wget http://openggcm.sr.unh.edu/wiki/images/8/83/Ggcm_visit_x86_64-v3.tar tar xvf Ggcm_visit_x86_64-v3.tar
It must be extracted from $HOME because it will extract itself into a .visit directory, which the VisIt binary will search upon startup for modified / additional plugins.
Now build and install the `mhdread' program.
tar zxvf Mhdread.tar.gz cd mhdread make sudo make install
It will default to install itself into /usr/local/bin. Wherever it installs must be in the $PATH of the user who runs VisIt; modify the included Makefile as appropriate.
Running
VisIt has a bug where it incorrectly guesses that the '3df' files should be read from some other plugin instead of the modified GGCM plugin provided above. To work around this, you have to tell VisIt which reader to use 'by default'. Invoke VisIt with the -default_format option, like so:
tfogal@betelgeuse ~/tarballs/visit/bin $ ./visit -default_format GGCM
The plugin fully supports the 'Box' operator from VisIt, to clip the dataset and thereby reduce memory and processing requirements. You must set the box extents / properties before telling VisIt to draw a particular plot.
How it Works
VisIt has a very nicely designed plugin architecture. The .visit directory in your $HOME can contain a reader plugin ('database' in VisIt parlance). The new GGCM database is placed in a special directory there, and VisIt automatically notices and loads the plugin on startup. This allows you to use an official VisIt binary while still using external plugins.
Problems?
Email User:tfogal with a description of the issue. If you can at least get it running, try running it with the 'debug' option:
./visit -default_format GGCM -debug 5 -pid
This will cause VisIt to leave 'mdserver.pid.N.log' (among other) files in the directory which it was started from. The 'mdserver.pid.5.log' file may have useful debugging information.
Source Code
The source code is available for those brave souls that attempt compiling VisIt. There are two source releases available; the binaries are built from Media:GGCM VisIt F-1.0.tar.gz, which also includes the FORTRAN-based reader. Another source version is available (Media:GGCM_VisIt-1.0.tar.gz) which does not use FORTRAN at all, but does not currently support data subsetting. To use either, extract the data and move it to databases/GGCM off of the base of VisIt source tree. Then modify databases/Makefile.in and add GGCM to the "REQUIRED" variable setting in the file. ./configure as your normally would, and the GGCM reader will be built as part of VisIt.
