Difference between revisions of "UCVM muscal"

From SCECpedia
Jump to navigationJump to search
 
(20 intermediate revisions by one other user not shown)
Line 1: Line 1:
== about MUSCAL ==
+
This page describes the Multi-Scale CALifornia (MUSCAL) velocity model and its integration into UCVM.
 +
 
 +
== MUSCAL overview ==
 +
 
 +
The MUSCAL Vp and Vs model was created by Te-Yang Yeh and Yehuda Ben-Zion in 2025-6 by starting with the CANVAS tomography model as a base and then integrating multiple regional and local high-resolution models.  Each submodel is evaluated to determine where it improves the fit through simulations of M4 historical events to 1 Hz, and then the overall model is updated where the submodel improves the fit.
  
From Te-Yang Yeh and  Yehuda Ben-Zion
 
  
The Multi-Scale CALifornia (MUSCAL) statewide Vp and Vs velocity models provide high-quality integrated description of seismic structures across the state. Starting with the CANVAS base model (Doody et al., 2023), MUSCAL incorporates multiple regional and local velocity datasets into a unified structure, capturing features ranging from broad crustal-mantle structures to fine-scale local anomalies such as sedimentary basins.
 
  
To ensure quality, the merged multi-scale models underwent a data-informed refinement process guided by simulations of small validation events. A key feature of MUSCAL is the inclusion of a locally optimized near-surface low-velocity taper (LVT), specifically designed to better represent under-resolved shallow structures and improve the accuracy of ground-motion predictions.
 
  
  
Line 11: Line 12:
  
 
zone: 11
 
zone: 11
 +
 +
 +
  command  use:
 +
    plot_depth_profile.py -n $UCVM_INSTALL_PATH/conf/ucvm.conf -i $UCVM_INSTALL_PATH -d vs -c muscal
 +
                          -o muscal_small_depth_1000.png -C 'Multi-Scale Statewide California Velocity Model'
 +
                          -v 1000 -b 0 -s 36.5054,-119.0587 -e 30000
 +
  
 
==== big data in netcdf ====
 
==== big data in netcdf ====
  model_MSCAL_CANVAS_dll0.01_dz50_cmpd.nc
+
 
  4.5G
+
  model_MSCAL_CANVAS_dll0.01_dz50_cmpd.nc
 +
  4.5G
  
 
   longitdue:1301 from -126 to -113  
 
   longitdue:1301 from -126 to -113  
Line 36: Line 45:
 
  [[FILE:muscal_big_depth-500_matprops.json.txt]]
 
  [[FILE:muscal_big_depth-500_matprops.json.txt]]
 
  [[FILE:muscal_big_depth-1000_matprops.json.txt]]
 
  [[FILE:muscal_big_depth-1000_matprops.json.txt]]
 
  
 
==== small data in netcdf ====
 
==== small data in netcdf ====
Line 84: Line 92:
 
  [[FILE:muscal_small_no_interp-1000_matprops.json.txt]]
 
  [[FILE:muscal_small_no_interp-1000_matprops.json.txt]]
  
 +
==== Another small dataset in netcdf ====
 +
 +
  model_MUSCAL_CANVAS_dll0.01_vardz_float32_cmpd.nc
 +
  1.4G
 +
 +
  All longitude, latitude, and depth points are now saved as float32, as well as the vp, vs, and rho. 
  
 
Loaded in-memory as binary data with interpolation
 
Loaded in-memory as binary data with interpolation
  
 
{|
 
{|
|[[FILE:muscal_small_interp_50.png|thumb|300px|muscal small 50 vs]]  
+
|[[FILE:muscal_small_interp_50.png|thumb|300px|muscal small 50 vs]]  
 
|[[FILE:muscal_small_interp_100.png|thumb|300px|muscal small 100 vs]]
 
|[[FILE:muscal_small_interp_100.png|thumb|300px|muscal small 100 vs]]
 
|[[FILE:muscal_small_interp_500.png|thumb|300px|muscal small 500 vs]]  
 
|[[FILE:muscal_small_interp_500.png|thumb|300px|muscal small 500 vs]]  
Line 98: Line 112:
 
  [[FILE:muscal_small_interp-500_matprops.json.txt]]
 
  [[FILE:muscal_small_interp-500_matprops.json.txt]]
 
  [[FILE:muscal_small_interp-1000_matprops.json.txt]]
 
  [[FILE:muscal_small_interp-1000_matprops.json.txt]]
 +
 +
=== Validation ===
 +
 +
 +
Several steps of pre/post processing are done to original MUSCAL model(netcdf format) in order to
 +
incorporate it into UCVM and CVM explorer.
 +
 +
  Because of the speed of netcdf-C code is too slow to support in-time nature of the explorer and would
 +
  like to have interpolation on query,
 +
 +
      * Number of depth layer is reduced with deeper layers merged into fewer layers
 +
      * preprocessing the netcdf data into binary data files
 +
      * data are all in float32
 +
 +
[[FILE:MUSCAL_test_points_deep.txt]]
 +
[[FILE:MUSCAL_test_points_shallow.txt]]
 +
 +
 +
Final result from ucvm_query, (with interpolation)
 +
 +
[[FILE:MUSCAL_test_points_deep.final.txt]]
 +
[[FILE:MUSCAL_test_points_shallow.final.txt]]

Latest revision as of 16:00, 2 April 2026

This page describes the Multi-Scale CALifornia (MUSCAL) velocity model and its integration into UCVM.

MUSCAL overview

The MUSCAL Vp and Vs model was created by Te-Yang Yeh and Yehuda Ben-Zion in 2025-6 by starting with the CANVAS tomography model as a base and then integrating multiple regional and local high-resolution models. Each submodel is evaluated to determine where it improves the fit through simulations of M4 historical events to 1 Hz, and then the overall model is updated where the submodel improves the fit.



Datasets

zone: 11


 command  use:
    plot_depth_profile.py -n $UCVM_INSTALL_PATH/conf/ucvm.conf -i $UCVM_INSTALL_PATH -d vs -c muscal 
                          -o muscal_small_depth_1000.png -C 'Multi-Scale Statewide California Velocity Model'
                          -v 1000 -b 0 -s 36.5054,-119.0587 -e 30000


big data in netcdf

 model_MSCAL_CANVAS_dll0.01_dz50_cmpd.nc
 4.5G
 longitdue:1301 from -126 to -113 
 latitude:1251  from 31 to 43.5
 depth:671      from 0 to 100,000 
                  50 increments until 30,000
                  1000 increments til 100000

Plot Depth profile at 36.5054,-119.0587 in different step increments. No interpretation and access data using nc api

muscal big 50 vs
muscal big 100 vs
muscal big 500 vs
muscal big 1000 vs


File:Muscal big depth-50 matprops.json.txt
File:Muscal big depth-100 matprops.json.txt
File:Muscal big depth-500 matprops.json.txt
File:Muscal big depth-1000 matprops.json.txt

small data in netcdf

  model_MUSCAL_CANVAS_dll0.01_vardz_cmpd.nc 
  2.1G 
 longitdue:1301 from -126 to -113   
 latitude:1251  from 31 to 43.5
 depth:210      from 0 to 99,000 
                  50 increments upto 3000 
                  100 increments upto 5000
                  250 increments upto 10000
                  500 increments upto 30000
                  1000 increments upto 99000


Depth profiles in different steps : 50m,100m,500m,1000m


Direct from netcdf as external file

muscal small 50 vs
muscal small 100 vs
muscal small 500 vs
muscal small 1000 vs
File:Muscal small depth-50 matprops.json.txt
File:Muscal small depth-100 matprops.json.txt
File:Muscal small depth-500 matprops.json.txt
File:Muscal small depth-1000 matprops.json.txt


Loaded in-memory as binary data no interpolation

muscal small 50 vs
muscal small 100 vs
muscal small 500 vs
muscal small 1000 vs
File:Muscal small no interp-50 matprops.json.txt
File:Muscal small no interp-100 matprops.json.txt
File:Muscal small no interp-500 matprops.json.txt
File:Muscal small no interp-1000 matprops.json.txt

Another small dataset in netcdf

 model_MUSCAL_CANVAS_dll0.01_vardz_float32_cmpd.nc
 1.4G
 All longitude, latitude, and depth points are now saved as float32, as well as the vp, vs, and rho. 

Loaded in-memory as binary data with interpolation

muscal small 50 vs
muscal small 100 vs
muscal small 500 vs
muscal small 1000 vs
File:Muscal small interp-50 matprops.json.txt
File:Muscal small interp-100 matprops.json.txt
File:Muscal small interp-500 matprops.json.txt
File:Muscal small interp-1000 matprops.json.txt

Validation

Several steps of pre/post processing are done to original MUSCAL model(netcdf format) in order to incorporate it into UCVM and CVM explorer.

  Because of the speed of netcdf-C code is too slow to support in-time nature of the explorer and would 
  like to have interpolation on query,
     * Number of depth layer is reduced with deeper layers merged into fewer layers
     * preprocessing the netcdf data into binary data files
     * data are all in float32
File:MUSCAL test points deep.txt
File:MUSCAL test points shallow.txt


Final result from ucvm_query, (with interpolation)

File:MUSCAL test points deep.final.txt
File:MUSCAL test points shallow.final.txt