New BBP Validation Package

From SCECpedia
Revision as of 16:59, 13 August 2021 by Scottcal (talk | contribs) (→‎Perform goodness-of-fit with CyberShake results)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

This page outlines the process to create a new BBP validation package and use it to produce CyberShake goodness-of-fit results.

Create BBP Validation Package

  1. Copy over an already-existing validation package in $BBP_VAL_DIR.
  2. Copy the .src file and the .stl file that were used for the validation simulation.
  3. Edit the validation_config.txt file, if needed. Possibly modify EVENT_VELOCITY_MODEL, P_CODEBASE_ALL_source, and P_CODEBASE_ALL_stations.
  4. Create the .acc files. There should be 1 file per station per component with the filename <station>_<comp>.acc. These files use the following format:
    Rotated Accelerogram to <direction>
    H1 for rotation: <station name> <original angle 1>
    H2 for rotation: <station name> <original angle 2>
    rotation angle - n/a 
    Acceleration in g
    <npts>    <dt>    NPTS, DT
    <values, 6 per row in %.6e format>
    

    You can use the script on Summit in ~callag/scripts/convert_bbp_to_acc.py to convert an acceleration BBP file into 3 .acc files.

Perform goodness-of-fit with CyberShake results

  1. Create a working directory to assemble the CyberShake output files.
  2. Copy CyberShake *.vel.bbp and *.acc.bbp files to the working directory.
  3. Run bbp/utils/misc/import_bbp_simulation.py to copy the files into the outdata directory with the correct filenames. You can make up any sim id. The script creates the filenames using "<prefix><station name><suffix>.<vel|acc>.bbp", so you may need to change the CyberShake filename to have the entire station name in them. Sample invocation:
    bbp/utils/misc/import_bbp_simulation.py --sim_id 202108120 --src_file bbp_val/NorthridgeBBP/common/nr_v14_02_1.src --station_list bbp_val/NorthridgeBBP/common/nr_v19_02_1.stl  --input_dir . --prefix "Seismogram_" --suffix "_0_0_0_bb.0"
  4. Create a BBP run which contains the stages we need to perform GoF. The easiest way to do this is to run the BBP scripts in -g mode, which generates the XML representation of the BBP workflow but doesn't execute it. Sample invocation:
    run_bbp.py --expert -g
    When prompted, select 'validation simulation', the validation simulation created in the first part from the list, 'GP', no custom source, yes rupture generator, all stations, yes site response, yes velocity seismogram plots, yes acceleration seismogram plots, no GMPE comparisons, yes goodness-of-fit, 'GP', no additional metrics. This will generate an XML file.
  5. Run the BBP, but skip all simulation stages and start with the plot_map module. To do this, run:
    run_bbp.py -x <XML file> --sim-id <sim id used with import_bbp_simulation.py> -r Plot_Map

    This will generate plots and GoF results in the outdir/<sim id> directory.