Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page has descriptions of the file formats that we use in various places.

Table of Contents

SRF Format

SRF info format

The .info files that accompany .srf files are in HDF5 format

Example (CBalleny.info)


Stoch format

LF/HF/BB binary format

These files store timeseries data. All formats follow a style derived from the LF seis format produced by EMOD3D:

...

LFHFBB

i4 number of stations

TOTAL 4 BYTES

i4 number of stations
i4 number of timesteps
i4 seed used in simulation
i4 site amplification used (bool)
i4 path duration method

  • 0: GP2010 formulation
  • 1: WUS modification trial/error
  • 2: ENA modification trial/error
  • 11: WUS formulation of BT2014
    over predicts for multiple rays
  • 12: ENA modification trial/error
    over predicts for multiple rays

i4 number of ray methods
known options for first-fourth type below:

  • 1: direct
  • 2: moho

i4 first ray method used
i4 second ray method used
i4 third ray method used
i4 fourth ray method used
i4 nbu parameter
i4 ift parameter
i4 nlskip parameter
i4 icflag parameter (bool)
i4 individually run stations (bool)
i4 site specific VMs used (bool)
f4 duration of timeseries (s)
f4 timestep of timeseries (s)
f4 start time of timeseries (s)
f4 stress drop average (bars)
f4 kappa parameter
f4 q frequency exponent
f4 max sim frequency (Hz)
f4 flo parameter (Hz)
f4 fhi parameter (Hz)
f4 rupture velocity factor (rupture : Vs)
f4 rvfac shallow fault multiplier
f4 rvfac deep fault multiplier
f4 czero coefficient, -1: used binary default
f4 calpha coefficient, -1: used binary default
f4 seismic moment, -1: used rupture model
f4 rupture velocity, -1: used rupture model
f4 depth to moho, -1: used binary default (999.9)
f4 vp_sig parameter
sig parameters are likely uncertainties
f4 vsh_sig parameter
f4 rho_sig parameter
f4 qs_sig parameter
f4 fourier amplitude uncertainty (1)
f4 fourier amplitude uncertainty (2)
f4 rupture velocity uncertainty
s64 stoch file used (basename)
s64 velocity model used (basename)

TOTAL 288 BYTES

i4 number of stations
i4 number of timesteps
f4 duration of timeseries (s)
f4 timestep of timeseries (s)
f4 start time of timeseries (s)
s256 LF directory path used
s256 LF VM directory path used
s256 HF file path used
possibly add vsite file path used here?

TOTAL 788 BYTES

START OFFSET 4 BYTES

i4 index of station in input file
i4 x gridpoint of station
i4 y gridpoint of station
i4 z gridpoint of station
i4 simulation number of timesteps
f4 simulation timestep (s)
f4 simulation grid spacing (km)
f4 simulation grid rotation (degrees)
f4 latitude of station (degrees)
f4 longitude of station (degrees)
s8 name of station

TOTAL 48 BYTES * NUM_STATIONS

START OFFSET 512 BYTES

f4 longitude of station (degrees)
f4 latitude of station (degrees)
s8 name of station
f4 epicentre distance to station (km)
f4 vs30 at station (m/s)

TOTAL 24 BYTES * NUM_STATIONS

START OFFSET 1280 BYTES

f4 longitude of station (degrees)
f4 latitude of station (degrees)
s8 name of station
i4 x gridpoint of station
i4 y gridpoint of station
i4 z gridpoint of station
f4 epicentre distance to station (km)
f4 HF vs30ref (m/s)
f4 LF vs30ref (m/s)
f4 BB vs30 (m/s)

TOTAL 44 BYETS * NUM_STATIONS

START OFFSET 0 FROM ABOVE

f4 velocity (cm/s) timeseries in array dimensions:
timestep, station, component (x, y, z, ..., 9)

TOTAL 4 BYTES * PRODUCT_OF_DIMENTIONS

START OFFSET 0 FROM ABOVE

f4 acceleration (cm/s^2) timeseries in array dimensions:
station, timestep, component (x, y, z)

TOTAL 4 BYTES * PRODUCT_OF_DIMENTIONS

START OFFSET 0 FROM ABOVE

f4 acceleration (g) timeseries in array dimensions:
station, timestep, component (x, y, z)

TOTAL 4 BYTES * PRODUCT_OF_DIMENTIONS

XYTS.e3d binary format

This file is produced by EMOD3D and contains a timeseries of ground motions on the XY plane. Unlike the LF seis files, this contains data at all grid points and may have a decimated resolution specified when running EMOD3D through the e3d.par file with the parameters dxts and dyts.

Numbers are 4 bytes in length and may be little or big endian. You can see or use the existing interfaces that also take care of endianness at github:ucgmsim/qcore/qcore/xyts.py::XYTSFile.

File size can be derived knowing the format and the shape of time-series (all necessary values are at the beginning of the file).

...

  1. simulation metadata
    1. INTEGERS
      1. number of first x gridpoint
      2. number of first y gridpoint
      3. number of first z gridpoint
      4. number of first timestep
      5. number of x gridpoints
      6. number of y gridpoints
      7. number of z gridpoins (always 1 by definition of X-Y file)
      8. number of timesteps
    2. FLOATS
      1. x spacing between given gridpoints (km)
      2. y spacing between given gridpoints (km)
      3. original (pre-decimated) grid spacing between gridpoints used in simulation (km)
      4. timestep in timeseries (s)
      5. model rotation of gridpoints (degrees)
      6. model centre latitude (degrees)
      7. model centre longitude (degrees)
  2. timeseries
    • float array of velocities in the dimentions of timesteps, components (x, y, z), y grid positions, x grid positions.

Intensity Measure calculation

The IM calculation code will produce a number of text files (decided as of 25/05/2018). We will summarize them in the following.

Intensity measure files

There are two types of IM files: per station and aggregate. The per station one has the following format:

...

Code Block
station, component, IM_1, IM_2, ...., IM_N

Empirical IMs

As above the empirical intensity measures have a similar format:

...

Notes: 1) the component for empirical IMs is always 'geom' 2) only total sigma is saved to the csv file

Rrup file

The file format for this is:

...

Note: we don't have rx calculations yet, so we may dump an invalid value just to conform with the format.

Metadata file

So far the requirements indicate that we need:

Code Block
identifier, rupture, type, date, version

GSF File

The GSF file is used to define the geometry of a source in a source modelling problem. It is the first step in the SRF generation process after a realisation is read.

A GSF file contains three sections in order:

  1. Errata/Header section,
  2. Declaration of the number of points (N),
  3. The geometry description: N lines representing each point in the geometry.

There are utilities to read GSF files in the gsf  module within qcore.

Example File

Below is a discretisation of the Acton fault. You can visualise this gsf file use the gsf_plot script in the visualisation repo under the sources folder.

View file
nameacton.gsf
height250

Errata/Header

The header consists of a number of commented lines, each beginning with # . Here is an example:

Code Block
# nstk= 179 ndip= 215
# flen=    17.0720 fwid=   21.2853
# LON  LAT  DEP(km)  SUB_DX  SUB_DY  LOC_STK  LOC_DIP  LOC_RAKE  SLIP(cm)  INIT_TIME  SEG_NO

This is the typical output of fault_seg2gsf . The first line has the number of points in the strike and dip directions, respectively. Then the length and width of the fault, and the last line is a description of each column in the points section.

The header is skipped by programs parsing GSF files and may contain any number of lines. The Python GSF generator, for example, only prints out the column description.

Code Block
# LON  LAT  DEP(km)  SUB_DX  SUB_DY  LOC_STK  LOC_DIP  LOC_RAKE  SLIP(cm)  INIT_TIME  SEG_NO

Declaration of the Number of Points

Immediately following the header, there is one line containing the number of points in the GSF geometry definition.

Geometry Description

The geometry description has N lines, where N is the number of points declared in the previous section. Each line has 11 space separated values representing one point in the geometry.

ColumnDescription
LONThe longitude of the point.
LATThe latitude of the point.
DEPThe depth of the point (in kilometres, with 10 meaning 10km below ground level).
SUB_DX

The subdivision length in the strike direction.

SUB_DYThe subdivision length in the dip direction.
LOC_STKThe fault plane strike.
LOC_DIP

The fault plane dip.

LOC_RAKEThe fault plane rake.
SLIPThe total slip at this point (cm), usually -1.
INIT_TIMEThe initial rupture time of this point, usually -1.
SEG_NOThe number corresponding to the segment this point belongs to.:

Here an example of a line from the Acton fault GSF file.

  168.36970   -45.45649 6.04586e-01 9.58498e-02 9.94142e-02  196.0   60.0  110.0    -1.00    -1.00   0

Point Order

The order of the points is important! The points must be in order of first strike and then dip. That is to say, first every point on all planes at depth = 0 should be written, then depth = 1, depth = 2, and so on and the order of the points at a fixed depth = i is in order of strike. Refer to the diagram below.

Order points along strike then dip.Image Added