Giter Club home page Giter Club logo

sceccode / ucvm Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 2.0 42.77 MB

UCVM is used to query seismic velocity models for earth properties (Vp, Vs, density) by lat,long, and depth. It can create velocity meshes used in seismic wave propagation simulations. This repo contains the source codes that implement the core UCVM query interface. Python-based plotting modules, based on matplotlib, are now hosted in a separate github repo called SCECcode/ucvm_plotting.

Home Page: https://www.scec.org/research/ucvm

License: BSD 3-Clause "New" or "Revised" License

Shell 0.25% Makefile 1.78% M4 5.24% Python 18.84% C 73.90%
research scec seismic-velocities velocity-model

ucvm's People

Contributors

meihuisu avatar philipmaechling avatar pjmaechling avatar scecdavid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ucvm's Issues

Missing conf file for 1dgtl?

I can't find any place that sets the conf information for the 1dgtl. What 1D model is supposed to be used for the 1dgtl?

update ucvm.conf file

Update file to remove remove reference UCVMC. Also put example of CVM-H flag system in as a comment.

re-examine need for system.list file

The installation scripts include a system.list file, but the list looks out of date, and does not include recent systems such as discovery, delta, and frontier. If that system.list is not needed, please remove from the distribution to simplify software maintainence in the future.

add comment to input data file

update ucvm input data point file so that we can put comments into the file. This will allow us to comment on the input data.

Detect MPI libraries

on SDSC Expanse, with the simple module list, the MPI libraries don't build. Determine which modules need to be added to Expanse to build the UCVM mpi libraries.

migrate svm into latest ucvm

we developed prototype svm capabilities in ucvm, but they have not been migrated into a publicly released version of ucvm. Review the science case for integrating this code and migrate it into released version of ucvm if resources are avialable.

ucvm install version number incorrect

[15/24] RUN ./ucvm_setup.py -a -d < setup_inputs.txt:
#19 0.301 All Flag: True
#19 0.301 dynamic Flag: True
#19 0.301
#19 0.301 UCVM 21.7.0 Installation
#19 0.301 Copyright (C) 2021 SCEC. All rights reserved.
#19 0.301 Using local setup.list and system.list ....
#19 0.301 Now check system specific conditions.
#19 0.301 System_data - k: h2ologin
#19 0.301 System_data - k: all
#19 0.301 Using local setup.list file

UCVM 21.7.0 Installation is incorrect.

remove 12.10.0 tar and gz file

due to known problems with 12.10.0 release (when wfcvm is installed with cvms and/or cvmsi) remove the tar and gz assets so users do not download these versions with problems. preferably replace them with fixed version of 12.10.1

set default elygtl depth

A transition depth of zT = 350 m is used to ensure adequate sampling of CVM-H (shallower depths may be unsampled by the CVM-H near topographic features).

ucvm mailing listing

is there a ucvm mailing list users can subscribe to for information about ucvm updates?

md5 checksum error on Delta installation

I get an md5 sum error installing ucvm 22.7 on NCSA Delta (and OLCF Frontier).

[maechlin@dt-login02 largefiles]$ ./check_largefiles_md5.py
/usr/bin/env: ‘python’: No such file or directory
[maechlin@dt-login02 largefiles]$ python3 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
Erorr: cvmsi.tar.gz does not match expected value.
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: 24 OK, and: 1 errors

modular basins: Inner Borderland

Zip archive is attached below.
CVMHB-Inner-Borderland-Basin.zip

Generation:

  1. extract empty voxet from CVMH

  2. create new voxet from this empty voxet's box using the same number of cell in U,V,W (for reindexing)

  3. paint with basin points properties

  4. rename properties with suffix

  5. Generate voxet format

image

UCVM version in install script

20 0.307 All Flag: True
#20 0.307 dynamic Flag: True
#20 0.307
#20 0.307 UCVM 21.7.0 Installation
#20 0.307 Copyright (C) 2021 SCEC. All rights reserved.
#20 0.307 Using local setup.list and system.list ....
#20 0.307 Now check system specific conditions.

Also, the copyright is by USC rather than SCEC

incorrect test script name

The project at the end of the install says:
$ cd /project/scec_608/maechlin/ucvm_bin/tests
$ ./run-tests

The script in this directory is actually called:
./run-testing

basin branch testing

error running check_files_md5.py

Checking file: cvmhvbn.tar.gz
Traceback (most recent call last):
File "./check_largefiles_md5.py", line 99, in
total_ok, total_errs = check_md5file(model,fp.name,total_ok,total_errs)
File "./check_largefiles_md5.py", line 72, in check_md5file
if res[1].decode("utf-8") == "OK":
IndexError: list index out of range

UCVM giving error in compilation

Hi Team

We are trying to install UCVM In our Centos 7 HPC environment and its giving the below error at compilation. Can you please suggest what needs to be done?

https://github.com/sceccode/ucvm/wiki/How-to-Guides

We have required gfortran/gcc and python modules loaded.

Error:

for(int i=0; i<UCVM_MAX_MAPS; i++) {
 ^
ucvm_map.c: In function ‘get_map_by_label’:
ucvm_map.c:43:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
 for(int i=0; i<UCVM_MAX_MAPS; i++) {
 ^
ucvm_map.c: In function ‘_get_map_next’:
ucvm_map.c:53:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
 for(int i=0; i<UCVM_MAX_MAPS; i++) {
 ^
make[1]: *** [ucvm_map.o] Error 1
make[1]: Leaving directory `/root/ucvm/src/ucvm'
make: *** [all-recursive] Error 1

ERROR:
An error occurred while trying to setup UCVM. Specifically, the error was:

Error executing command.

At step: ['make']

Thank you
CS

unset PROJ_LIB

Document the proj error and the required unset PROJ_LIB command

Improve installation by consolidating Python scripts into autotools scripts

Autotools integration

The combination of Python scripts and autotools (autoconf, automake, etc) introduces several issues from a developer and user perspective:

  1. The Python scripts always run all steps. For example, the ucvm_setup.py script always starts from the beginning, even when some of the steps may have completed successfully.
  2. The installation process involves running multiple scripts.
  3. Combining Python scripts with autotools results in an installation process that is significantly more difficult to debug and diagnose errors. It is also much more cumbersome to maintain.

I suggest consolidating the installation process so that it is all done by autotools. This will provide better checking and error reporting and allow the entire installation process to be consistent and controlled by the top-level configure script.

Additional issues

  • Using libtool to build the libraries allows static and/or dynamic libraries to be built in a portable way (for example, support both macOS and Linux). Currently, the Makefile.am scripts are hardwired to build shared libraries on a Linux system.
  • Distribute code using tarballs that include the configure script. When using autotools, such a tarball is generated with the make dist command. This eliminates the need for a user to run aclocal, automake, or autoconf; a user just runs configure, make, and make install. Developers should only have to run autoreconf to generate the configure script.
  • Separate the code for querying velocity models from the data files. The code for querying the velocity models can be released via normal GitHub releases; I highly recommend moving the models to an appropriate archive, like zenodo, and then use curl to download the data files during the make install script. This reduces the size of the tarballs and allows the data files to be installed directly to the installation location (minimizing storage requirements). This follows the model used by Proj for downloading the geographic datum information.
  • The Proj library is installed without the datum grids. This introduces errors in the conversion routines. Additionally, the version of Proj being used is out of date (current version is 8.2.1). It would be a significant improvement if all of the SCEC maintained models used Proj for transforming to/from geographic coordinates. For example, CCA uses external Fortran code that has errors in it (see SCECcode/CCA#1) and the cvmh code uses gctpc. which is not maintained and is over 25 years old). Note that Proj 8.0 requires sqlite and libtiff.

See SCECcode/cvmh#2 for an example of how this can work. I am making the above changes for ucvm in a fork for the features/models I am using. I don't have time to fix all of the autotools issues for all of the models, but once you see an example, it is pretty easy to make the updates.

Edits

Jan 12, 2022: After working more with the UCVM source code, I understand how the plugin models work. I edited the comments above to remove my suggestion to integrate the code for querying the models (for example, cca) into the UCVM code base. I think it makes sense to be able to update the query code for the individual models without touching the UCVM repository.

CARC spack libraries

On USC CARC, an export LD_PRELOAD=/spack/apps/gcc/8.3.0/lib64/libstdc++.so.6 command is needed in users .bashrc. I believe this is based on a mis-configuraiton of the the CARC system. We should document when this is needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.