Difference between revisions of "UCVM cvmsi tapering for CyberShake Study 22.12"

From SCECpedia
Jump to navigationJump to search
Line 1: Line 1:
 
== UCVM tapering ==
 
== UCVM tapering ==
 +
 +
interp Zrange is set to [0,700] initially
  
 
related ucvm_query flags that affects tapering:
 
related ucvm_query flags that affects tapering:
Line 11: Line 13:
  
 
-z zmin,zmax      (optional)
 
-z zmin,zmax      (optional)
           (zrange values, default: zmin = 0, zmax = 350)
+
           (zrange values, original default: zmin = 0, zmax = 350)
  
  

Revision as of 00:32, 3 March 2023

UCVM tapering

interp Zrange is set to [0,700] initially

related ucvm_query flags that affects tapering:

-L vs,vp,density (optional)

     example,  -L 200,-1,-1
         (only floor the vs to 200)

-m cvmsi,elygtl:taper

         (adding tapering interp to cvmsi)

-z zmin,zmax (optional)

         (zrange values, original default: zmin = 0, zmax = 350)


UCVM's implementation of ucvm-tapering is ..

     zmax fixed at 700

     outside of zrange

       below zmin,    process GTL (vs30 to vs)
       above zmax,    straight CRUST pass thru

     inside of range

       calculate target-taper values

       *** THIS IS NEW ***
                 Added an additional backend query
                 to get the original interp_crust value
                 and brought it back from backend to use for this
                 --- only implemented for plugin modules
                 *** What does this mean?
                 unless the non-plugin module set these values,
                 tapering is not going to work.  ie. cvmh
                 can not be tapered, (not sure if it makes sense)
                 but cvmhlabn could be tapered.


       if interp_crust.vs < target-taper.vs
           use interp_crust
       else
           use target-taper

       individually,
           if there is a user-defined floor, use that floor
           or else use predefined floor
              if value 'less'(exclusive) than floor
                   replace value with the floor
           if user-defined floor is NULL ie(explicitly set it to -1)
              skip the check

#define UCVM_DEFAULT_VS_FLOOR 500.0
#define UCVM_DEFAULT_VP_FLOOR 1700.0
#define UCVM_DEFAULT_DENSITY_FLOOR 1700.0

Generate Z1.0 and Z2.5

on Discovery, commands used to create Z1.0 and Z2.5 basin query results,

#!/bin/bash
if [ -z "$UCVM_INSTALL_PATH" ]; then
  echo "Need to set UCVM_INSTALL_PATH to run >" ${0##*/} 
  exit
fi
source $UCVM_INSTALL_PATH/conf/ucvm_env.sh

BIN_DIR=${UCVM_INSTALL_PATH}/bin
CONF_DIR=${UCVM_INSTALL_PATH}/conf

TEST=basin_query_mpi_complete_cvmsi_taper_z2.5
salloc ${UCVM_SALLOC_ENV} -Q --nodes=2 --ntasks=4 --mem=16GB --time=01:00:00 srun -Q -o ${TEST}.srun.out ${BIN_DIR}/basin_query_mpi_complete -b ${TES
T}.first,${TEST}.firstOrSecond,${TEST}.last,${TEST}.secondOnly,${TEST}.threeLast -o ${TEST}.result,${TEST}.meta.json -f ${CONF_DIR}/ucvm.conf -m cvms
i,elygtl:taper -i 10 -v 2500 -l 33.25,-119.38 -s 0.005 -x 578 -y 366

TEST=basin_query_mpi_complete_cvmsi_taper_z1.0
salloc ${UCVM_SALLOC_ENV} -Q --nodes=2 --ntasks=4 --mem=16GB --time=01:00:00 srun -Q -o ${TEST}.srun.out ${BIN_DIR}/basin_query_mpi_complete -b ${TES
T}.first,${TEST}.firstOrSecond,${TEST}.last,${TEST}.secondOnly,${TEST}.threeLast -o ${TEST}.result,${TEST}.meta.json -f ${CONF_DIR}/ucvm.conf -m cvms
i,elygtl:taper -i 10 -v 1000 -l 33.25,-119.38 -s 0.005 -x 578 -y 366

the .firstOrSecond files are the ones that is needed for CyberShake study

Plot the binary file

To plot these files with ucvm_plotting, data ingest mode of plot_z10_map.py and plot_z25_map.py from ucvm_plotting is used but first needs to change those file name to have .binary file name so plotting scripts know how to parse the data

plot_z10_map.py -a s -s 0.0050 -b 33.25,-119.38 -u 35.08,-116.49 -c cvmsi,elygtl:taper -x 578 -y 366 -f cvmsi_taper_z1.0.binary -o cvmsi_taper_z1.0.png
plot_z25_map.py -a s -s 0.005 -b 33.25,-119.38 -u 35.08,-116.49 -c cvmsi,elygtl:taper -x 578 -y 366 -f cvmsi_taper_z2.5.binary -o cvmsi_taper_z2.5.png 

plot_z10_map.py -a s -s 0.0050 -b 33.25,-119.38 -u 35.08,-116.49 -c cvmsi -x 578 -y 366 -f cvmsi_z1.0.binary -o cvmsi_z1.0.png
plot_z25_map.py -a s -s 0.005 -b 33.25,-119.38 -u 35.08,-116.49 -c cvmsi -x 578 -y 366 -f cvmsi_z2.5.binary -o cvmsi_z2.5.png 

An example of the output,

Using parameters:

datafile = cvmsi_taper_z1.0.binary
lat1 = 33.25
lat2 = 35.08
color = s
outfile = cvmsi_taper_z1.0.png
spacing = 0.0050
nx = 578
ny = 366
cvm = cvmsi,elygtl:taper
lon1 = -119.38
lon2 = -116.49

Retrieving data. Please wait...
TOTAL number of binary data read:211548
CVMSI, taper, z1.0
CVMSI, taper, z2.5
CVMSI, no taper, z1.0
CVMSI, no taper, z2.5

Create difference map between 2 binary files

plot_vs30_etree_difference_map.py -s 0.005 -c cvmsi -a d -i ${UCVM_INSTALL_PATH} -b 33.25,-119.38 -u 35.08,-116.49 -o diff_taper_none_z1.0.png -f cvmsi_taper_z1.0.binary,cvmsi_z1.0.binary -x 578 -y 366 -t "diff between cvmsi and cvmsi+taper Z1.0" -A -0.52,0.52

plot_vs30_etree_difference_map.py -s 0.005 -c cvmsi -a d -i ${UCVM_INSTALL_PATH} -b 33.25,-119.38 -u 35.08,-116.49 -o diff_taper_none_z2.5.png -f cvmsi_taper_z2.5.binary,cvmsi_z2.5.binary -x 578 -y 366 -t "diff between cvmsi and cvmsi+taper Z2.5" -A -0.52,0.52

An example of the output :

Using parameters:

ny = 366
lat1 = 33.25
datafile2 = cvmsi_z1.0.binary
datafile1 = cvmsi_taper_z1.0.binary
lat2 = 35.08
color = d
title = diff between cvmsi and cvmsi+taper Z1.0
spacing = 0.005
nx = 578
outfile = diff_taper_none_z1.0.png
cvm = cvmsi
lon1 = -119.38
scalemax = 0.52
scalemin = -0.52
lon2 = -116.49
installdir = /var/www/html/UCVM_web/web/model/UCVM_TARGET

Retrieving data. Please wait...

Using --> cvmsi_taper_z1.0.binary
TOTAL number of binary data read:211548


Using --> cvmsi_z1.0.binary
TOTAL number of binary data read:211548


difference map, CVMSI, taper/none, z1.0
difference map, CVMSI, taper/none, z2.5