How to Guides - SCECcode/ucvm GitHub Wiki

UCVM Installation on Linux

Overview of Installation Options

Users have serveral options for accessing the UCVM software. UCVM was developed to support seismic simulations run on high-performance computing systems, so it is designed to compile and run on Linux-based computers. Before installing UCVM, please be aware that there are several ways to get access to UCVM without installing the software on your own Linux computer. Below, we outline several of the options:

  1. SCEC Community Model Viewer (preliminary version): This site provides a web-based interface which can be used to query UCVM velocity models, without installing UCVM. A key advantange of this approach is that no UCVM software installation required.

  2. UCVM Docker Images: Users can run UCVM in Docker on thier laptop, even if their laptop runs a non-Linux operating system including Mac OS and Windows. After installing free Docker software on most computers (e.g. Linux, MacOS, Windows), users can run an UCVM Docker image in a terminal window on their computer. Instructions for using the ucvm_docker images can be found in the ucvm_docker repository listed above.

  3. UCVM souce code Install UCVM on Linux system Advanced users that want to install many of the UCVM models, or that want to run large parallel queries of the CVM models, should install the UCVM software on a Linux system. UCVM software is developed on USC Center for Advanced Research Computing (CARC) Linux cluster which provide MPI libraries. The UCVM software framework has several MPI-based executables. These parallel extensions use MPI to signicantly speed-up the extraction of material properties from California velocity models. These UCVM mpi-based executables are built using the automake system if the required MPI libraries are found in the installation computing environment. To build and run UCVM on Linux clusters, users should retrieve UCVM source code from Github and compile it on a Linux-type system using GNU compilers.

Considerations before Building Docker from Source code

  • UCVM users may find the UCVM Webviewer easier to use than building UCVM from source code. UCVM Docker images can also be used for moderate UCVM queries, without requiring an installation of UCVM from source code. And UCVM Docker images run on Mac, Windows, and Linux systems. However, large parallel mesh extractions on supercomputer will require users to compile and run on systems with recent Linux and GNU Compilers.

Required Software Stack

The UCVM Software framework integrates a wide range of scientific software including software written in C, FORTRAN, and Python. This repository contains the core UCVM software which is primarily written in C. During the UCVM compile and installation process for UCVM, it retrieves the community velocity models selected by the user during installation. The required velocity model souce code and data files are retrieved from cloud storage during UCVM installation.

UCVM is developed for computers that use recent Linux distributions with automake and GNU compilers. It uses GNU automake, C and Fortran compilers, and Python 3.8. Since UCVM is to build large simulation meshes on supercomputers, SCEC uses the USC Center for Advanced Research Computing (CARC) Linux cluster, based on CentOS as our primary UCVM software develoment environment. It may be possible to build and run UCVM in other computing environments, like MacOS, but we currently support only Linux distributions with specific compiler and software versions.

  • Linux operating system (e.g. Centos-8) x86_64-linux
  • vi or emacs or nano - Text Editors
  • Automake, Autoconf build tools for Linux
  • Git client
  • GNU gcc/gfortran compilers version 8.3+
  • Python 3.8 (Anaconda 4.10.0 (64-bit))

External Libraries Installed by UCVM:

Optional Software for building MPI binaries:

  • openmpi 4.0.2

Required Software Stack

USC Discovery system, where UCVM is developed, uses a module load system. We have tested the UCVM distribution using the following modules. This is a known working configuration. Other combinations may work, also, but they have not been systematically tested. $ module -t list

(base) [maechlin@discovery1 ucvm]$ module -t list
gcc/8.3.0
openmpi/4.0.2
pmix/3.1.3

Velocity Models Registered in UCVM v22.7

The following California velocity models packages are included as part of a standard UCVM installation. Each of these models can be downloaded during the installation process:

  • SCEC CVM-S4.26: 'cvms5':'1.2G'
  • SCEC CCA06: 'cca':'9.2G':[Tomography improved Central California model from CVM-S4 and USGS Cencal starting models.]
  • SCEC CVM-S4: 'cvms':'326M'
  • SCEC CVM-S4.26.M01: 'cvmsi':'1.6G'
  • USGS BayArea Velocity Model 0.8.3: 'cencal':'21G'
  • SCEC CVM-H v15.1: 'cvmh':'1.6G'
  • ALBACORE: 'albacore':'2.3M':[Albacore Offshore southern California model]
  • Coachela Valley: 'cvlsu':'7M'
  • Imperial Valley: 'ivlsu':'3.1M'
  • Wasatch Front Utah: 'wfcvm':'50M'

CVM-H v22.7 release introduces a new approach in which basin models are release individually. In the past, most UCVM velocity models were regional models that included both basin structures, and deeper properties. The release of CVM-H basins individually is a step towards the development of component-based regional velocity models that are constructured from components such as basin and background models. These CVM-H basin models are identifical material properties, in their values and resolution, as the basin models in CVM-H v15.2, but the basins are provided as standalone models. UCVM currently support combining these basin models with other UCVM models through a tiling process. In this process, the models are combined, but no smoothing is done between the models.

  • CVM-H LA Basin : 'cvmhlabn': '1.6G'
  • CVM-H San Gabriel Basin : 'cvmhsgbn': '1.4G'
  • CVM-H Ventura Basin : 'cvmhvbn': '1.5G'
  • CVM-H Inner Borderland Basin : 'cvmhibbn': '2.1G'
  • CVM-H Ridge Basin : 'cvmhrbn': '1.4G'
  • CVM-H Salton Trough Basin : 'cvmhstbn': '2.5G'
  • CVM-H Santa Bernardino Basin : 'cvmhsbbn': '1.3G'
  • CVM-H Santa Barbara Channel Basin : 'cvmhsbcbn': '1.6G'
  • CVM-H Santa Maria Basin : 'cvmhsmbn': '1.6G'

Two 1D models are defined in the ucvm codebase:

  • Southern California 1D Velocity Model - A modified Hadley-Kanamori 1D model
  • Southern California Northridge Region 1D Velocity Model - A 1D model developed by R. Graves for use in LA region simulations

Previous releases of UCVM provided two "tiled" models that were created and used for CyberShake simulations. These models are no longer included in the standard UCVM distribution and are available only on request. These are very large models that have been preserved to support analysis and reproducibility of previous SCEC CyberShake results. Unless you are analyzing CyberShake results, it is unlikely you will want to use these models.

Standard UCVM installation requires the following considerations:

UCVM installation from source code on a Linux computer requires two directories:

  1. The source directory. The source directory requires at least 23Gb of storage when installing all available models.

  2. The installation directory. The installation directory requires at least 21Gb of storage when installing all available models.

While preparing to install UCVM, users should identify filesystems on their computer that have these amounts of free disk space.

As part of the installation process, users download the UCVM code from the git repository into the source directory. Once the git distribution has been downloaded, the user will need to retrieve "largefiles" into a largefiles subdirectory in the source directory tree. Once the largefiles have been retrieved, and the user has to run the stage_ucvm_files.py script that moves the files into the proper subdirectories for installation, the source directory tree will require at least 231Gb of storage, assuming all standard CVM models are installed.

In general use, once the UCVM software has been installed, all required files are copied into the installation directory tree and the source directory tree can be deleted. Advanced users that want to modify the UCVM codebase, or might want to change installation location, or that are building their own customized etrees, will need the source directory tree, in which case, it should not be removed. The installation directory should not be moved once installed because of the model configuration. If a new location is desired, ucvm_setup.py in the source directory should be rerun with the new location.

The UCVM application is built using gnu automake tools. These automake tools extend the standard Make system. While these tools add another layer of complexity into the system, they automatically construct the required Makefiles, and users do not need to edit Makefiles by hand. When the automake tools work properly, they will build the UCVM software automatically, with warnings, but no errors, on a variety of Linux and GNU software stacks. The automake tools, and GNU C and FORTRAN compilers, and a Python 3.6+ distribution must be installed on the target system for the UCVM installation scripts to work.

The basic steps to building the application are:

  1. Identify the directories on the installation computer that have sufficient storage for the source directory, the installation directory, and the largefiles collection. Users should also confirm that the installation system has the required compilers (GNU C and Fortran) and Python 3 interpreter.

  2. Move to the UCVM source directory. Check the UCVM distribution out from github with:

git clone https://github.com/SCECCode/ucvm.git
  1. Move to the UCVM/largefiles subdirectory, the user will run:
./get_largefiles.py

This script runs in a terminal window and asks user which large file is to be retrieved. In this example, the user downloads all available models. We recommend the user selects only the velocity models of interest to minimize storage and installation time.

(base) [maechlin@discovery1 largefiles]$ ./get_largefiles.py 
Running in ./largefiles source directory. 
This script will download and install ucvm.e, ucvm_utah.e and several other files.
Due to the size of the files, this download could take minutes to hours to complete.

Would you like to download cvms5, will need 1.2G?
Enter yes or no: yes

Would you like to download cca, will need 9.2G?
Enter yes or no: yes

Would you like to download cvms, will need 326M?
Enter yes or no: yes

Would you like to download cvmsi, will need 1.6G?
Enter yes or no: yes

Would you like to download cencal, will need 21G?
Enter yes or no: yes

Would you like to download cvmh, will need 1.6G?
Enter yes or no: yes

Would you like to download albacore, will need 2.3M?
Enter yes or no: yes

Would you like to download cvlsu, will need 7.0M?
Enter yes or no: yes

Would you like to download ivlsu, will need 3.1M?
Enter yes or no: yes

Would you like to download wfcvm, will need 50M?
Enter yes or no: yes

Would you like to download cvmhlabn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhsgbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhvbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhibbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhrbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhstbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhsbbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhsbcbn, will need 1.5G?
Enter yes or no: yes

Would you like to download cvmhsmbn, will need 1.5G?
Enter yes or no: yes

After the user responds to these questions, the window will display the message below when all requested large files are downloaded:

...
Installing files in: /project/scec_608/maechlin/ucvm227_src/ucvm/largefiles
Retrieving:  proj-5
Finished downloading:  proj-5
Retrieving:  fftw
Finished downloading:  fftw
Retrieving:  euclid3
Finished downloading:  euclid3
Retrieving:  cvms5.tar.gz
Finished downloading:  cvms5.tar.gz
Retrieving:  cca.tar.gz
Finished downloading:  cca.tar.gz
Retrieving:  cvms.tar.gz
Finished downloading:  cvms.tar.gz
Retrieving:  cvmsi.tar.gz
Finished downloading:  cvmsi.tar.gz
Retrieving:  cencal.tar.gz
Finished downloading:  cencal.tar.gz
Retrieving:  cvmh.tar.gz
Finished downloading:  cvmh.tar.gz
Retrieving:  albacore.tar.gz
Finished downloading:  albacore.tar.gz
Retrieving:  cvlsu.tar.gz
Finished downloading:  cvlsu.tar.gz
Retrieving:  ivlsu.tar.gz
Finished downloading:  ivlsu.tar.gz
Retrieving:  wfcvm.tar.gz
Finished downloading:  wfcvm.tar.gz
Retrieving:  cvmhlabn.tar.gz
Finished downloading:  cvmhlabn.tar.gz
Retrieving:  cvmhsgbn.tar.gz
Finished downloading:  cvmhsgbn.tar.gz
Retrieving:  cvmhvbn.tar.gz
Finished downloading:  cvmhvbn.tar.gz
Retrieving:  cvmhibbn.tar.gz
Finished downloading:  cvmhibbn.tar.gz
Retrieving:  cvmhrbn.tar.gz
Finished downloading:  cvmhrbn.tar.gz
Retrieving:  cvmhstbn.tar.gz
Finished downloading:  cvmhstbn.tar.gz
Retrieving:  cvmhsbbn.tar.gz
Finished downloading:  cvmhsbbn.tar.gz
Retrieving:  cvmhsbcbn.tar.gz
Finished downloading:  cvmhsbcbn.tar.gz
Retrieving:  cvmhsmbn.tar.gz
Finished downloading:  cvmhsmbn.tar.gz
Retrieving:  ucvm.e
Finished downloading:  ucvm.e
Retrieving:  ucvm_utah.e
Finished downloading:  ucvm_utah.e
Retrieving:  test-grid-lib-1d.ref
Finished downloading:  test-grid-lib-1d.ref
Completed all required downloads to build the UCVM programs.
  1. To check that the downloaded files are intact, the user will run:
./check_largefiles_md5.py

The script will display a message similar to below. If the script reports and errors, please re-download that file, and try again. If you get repeated errors, please contact us for help.

(base) [maechlin@discovery1 largefiles]$ ./check_largefiles_md5.py 
Checking largefiles for UCVM version: 22.7
Checking file: cvms5.tar.gz
File: cvms5.tar.gz OK
Checking file: cca.tar.gz
File: cca.tar.gz OK
Checking file: cvms.tar.gz
File: cvms.tar.gz OK
Checking file: cvmsi.tar.gz
File: cvmsi.tar.gz OK
Checking file: cencal.tar.gz
File: cencal.tar.gz OK
Checking file: cvmh.tar.gz
File: cvmh.tar.gz OK
Checking file: albacore.tar.gz
File: albacore.tar.gz OK
Checking file: cvlsu.tar.gz
File: cvlsu.tar.gz OK
Checking file: ivlsu.tar.gz
File: ivlsu.tar.gz OK
Checking file: wfcvm.tar.gz
File: wfcvm.tar.gz OK
Checking file: cvmhlabn.tar.gz
File: cvmhlabn.tar.gz OK
Checking file: cvmhsgbn.tar.gz
File: cvmhsgbn.tar.gz OK
Checking file: cvmhvbn.tar.gz
File: cvmhvbn.tar.gz OK
Checking file: cvmhibbn.tar.gz
File: cvmhibbn.tar.gz OK
Checking file: cvmhrbn.tar.gz
File: cvmhrbn.tar.gz OK
Checking file: cvmhstbn.tar.gz
File: cvmhstbn.tar.gz OK
Checking file: cvmhsbbn.tar.gz
File: cvmhsbbn.tar.gz OK
Checking file: cvmhsbcbn.tar.gz
File: cvmhsbcbn.tar.gz OK
Checking file: cvmhsmbn.tar.gz
File: cvmhsmbn.tar.gz OK
Checking file: proj-5.0.0.tar.gz
File: proj-5.0.0.tar.gz OK
Checking file: fftw-3.3.3.tar.gz
File: fftw-3.3.3.tar.gz OK
Checking file: euclid3-1.3.tar.gz
File: euclid3-1.3.tar.gz OK
Checking file: ucvm.e
File: ucvm.e OK
Checking file: ucvm_utah.e
File: ucvm_utah.e OK
Checking file: test-grid-lib-1d.ref
File: test-grid-lib-1d.ref OK
Checked 25 UCVM large files with: 25 OK, and: 0 errors
  1. Still in the UCVM/largefiles subdirectory, to move the largefiles to the required directories for installation, the user will run:
./stage_largefiles.py

The script will display the message below:

....
All required library and model files staged in UCVM work directories.
  1. Move back to the UCVM source directory and run:
./ucvm_setup.py
  1. It will ask you questions about the installation directory, and which retrieved models you wish to install. The default installation is to install all the models. The installation script will try to create the specified installation directory. The specified directory does not need to exist.
(base) [maechlin@discovery1 ucvm]$ ./ucvm_setup.py 

UCVM 22.7.0 Installation
Copyright (C) 2022 University of Southern California. All rights reserved.
Using local setup.list and system.list ....
Now check system specific conditions.
System_data - k:  h2ologin
System_data - k:  all
Using local setup.list file

Please answer the following questions to install UCVM.

Note that this install and build process may take up to an hour depending on your
computer speed.
Where would you like UCVM to be installed?
(Default: /home1/maechlin/ucvm-22.7.0)
Enter path or blank to use the default path: /project/scec_608/maechlin/ucvm227

Would you like to install CVM-S4.26?
Enter yes or no: yes

Would you like to install CCA?
Enter yes or no: yes

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

Would you like to install CVM-S4.26.M01?
Enter yes or no: yes

Would you like to install CenCalVM?
Enter yes or no: yes

Would you like to install CVM-H?
Enter yes or no: yes

Would you like to install ALBACORE?
Enter yes or no: yes

Would you like to install COACHELLA?
Enter yes or no: yes

Would you like to install IMPERIAL?
Enter yes or no: yes

Would you like to install WFCVM?
Enter yes or no: yes

Would you like to install CVMHLABN?
Enter yes or no: yes

Would you like to install CVMHSGBN?
Enter yes or no: yes

Would you like to install CVMHVBN?
Enter yes or no: yes

Would you like to install CVMHIBBN?
Enter yes or no: yes

Would you like to install CVMHRBN?
Enter yes or no: yes

Would you like to install CVMHSTBN?
Enter yes or no: yes

Would you like to install CVMHSBBN?
Enter yes or no: yes

Would you like to install CVMHSBCBN?
Enter yes or no: yes

Would you like to install CVMHSMBN?
Enter yes or no: yes

You have indicated that you would like to install
CVM-S4.26, CCA, CVM-S4, CVM-S4.26.M01, CenCalVM, CVM-H, ALBACORE, COACHELLA, IMPERIAL, WFCVM, CVMHLABN, CVMHSGBN, CVMHVBN, CVMHIBBN, CVMHRBN, CVMHSTBN, CVMHSBBN, CVMHSBCBN, and CVMHSMBN
  1. The automake tools will run, configure, make, install, which will build the system, and install it in the installation directory. The config, make, install process takes about 10 minutes.

When the script completes successfully, it will display the following instructions:

Installing UCVM software...

Running aclocal

Running automake

Running autoconf

Running ./configure for UCVM

Making UCVM

Installing UCVM

....
Done installing UCVM!

Thank you for installing UCVM.
Now edit your ~/.bashrc file to call /project/scec_608/maechlin/ucvm227/conf/ucvm_env.sh 

   source /project/scec_608/maechlin/ucvm227/conf/ucvm_env.sh 

This will set the required UCVM environment variables.
Then log out, and log in, move to tests directory, and run the tests

   $ cd /project/scec_608/maechlin/ucvm227/tests 
   $ ./run-testing 

This will run the UCVM unit and acceptance tests. If all tests pass, 
UCVM is correctly installed and ready to use on your computer.
To try out ucvm, once the tests pass, run an example query.

   $ ucvm_query -f /project/scec_608/maechlin/ucvm227/conf/ucvm.conf -m cvms < /project/scec_608/maechlin/ucvm227/tests/inputs/test_latlons.txt

You will then see the following output:

Using Geo Depth coordinates as default mode.
 -118.0000    34.0000      0.000    280.896    390.000       cvms    696.491    213.000   1974.976       none      0.000      0.000      0.000      crust    696.491    213.000   1974.976
 -118.0000    34.0000     50.000    280.896    390.000       cvms   1669.540    548.000   2128.620       none      0.000      0.000      0.000      crust   1669.540    548.000   2128.620
 -118.0000    34.0000    100.000    280.896    390.000       cvms   1683.174    603.470   2130.773       none      0.000      0.000      0.000      crust   1683.174    603.470   2130.773
-118.0000    34.0000    500.000    280.896    390.000       cvms   3097.562   1656.495   2354.105       none      0.000      0.000      0.000      crust   3097.562   1656.495   2354.105
 -118.0000    34.0000   1000.000    280.896    390.000       cvms   3660.809   2056.628   2443.042       none      0.000      0.000      0.000      crust   3660.809   2056.628   2443.042

Installation complete. Installation log file saved at ./setup_log.sh

Setting Environment Variables

The UCVM installation script creates a script in the "<ucvm_install_dir>/conf/setup_env.sh". When run, this script will set the required PATH, and LD_LIBRARY environment variables needed by UCVM.

Users should edit their .bashrc and call this script automatically when they run a process, or they log into their account.

% cd ~
% vi .bashrc

An example of this in a working .bashrc looks like this

source /project/scec_608/maechlin/ucvm227/conf/setup_env.sh

Now, log out and log back in to setup the required UCVM environment variables. The move to the UCVM installation directory and run the tests script to confirm

% cd /project/scec_608/maechlin/ucvm227/tests
% ./run-testing
(base) [maechlin@discovery1 tests]$ ./run-testing 
Test: UCVM lib initialization
PASS
Test: UCVM lib add model 1D
PASS
Test: UCVM lib query 1D
PASS
Test: UCVM lib get model label 1D
PASS
Test: UCVM lib setparam querymode geo-depth 1D
PASS
Test: UCVM lib setparam querymode geo-elev 1D
PASS
Test: UCVM lib model version 1D
PASS
Test: UCVM lib add model USGS CenCal
PASS
Test: UCVM lib add model SCEC CVM-H
PASS
Test: UCVM lib add model SCEC CVM-S
PASS
Test: UCVM lib add model SCEC CVM-SI
PASS
Test: UCVM lib add model IVLSU
PASS
Test: UCVM lib add model CVLSU
PASS
Test: UCVM lib add model WFCVM
PASS
Test: UCVM lib add model ALBACORE
PASS
Test: UCVM lib add model CVMS5
PASS
Test: UCVM lib add model CCA
PASS
Test: UCVM lib add model CS173
WARNING: Could not load model into memory. Reading the model from the
hard disk may result in slow performance.
PASS
Test: UCVM lib add model CS173H
WARNING: Could not load model into memory. Reading the model from the
hard disk may result in slow performance.
PASS
Test: ucvm library 1d model w/ large grid
PASS
Runnning test test_ssh_generate
[SUCCESS]
Runnning test test_vs30_query
[SUCCESS]
Running examples_api query_1d_gtl
[SUCCESS]
Running examples_programs_basin z2500 basin_query_cvmh
[SUCCESS]
Running examples_programs_basin z1000 basin_query_cvmh
[SUCCESS]
Running examples_programs_basin basin_query_mpi_cvms5
[SUCCESS]
Running examples_programs_basin basin_query_mpi_complete_cencal_cvms
[SUCCESS]
Running examples_programs_basin basin_query_mpi_cencal_cvms
[SUCCESS]
Running examples_programs_basin basin_query_mpi_complete_cencal_cvms5
[SUCCESS]
Running examples_programs_basin basin_query_mpi_complete_cencal_cvmsi
[SUCCESS]
Running examples_programs_basin basin_query_mpi_cencal_cvmsi
[SUCCESS]
Running examples_programs_ucvm ucvm_query_cvmh
[SUCCESS]
Running examples_programs_ucvm ucvm_query_cvlsu
[SUCCESS]
Running examples_programs_ucvm ucvm_query_ivlsu
[SUCCESS]
Running examples_programs_ucvm ucvm_query_wfcvm
[SUCCESS]
Running examples_programs_ucvm ucvm_query_albacore
[SUCCESS]
Running examples_programs_ucvm ucvm_query_cencal_cvms5
[SUCCESS]
Running examples_programs_ucvm ucvm_query_cencal_cvms
[SUCCESS]
Running examples_programs_ucvm2etree ucvm2etree_cvmh
[SUCCESS]
Running examples_programs_ucvm2mesh ucvm2mesh_cvmh
[SUCCESS]
Running examples_programs_mesh ucvm2mesh_mpi_cvmh
[SUCCESS]
Running examples_programs_mesh ucvm2mesh_mpi_cvmsi
[SUCCESS]
Running examples_programs_mesh ucvm2mesh_mpi_layer_cvmsi
[SUCCESS]
Running examples_programs_mesh ucvm2mesh_mpi_layer_cvms
[SUCCESS]

Once the tests pass, ucvm is ready to run an example query.

As an example:

% ucvm_query -f ./conf/ucvm.conf -m cvms < ./tests/inputs/test_latlons.txt

You will then see the following output:

Using Geo Depth coordinates as default mode.
 -118.0000    34.0000      0.000    280.896    468.400       cvms    696.491    213.000   1974.976       none      0.000      0.000      0.000      crust    696.491    213.000   1974.976
 -118.0000    34.0000     50.000    280.896    468.400       cvms   1669.540    548.000   2128.620       none      0.000      0.000      0.000      crust   1669.540    548.000   2128.620
 -118.0000    34.0000    100.000    280.896    468.400       cvms   1683.174    603.470   2130.773       none      0.000      0.000      0.000      crust   1683.174    603.470   2130.773
 -118.0000    34.0000    500.000    280.896    468.400       cvms   3097.562   1656.495   2354.105       none      0.000      0.000      0.000      crust   3097.562   1656.495   2354.105
 -118.0000    34.0000   1000.000    280.896    468.400       cvms   3660.809   2056.628   2443.042       none      0.000      0.000      0.000      crust   3660.809   2056.628   2443.042

Removing ucvm source directory

The UCVM installation processes uses both a UCVM_SRC directory, and an UCVM_INSTALL directory. Once installed, users can save space on their computer by removing the UCVM_SRC directory.

Advanced users that are modifying the UCVM source code should keep the source directory, where they can modify and recompile the code.

ucvm_setup.py messages

As the ucvm_setup.py script, it prints user instructions to the screen. These can be hard to read or capture while the script is running. These two messages are information messages. If the user follows the installation process as described, these messages can be ignored and UCVM will still be usable. These messages are potentially relevant for advanced users that want to make use of libraries used by UCVM that installed during UCVM process. These message are shown below:

The following message in associated with the fast-courier transfer library the UCVM installs and uses:

----------------------------------------------------------------------
Libraries have been installed in:
   /home/scec-00/maechlin/t1/lib/fftw/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

The following message is associated with the USGS Bay Area model which is installed as port of the UCVM platform.

----------------------------------------------------------------------
Libraries have been installed in:
   /home/scec-00/maechlin/t1/model/cencal/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Confirm UCVM MPI utilities (optional)

UCVM contains MPI codes for building large meshes and for retrieving basin depths using parallel codes and You can confirm the MPI utilities were correctly built and installed using examples in examples/programs. They are designed to run on USC's hpc cluster.

First look in the UCVM executable directory. You should see programs with the _mpi extension. If these do not exist, then the required MPI libraries where not found when the executables were built. These MPI libraries are discovered automatically by the automake programs. In many cases, you can adjust your computing environments (e.g. in many HPC environments you can use "load modules" commands) to make these MPI libraries available. The MPI codes you should expect include the following:

  • basin_query_mpi
  • basin_query_mpi_complete
  • ucvm2mesh_mpi
  • ucvm2mesh_mpi_layer
  • ucvm2etree_extract_MPI
  • ucvm2etree_merge_MPI
  • ucvm2etree_sort_MPI
  • vs30_query_mpi

Assuming these executables exist in the ucvm/bin directory, then you can run simple MPI examples including the following:

⚠️ **GitHub.com Fallback** ⚠️