Skip to content
This repository has been archived by the owner on Feb 8, 2022. It is now read-only.

Test Cases External CVM Interfaces

meihuisu edited this page May 30, 2019 · 12 revisions

Query a model through UCVM returns same material as the native CVM interface.

At least three of the supported CVM models (CVM-S4, CVM-H, and Cencal) have standard query interface. Users can query these models directly, or through the UCVM interface. We want to show that the UCVM interface returns the same material properties, for a given lat/lon/depth(elev) as the native interface for these models. We will show this by selecting a small set of query points for each model, building the models, querying them through their native interfaces, then querying them through the UCVM interface.

We have selected five test points in southern California, and five in Northern California. We will query these at the following depths (0,100,200,500,1k,5k,10k,25k,50k,100k). One point is overlapping, where CVM-S, CVM-H, and Cencal all provide material properties for a point.

We query ucvm by depth for each point, so it returns its DEM-based elevation. We round down the elevation to the nearest meter, so our elevation query is not above the expected elevation for the point. If we query above the land, we expect the model to return no material, or undefined, material properties for the point.

Selected California points include:

Lon	Lat	Elevation(m)  Site_Name	
Southern California Points
-118.0000     34.000    280.0   Whittier Narrows       1. Pt Inside the CVM-S geotechnical region, inside the cvmh high resolution region.
-115.4502	33.2589	 30.0    Slab city	        2. Pt inside the CVM-S Salton sea geotech region, inside the cvmh low resolution region
-119.7785	36.3121	 70.0    Lemoore, Ca	        3. Point in region that overlaps all cvm-s4, cvm-h, and low resolution cencal etree.
-116.6794	33.81147 3190.0  San Jacinto Peak	4. Point at elevation above 2000m.
-112.0749	33.4494	 330.0   Phoenix, AZ	        5. Point outside the define region.

Northern California Points
-122.40005	37.784	8.0    Moscone Center	       1. Inside the high resolution etree
-121.2901	37.957	4.0    Stockton	               2. Inside the low resolution etree
-119.7785	36.3121	70.0   Lemoore, CA	       3. Point in region that overlaps all cvm-s4, cvm-h, and low resolution cencal etree.
-123.0484	41.0006	2697.0  Thompson Peak	        4. Point at elevation above 2000m.
-122.3113	41.3144	1099.0  Mt. Shasta Town	        5. Point outside the two defined regions.
			
Depths
0,100,200,500,1k,5k,10k,25k,50k,100k

A KML file showing coverage regions is posted here. KML File with CVM coverage regions and test points.

Converting Test Points to Elevation Query

Two native models interface (CVM-H and cencal) input query points at lon,lat,elev. We create these models by querying UCVMC for the points, using query by depth. For each point, UCVMC returns an elevation value from its DEM. We then convert our query depth to elevation for these points, and use the converted values to query the CVM-H and Cencal models by elevation.

Retrieving Values from cencal

We built an executable in the UCVMC/work/model/cencal/examples/query/c to query the cencal models natively.

-bash-4.2$ ./cencalvmcquery
usage: cencalvmcquery [-h] -i fileIn -o fileOut -d dbfile
       [-l logfile] [-t queryType] [-r res] [-e dbextfile]
       [-c cacheSize] [-s squashlimit] 

  -i fileIn     File containing list of locations: 'lon lat elev'.
  -o fileOut    Output file with locations and material properties.
  -d dbfile     Etree database file to query.
  -e dbextfile  Etree extended database file to query.
  -t queryType  Type of query {'maxres', 'fixedres', 'waveres'}
  -r res        Resolution for query (not needed for maxres queries
  -c cacheSize  Size of cache in MB to use in query
  -s squashLim  Turn on squashing of topography and set limit
  -h            Display usage and exit.
  -l logfile    Log file for messages.

We called cencal native interface like this:

-bash-4.2$ ./cencalvmcquery -i nocal_welev.txt -o cencal_results.txt -d ${UCVM_INSTALL_DIR}/model/cencal/model/USGSBayAreaVM-08.3.0.etree -e ${UCVM_INSTALL_DIR}/model/cencal/model/USGSBayAreaVMExt-08.3.0.etree

We called ucvmc with elevation-based input points like this:

-bash-4.2$ ./bin/ucvm_query -f ./conf/ucvm.conf -m cencal -c ge < nocal_welev.txt > ucvm_nocal_elev_results.txt

Results are posted here:

Retrieving values from CVM-H

We query the CVM-H using the vx and vx_lite which are found in the installation_directory/model/cvmh1510/bin/. To use these, user must provide a path to the CVM-H data files. This provides only a query by elevation. We use the vx interface. The vx_lite provides some support for adding a GTL.

-bash-4.2$ ./vx -h
     vx6.2 - Copyright M. Peter Suess 2006, A. Plesch 2009
Harvard University, University of Tuebingen
Extract velocities from a simple GOCAD voxet
     usage: vx < file.in
vx accepts geographic coordinates and 
UTM Zone 11, NAD27, coordinates in X Y Z columns.
Output is:
X Y Z utmX utmY elevX elevY topo mtop base moho hr/lr/cm cellX cellY cellZ tg vp vs rho

We moved the vx, executable into the model directory, then ran the command this way:

./vx < socal_welev.txt > cvmh_vx_results.txt

We called CVM-H through UCVM this way:

-bash-4.2$ ./bin/ucvm_query -f ./conf/ucvm.conf -c ge -m cvmh < socal_welev.txt > ucvm_cvmh_elev_results.txt

Results are posted here:

Retrieving values from CVM-S4

We query the CVM-S model using the cvms_bin which is found in the installation_directory/model/cvms/src/cvms_bin. This provide only a query by depth. The format for the cvms native interface is different than the ucvm input file format, so we have converted the inputfile to cvms format.

Two calls to test cvm-s4
./bin/ucvm_query -f ./conf/ucvm.conf -m cvms < ./tests/inputs/test_latlons_socal_pts.txt > ucvm_cvms_socal_results.txt
-bash-4.2$ ./cvms_txt < cvms_file.in > cvms_socal_results.txt
 SCEC CVM-S 11.11.0 2011/11/

Results are posted here,

Retrieving values from CVM-S4.26 (aka cvms5)

The CVM-S4.26 model was provided as data files, without its own query interface. UCVM provides a query interface for this model, that includes interpolation for points between the meshes points on which the tomography models is defined.

Retrieving values from CVM-S4.26.M01 (aka cvmsi)

A native interface CVM-S4.26.M01 is provided in cvms426/bin. We call the CVM-S4.26.M01 native interface like this:

Two calls to test cvms4.26.M01
./bin/ucvm_query -f ./conf/ucvm.conf -m cvmsi < ./tests/inputs/test_latlons_socal_pts.txt > ucvm_cvmsi_socal_results.txt
./cvmsi_query -m ../model/i26 < ../../../tests/inputs/test_latlons_socal_pts.txt >cvmsi_socal_results.txt

Results from UCVM for test points are here,

Clone this wiki locally