Difference between revisions of "Basin Query Result"
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | == Basin Query Algorithms in Actual Implementation == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == Basin Query Algorithms in | ||
For each grid point within the user supplied boundary, a stack of query points is generated | For each grid point within the user supplied boundary, a stack of query points is generated | ||
Line 14: | Line 5: | ||
backend model for their matching Vs. | backend model for their matching Vs. | ||
− | + | We define three terms. | |
− | the Vs | + | *target_vs = This is either 1000m (Z1.0) or 2500m (Z2.5). Our Basin_Query script is trying to determine depth at which this is Vs is observed |
− | + | *model_depth = This is the depth at which we query the velocity model. We start at current-depth=0 which is the surface. | |
+ | *model_vs = This is the Vs returned by the model under evaluation, and a model_vs always has an associated model_depth. | ||
+ | *crossing = each time we query the velocity_model, we check to determine whether the model_vs is greater than or equal to the target_vs. If this is the first model_vs, or if the previous model_vs was below the target_vs, and now the model_vs is larger than the target_vs, then we consider it a crossing. | ||
− | If the Vs is less than 0.0, it is invalid, just skip it. | + | #Search of Vs threshold crossings of a grid point starts by looking at the Vs of this grid point from the first depth layer to the very last depth layer. |
− | + | #If the Vs is less than 0.0, it is invalid, just skip it. | |
− | If the Vs is greater than 0.0, check if this is a crossing point. A crossing is found if Vs | + | #If the Vs is greater than 0.0, check if this is a crossing point. A crossing is found if Vs of the earlier depth layer is lower than the preset threshold and the Vs of the current depth layer is higher than or equal to the preset threshold, ie. an upward sloping crossing. |
− | of the earlier depth layer is lower than the preset threshold and the Vs of the current | ||
5 different types of result for all the grid points are being collected and outputted into 5 different binary data files. User may selectively collect each or all data files by supplying the matching data file names on command line. | 5 different types of result for all the grid points are being collected and outputted into 5 different binary data files. User may selectively collect each or all data files by supplying the matching data file names on command line. | ||
Line 44: | Line 36: | ||
! scope="row" | First Crossing | ! scope="row" | First Crossing | ||
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.first data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.first data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1_first_map.png png] |
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.first data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.first data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5_first_map.png png] |
|- | |- | ||
! scope="row" | First Or Second Crossing | ! scope="row" | First Or Second Crossing | ||
Line 52: | Line 44: | ||
[http://hypocenter.usc.edu/research/ucvmc_result/cca_z1_firstOrSecond_map.png png] | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1_firstOrSecond_map.png png] | ||
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.firstOrSecond data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.firstOrSecond data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5_firstOrSecond_map.png png] |
|- | |- | ||
! scope="row" | Last Crossing | ! scope="row" | Last Crossing | ||
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.last data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.last data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1_last_map.png png] |
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.last data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.last data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png]| | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5_last_map.png png]| |
|- | |- | ||
! scope="row" | Second Only Crossing | ! scope="row" | Second Only Crossing | ||
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.secondOnly data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.secondOnly data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1_secondOnly_map.png png] |
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.secondOnly data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.secondOnly data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5_secondOnly_map.png png] |
|- | |- | ||
! scope="row" | Last but | ! scope="row" | Last but | ||
not First or Second Crossing | not First or Second Crossing | ||
|| [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.threeLast data] | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1.threeLast data] | ||
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z1_threeLast_map.png png] |
− | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5. | + | || [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5.threeLast data] |
− | [http://hypocenter.usc.edu/research/ucvmc_result/ png] | + | [http://hypocenter.usc.edu/research/ucvmc_result/cca_z2.5_threeLast_map.png png] |
|- | |- | ||
|} | |} | ||
− | + | The basin query command that was used to generate the result, | |
− | + | CCA06: [minLat = 33.35, minLon = -123.0, nx = 1551, ny = 1201, gridSpacing = 0.005 degrees] | |
− | + | mpirun -np 20 ./basin_query_mpi | |
− | + | -b ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.first, | |
− | + | ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.firstOrSecond, | |
− | + | ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.last, | |
− | + | ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.secondOnly, | |
− | + | ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.threeLast | |
− | + | -o ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.result | |
− | + | -f ucvm.conf -m cca -i 20 -v 2500 -l 33.35,-123.0 -s 0.005 -x 1551 -y 1201 | |
− | + | ||
− | + | A plot command that was used to generate one of the png file, | |
− | + | (data file were renamed to simplify the batch script) | |
− | + | ||
− | + | ./plot_z25_map.py -b 33.35,-123.0 -u 39.35,-115.25 -c cca -s 0.005 -f cca_z2.5.first | |
− | + | -o cca_z2.5_first_map.png | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ( | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Southern California Basin Query Result == | |
+ | Basin Query results for southern California models are posted here: | ||
− | + | *[[Southern California Basin Query Results]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Related Entries == | == Related Entries == |
Latest revision as of 15:28, 7 December 2017
Contents
Basin Query Algorithms in Actual Implementation
For each grid point within the user supplied boundary, a stack of query points is generated with different depths in the increment of 20m. This set of query points are submitted to the backend model for their matching Vs.
We define three terms.
- target_vs = This is either 1000m (Z1.0) or 2500m (Z2.5). Our Basin_Query script is trying to determine depth at which this is Vs is observed
- model_depth = This is the depth at which we query the velocity model. We start at current-depth=0 which is the surface.
- model_vs = This is the Vs returned by the model under evaluation, and a model_vs always has an associated model_depth.
- crossing = each time we query the velocity_model, we check to determine whether the model_vs is greater than or equal to the target_vs. If this is the first model_vs, or if the previous model_vs was below the target_vs, and now the model_vs is larger than the target_vs, then we consider it a crossing.
- Search of Vs threshold crossings of a grid point starts by looking at the Vs of this grid point from the first depth layer to the very last depth layer.
- If the Vs is less than 0.0, it is invalid, just skip it.
- If the Vs is greater than 0.0, check if this is a crossing point. A crossing is found if Vs of the earlier depth layer is lower than the preset threshold and the Vs of the current depth layer is higher than or equal to the preset threshold, ie. an upward sloping crossing.
5 different types of result for all the grid points are being collected and outputted into 5 different binary data files. User may selectively collect each or all data files by supplying the matching data file names on command line.
- First Crossing -- If there is no crossing, return -1 or else return the first upward crossing's depth
- Second or First Crossing -- If there is no crossing, return -1. If there are more than one crossing, return the second to the first or else return the depth of the first crossing
- Last Crossing -- If there is no crossing, return -1 or return the last upward crossing's depth
- Second only Crossing -- If there is no crossing or less than two crossings, return -1. Return the second crossing depth even if there are more than two crossings.
- Last but not Second or First Crossing -- If there is no crossing or there are less than or equal to two crossings, return -1, or return the last crossing's depth
Basin Query Algorithm Result for CCA 06
Algorithm | Threshold = 1000m/s | Threshold = 2500m/s |
---|---|---|
First Crossing | data | data |
First Or Second Crossing | data | data |
Last Crossing | data | data
png| |
Second Only Crossing | data | data |
Last but
not First or Second Crossing |
data | data |
The basin query command that was used to generate the result,
CCA06: [minLat = 33.35, minLon = -123.0, nx = 1551, ny = 1201, gridSpacing = 0.005 degrees]
mpirun -np 20 ./basin_query_mpi -b ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.first, ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.firstOrSecond, ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.last, ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.secondOnly, ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.threeLast -o ${TEST_TOP_PATH}/RESULT/basin_query_mpi_cca_z2.5_n20.result -f ucvm.conf -m cca -i 20 -v 2500 -l 33.35,-123.0 -s 0.005 -x 1551 -y 1201
A plot command that was used to generate one of the png file, (data file were renamed to simplify the batch script)
./plot_z25_map.py -b 33.35,-123.0 -u 39.35,-115.25 -c cca -s 0.005 -f cca_z2.5.first -o cca_z2.5_first_map.png
Southern California Basin Query Result
Basin Query results for southern California models are posted here: