ChomboVis
Introduction
ChomboVis is a visualisation package from the makers of CHOMBO. It is no longer supported and VisIt is now the visulaisation tool of choice. However, ChomboVis may still be useful for debugging purposes and so the notes below describe how to build and run this package.
In addition to these notes, you may like to look at http://seesar.lbl.gov/anag/chombo/chomboVis/UsersGuide.html.
Prequisites
ChomboVis relies upon a number of other packages, so you will need to install these before building ChomboVis. However, the default build for ChomboVis assumes that they are built inside it's own build directory, so you will need to unpack the ChmboVis tar file first. On dartagnan I untarred it in /opt/chombovis. You can copy the tar file, ChomboVis-4.16.11.tar.gz from that directory.
Python Megawidgets
Needs to be unpacked so that it is a generally available package for Python. On dartagnan (CentOS), I used:
yum install python-pmw
to quickly achieve this, but you can also get the package from http://sourceforge.net/projects/pmw.
HDF5 (v1.6.5)
You can copy /opt/chombovis/ChomboVis-4.16.9-and-everything/hdf5-1.6.5.tar.gz on dartagnan, and build using:
tar -xzf hdf5-1.6.5.tar.gz cd hdf5-1.6.5 ./configure --prefix=/opt/chombovis/ChomboVis-4.16.11 make install
Python (v2.3.3)
You can copy /opt/chombovis/ChomboVis-4.16.9-and-everything/Python-2.3.3.tar.gz and build using:
tar -xzf Python-2.3.3.tar.gz cd Python-2.3.3 ./configure --prefix=/opt/chombovis/ChomboVis-4.16.11 make install
VTK (v4.4)
You can copy /opt/chombovis/ChomboVis-4.16.9-and-everything/vtk4.4-src.tar.gz. The build is different, however, and also a bit buggy.
Unpack normally:
tar -xzf vtk4.4-src.tar.gz cd vtk4.4-src/VTK
You will need cmake installed on your machine to build the package. I used:
yum install cmake
on dartagnan.
You will need to congigure the build using:
ccmake .
My settings were:
BUILD_EXAMPLES OFF BUILD_SHARED_LIBS ON CMAKE_BACKWARDS_COMPATIBILITY 2.2 CMAKE_BUILD_TYPE CMAKE_INSTALL_PREFIX /opt/chombovis/ChomboVis-4.16.11 PYTHON_INCLUDE_PATH /usr/include/python2.4 PYTHON_LIBRARY /usr/lib64/python2.4/config/libpython2.4.a VTK_DATA_ROOT VTK_DATA_ROOT-NOTFOUND VTK_GLEXT_FILE /opt/chombovis/ChomboVis-4.16.11/vtk4.4-src/VTK/Utilities/ParseOGLExt/headers/ VTK_GLXEXT_FILE /opt/chombovis/ChomboVis-4.16.11/vtk4.4-src/VTK/Utilities/ParseOGLExt/headers/ VTK_USE_HYBRID ON VTK_USE_PARALLEL ON VTK_USE_PATENTED ON VTK_USE_RENDERING ON VTK_WGLEXT_FILE /opt/chombovis/ChomboVis-4.16.11/vtk4.4-src/VTK/Utilities/ParseOGLExt/headers/ VTK_WRAP_JAVA OFF VTK_WRAP_PYTHON ON VTK_WRAP_TCL ON
Now type:
cmake .
followed by:
make install
Building ChomboVis (v4.16.11)
Now you can move on to building ChomboVis itself:
./configure --prefix=/opt/chombovis/ChomboVis-4.16.11 --disable-unittests make install
In order to run bin/chombovis, you will need to augment your LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/chombovis/ChomboVis-4.16.11/lib/vtk
Calling ChomboVis from a Debugger
Page 131 of the CHOMBO user manual, http://seesar.lbl.gov/ANAG/chombo, lists a number of commands you can issue when running CHOMBO in a debugger (gdb, ddd) (you will need to set the environment variable CHOMBOVIS_HOME appropriately):
One may use the writeFAB, writeFABname, writeLevel, and writeLevelname functions described in section 6.3 to write data in a FArrayBox or LevelData<FArrayBox> to a file, and then call ChomboVis from a shell to view the data. Alternatively, the viewFAB and viewLevel functions allow ChomboVis to be called directly from the gdb session. To use these functions, the environment variable CHOMBOVIS HOME must be defined and set to the location of the ChomboVis installation directory tree; the chombovis executable must be located in $(CHOMBOVIS HOME)/bin. Then, if one has an FArrayBox fab and a LevelData<FArrayBox> ldf, one may do the following: <gdb prompt> call viewFAB(&fab) <gdb prompt> call viewLevel(&ldf) which will result in fab and ldf being written to separate temporary files, and then two chombovis processes being started, one for fab, and one for ldf.