SCEC CVM wth parallel binary I/O and Python wrapper

SCEC Community Velocity Model for Southern California by Harold Magistrale with bug fixes and updates by Geoffrey Ely.

doc/fence-cvm4.png

Download

Installation - Linux or Mac OS X

  1. A Fortran 95 compiler is required. GNU Fortran is a fine option if you do not already have one. To install GNU Fortran on Fedora or Red Hat Linux use yum:

    yum install gfortran
    

    For Mac OS X, first install Xcode Tools available from Apple Developer Connection (free membership required). Then install the GNU Fortran version available from the R for Mac OS X Developer's Page (versions from MacPorts and Fink seem to be problematic and are not recommended).

  2. MPI is required if you wish to use multiple cores or processors to speed-up computations. The MPICH2 implementation is recommended if you do not already have one. The script install-mpich.sh in the extras/ directory can automate this for you.

  3. Next, unpack the tar archive and enter the cvm/ directory:

    tar zxvf cvm.tgz
    cd cvm/
    
  4. For simple laptop and workstation installations the default system configuration may be adequate. To test the default configuration run:

    ./configure.py
    

    Systems with batch schedulers (such as PBS or LoadLeveler) generally require custom configuration to specify system resources, compiler options, and scheduler scripts. If CVM has already been configured for your system you can use one of the included configurations. For example, for the TeraGrid Ranger system at TACC, run:

    ./configure.py tacc-ranger
    

    To see the list of included configurations look in the conf/ directory. Each custom configuration is located in a separate sub-directory. To create a new custom configuration, make a new sub-directory following the example of the supplied configurations.

  5. Compile the code by running:

    ./setup.py
    
  6. To use CVM, Python needs to be able to find the cvm module. The simplest way is to make sure you have a copy of, or a symbolic link to the cvm directory in your current working directory. More convenient is to add the directory above the cvm directory to your Python path so that the module can be found from any location. The PYTHONPATH environmental variable can be used, or if you are the administrator of your Python installation, you can do:

    ./setup.py path
    

Example Usage

fence.py: Reproduce Magistrale (2000) Fig. 10 fence diagram. This is a good check that the code is running correctly.

mesh.py.: Simple SoCal mesh generation and CVM extraction.

mesh-terashake.py.: TeraShake mesh generation and CVM extraction.

basindepth.py.: Find basin Vs isosurface from velocity model.

Documentation

Magistrale, H., et al. (1996) A geology-based 3D velocity model of the Los Angeles basin sediments, BSSA 86(4):1161–1166

Magistrale, H., et al. (2000), The SCEC southern California reference three-dimensional seismic velocity model version 2, BSSA, 90(6B):S65–76, doi: 10.1785/0120000510. [PDF]