Difference between revisions of "Rupture Variation Generator v5.4.2"

From SCECpedia
Jump to navigationJump to search
Line 49: Line 49:
 
==== Source 68, rupture 7 ====
 
==== Source 68, rupture 7 ====
  
This source/rupture combo has 1190 rupture variations, but since each one takes about 90 seconds to generate, it would take 30 hours to create them all.  Instead, we used the stand-alone code to generate the first 155 rupture variations. then generated them using test code compiled against the library.
+
This source/rupture combo has 1190 rupture variations, but since each one takes about 90 seconds to generate, it would take 30 hours to create them all.  Instead, we used the stand-alone code to generate the first 423 rupture variations, then generated the first 41 using test code compiled against the library.
  
 
Using the same tolerances, many rupture variations had more than 10% of points which at least 1 difference, which causes an abort.  We doubled the tolerance (from 0.00011 to 0.00021) and ran the comparisons again.
 
Using the same tolerances, many rupture variations had more than 10% of points which at least 1 difference, which causes an abort.  We doubled the tolerance (from 0.00011 to 0.00021) and ran the comparisons again.
Each rupture variation has approximately 120 differences outside of the tolerance values (out of approximately 35 million values).
+
Each rupture variation has approximately 498 differences outside of the tolerance values (out of approximately 35 million values).
  
The average difference (which is mostly the difference between slips) was 0.0474%, and the largest difference was ~3e-4 (on values which range up to ~10000).
+
The average difference (which is mostly the difference between slips) was 0.052%, and the largest difference was ~4e-4 (on values which range up to ~10000).

Revision as of 20:56, 9 October 2019

This page details the work to migrate the Graves & Pitarka (2019) rupture generator, v5.4.2, to CyberShake.

The specific code changes required to create an API are detailed here: Rupture Variation Generator v5.4.2 code changes

Status

  • Replicate reference SRFs using stand-alone code: Complete
  • Create RupGen-api-5.4.2: Complete
  • Replicate SRFs from stand-alone code using RupGen library: Complete
  • Compile DirectSynth against RupGen library: In progress
  • Replicate SRFs from stand-alone code using DirectSynth: Not yet started
  • In the database, create new Rupture Variation Scenario ID and populate the Rupture Variations table: Not yet started
  • Perform CyberShake run for USC using RupGen-api-5.4.2: Not yet started

Verification

The verification sequence is:

  1. Reference results from Rob
  2. (1) reproduced using Rob's supplied stand-alone code, compiled and run on a Summit head node.
  3. (2) is used to produce reference SRFs from ERF 36 geometry files for
    1. Source 76, rupture 0 (M6.35)
    2. Source 128, rupture 858 (M7.35)
    3. Source 68, rupture 7 (M8.45)
  4. Results from (3) are reproduced using test code which is compiled against the RupGen-api-5.4.2 library.
  5. Results from (3) are reproduced using DirectSynth and writing out the SRFs.

RupGen-api-5.4.2 against stand-alone code

Source 76, rupture 0

We generated all 77 rupture variations using the stand-alone code, then generated them using test code compiled against the library.

Only a few non-slip fields differed more than the permitted tolerance, less than 1 per variation.

The average difference (which is mostly the difference between slips) was 0.0012%, and the largest difference was ~1e-5 (on values which range up to ~100).

Since in the past we have had issues with an order dependence in the rupture generator, we also spot-checked by generating every 10th variation using the test code. These yielded the same md5sums as when they were generated in order.

Source 128, rupture 858

We generated all 256 rupture variations using the stand-alone code, then generated them using test code compiled against the library.

Each rupture variation has approximately 6 differences outside of the tolerance values (out of approximately 2.5 million values).

The average difference (which is mostly the difference between slips) was 0.0072%, and the largest difference was ~7e-5 (on values which range up to ~1000).

Since in the past we have had issues with an order dependence in the rupture generator, we also spot-checked by generating every 20th variation using the test code. These yielded the same md5sums as when they were generated in order, as did rupture variations 250 and 251 generated consecutively.

Source 68, rupture 7

This source/rupture combo has 1190 rupture variations, but since each one takes about 90 seconds to generate, it would take 30 hours to create them all. Instead, we used the stand-alone code to generate the first 423 rupture variations, then generated the first 41 using test code compiled against the library.

Using the same tolerances, many rupture variations had more than 10% of points which at least 1 difference, which causes an abort. We doubled the tolerance (from 0.00011 to 0.00021) and ran the comparisons again. Each rupture variation has approximately 498 differences outside of the tolerance values (out of approximately 35 million values).

The average difference (which is mostly the difference between slips) was 0.052%, and the largest difference was ~4e-4 (on values which range up to ~10000).