Accessing CyberShake Duration Data

From SCECpedia
Jump to navigationJump to search

This page details how to access CyberShake duration data.

Duration data is a relatively new addition to the CyberShake codebase, starting with Study 15.12.

Types of duration data

In CyberShake, we calculate the following duration metrics, independently for the X and Y components:

  • Energy integral (integral of the velocity squared)
  • Significant durations for 5-75%, 5-95%, and 20-80% for velocity
  • Arias intensity (pi/2g times the integral of the acceleration squared)
  • Significant durations for 5-75%, 5-95%, and 20-80% for acceleration
  • Cumulative absolute velocity (CAV) (integral of the absolute value of the acceleration).

A reference document for these formulas is available here: File:durationMetrics.docx.

Accessing database data

We have only populated the database for Study 15.12. For Study 17.3, duration data is only available on the filesystem.

For Study 15.12, the database contains duration data for the 8 metrics that users requested quick access to. For both the X and Y component:

  • Significant duration, 5-75%, velocity
  • Significant duration, 5-95%, velocity
  • Significant duration, 5-75%, acceleration
  • Significant duration, 5-95%, acceleration

Details about accessing this data are available at Accessing CyberShake Database Data.

Accessing file data

To access duration data which is not in the database, you must use the files on disk.

Using the retrieval script

The easiest option is to use the retrieval script at /home/scec-02/cybershk/utils/retrieve_duration.py (and in SVN at https://source.usc.edu/svn/cybershake/import/trunk/Utils/retrieve_duration.py). This script takes the run ID, source ID, rupture ID, rupture variation ID, output file, and a flag to include the header information in the output.

Finding files by hand

If you need to find files by hand, you should follow the same instructions as for finding seismogram files by hand, given at this link. For duration files, the filename convention is Duration_*.dur. All Duration files are in the 'new' format, and can be found in the /home/scec-04/tera3d/CyberShake/data/PPFiles/<site>/<runID> root.

Reading duration data from files

Duration files consist of the standard CyberShake header (detailed here), followed by a 4-byte integer containing the number of duration records per component to follow, followed by the individual duration records.

Each duration record has the following structure (in C):

struct duration_record {
  int type;
  int type_value;
  int component;
  float value;
};

The 'type' is one of the following integers, as defined in C:

#define ARIAS_INTENSITY 0
#define ENERGY_INTEGRAL 1
#define CAV 2
#define DV 3
#define DA 4

The 'type_value' is defined for types DV and DA. This takes one of the following integers from the C definition:

#define D5_75 5
#define D5_95 6
#define D20_80 7

The 'component' can either by X or Y, defined as:

#define X_COMP 0
#define Y_COMP 1

For example, the record for the Y component of the acceleration significant duration from 5-75% has type=4, type_value=5, component=1.

Overall, then, the file format is:

<header for 1st rupture variation>
<number of records R as a 4-byte integer>
<record 1, X component>
<record 2, X component>
...
<record R, X component>
<record 1, Y component>
...
<record R, Y component>
<header for 2nd rupture variation>
...

Note that neither the rupture variations, nor the individual duration records, are required to be in any particular order.