ChomboVis

From SourceWiki
Jump to navigation Jump to search

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.