UCVM 13.9.0 User Guide

From SCECpedia
Revision as of 15:39, 10 September 2013 by Davidgil (talk | contribs)
Jump to navigationJump to search

Released on September 8th, 2013, UCVM 13.9.0 represents the second major release of the Unified Community Velocity Model (UCVM) framework. UCVM is a collection of software utilities that are designed to make querying velocity models, building meshes, and visualizing velocity models easier to do through a uniform software interface. UCVM has been used extensively to generate meshes and e-trees that are then used for 3D wave propagation simulations within California.

The full feature list is as follows:

  • Seamlessly combine two or more models into a composite model for querying
  • Optionally include a California statewide geotechnical layer and interpolate it with the crustal velocity models
  • Extract a 3D mesh or CVM Etree (octree) of material properties from any combination of models
  • Standard California statewide elevation and Vs30 data map is provided
  • Miscellaneous tools are provided for creating 2D etree maps, and optimizing etrees
  • Numerically smooth discontinuities at the interfaces between different regional models
  • Add support for future velocity models with the extendable interface


Currently, we support CVM-S4, CVM-H 11.9.1, CVM-S4.23, CenCal 0.8.0, and the Hadley-Kanamori as part of our automated installation package. Other models, such as SCEC CVM-NCI, Magistrale WFCVM, Graves Cape Mendocino, Lin-Thurber Statewide, and Tape SoCal are supported, however they will require a manual installation. We have also tested and include support for three major high-performance computing resources: NICS Kraken, TACC Stampede, and NCSA Blue Waters. It should work with other HPC machines as well.

The API itself is written entirely in C. We will show how to query UCVM through both C and Fortran in this user guide.

Finally, UCVM requires either Linux or OS X, GCC 4.3+, Python 2.5+, and an active internet connection to download and retrieve the models. For parallel mesh or e-tree extraction, the MPI libraries are also required. If you are installing UCVM on OS X, you must have the OS X Developer Tools (Xcode and Command Line Tools) and you must also have gfortran installed.

Installation Instructions

Easy Method

If you are installing UCVM on Linux or OS X and only need CVM-S4, CVM-H 11.9.1, CVM-S4.23, and/or CenCal, we strongly recommend following the easy installation method. Simply download UCVM 13.9.0 and run the following commands:

tar zxvf ucvm-13.9.0.tar.gz
cd ./UCVM
./ucvm_setup.py

You will then be asked a series of questions:

It looks like you are installing UCVM for the first time.
Where would you like UCVM to be installed?
(Default: /your/home/dir)>
Enter path or blank to use default:

Hit enter to use the default path or type your own. On high-performance computing resources you must change this path to be in the scratch or work directory so that UCVM can be seen by the compute nodes.

You will then be asked which models you'd like to download, such as:

Would you like to download and install CVM-S4?
Enter yes or no:

Enter "yes" (without quotation marks) or "no" if you would like to download this model or not.

After answering a few of these questions, UCVM will then begin the process of downloading and building the models you have requested. When the process is completed, you will be advised on how to test to verify that your installation is working and also any modifications that may be needed to your ~/.bash_profile.

Custom Method

Please see this page on how to install UCVM with models other than CVM-S4, CVM-H, CVM-S4.23, and CenCal.

Troubleshooting

Shared Library Paths

If you see an error similar to the following while running either the tests or the UCVM programs:

error while loading shared libraries: libsomelib.so: cannot open shared object file: No such file or directory

This indicates that UCVM was linked against one or more shared libraries and the dynamic library loader cannot find the actual .so library at run-time. The solution is to update your LD_LIBRARY_PATH to include the directory containing the library mentioned in the error message. For example, the following command adds a new search directory to LD_LIBRARY_PATH in a csh shell:

$ setenv LD_LIBRARY_PATH /home/USER/opt/somepkg/lib:${LD_LIBRARY_PATH}

Alternatively, if you do not want to work with shared libraries, UCVM can be compiled statically with the "--enable-static" configuration option.