How to Guides - SCECcode/ucvm GitHub Wiki
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:
-
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.
-
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.
-
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.
- 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.
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:
- Euclid Etree library: http://www.cs.cmu.edu/~euclid/ (provided during installation)
- Proj.5 projection library: http://trac.osgeo.org/proj/ (provided during installation)
Optional Software for building MPI binaries:
- openmpi 4.0.2
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
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.
- SCEC CS17.3: 'cs173':'72G' CyberShake Central California - 2017
- SCEC CS17.3H: 'cs173h':'72G'CyberShake Central Califorina w/ Harvard San Joaquin and Santa Maria Basins
UCVM installation from source code on a Linux computer requires two directories:
-
The source directory. The source directory requires at least 23Gb of storage when installing all available models.
-
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:
-
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.
-
Move to the UCVM source directory. Check the UCVM distribution out from github with:
git clone https://github.com/SCECCode/ucvm.git
- 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.
- 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
- 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.
- Move back to the UCVM source directory and run:
./ucvm_setup.py
- 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
- 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
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
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.
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. ----------------------------------------------------------------------
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: