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.

LF/HF/BB binary format

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

  1. station size, common metadata
  2. station list with station metadata
  3. timeseries

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/timeseries.py::LFSeis, HFSeis, BBSeis.

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

The second section is repeated for each station.

The LF format contains unnecessarily repeated common metadata in the station list section (in italics below).

In BB, stations are ordered to match the station input file used in the LF. This means if there was an 'index of station in input file' in BB, it would run incrementally from 0. This is also the case for HF however it is based on the station file given which should therefore be the same (same order of stations) and this is currently a requirement for BB.

HF and BB have gaps between the first 2 sections to allow future additions to section 1 without breaking backwards compatibility.

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 (km/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 vs30 (km/s)
f4 LF vs30 (km/s)
f4 BB vs30 (check)

TOTAL 44 BYETS * NUM_STATIONS

START OFFSET 0 FROM ABOVE

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

TOTAL 4 BYTES * PRODUCT_OF_DIMENTIONS

START OFFSET 0 FROM ABOVE

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

TOTAL 4 BYTES * PRODUCT_OF_DIMENTIONS

START OFFSET 0 FROM ABOVE

f4 acceleration 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).

The gridpoints are based on a model which is an area with equidistant gridpoints in the X, Y, and Z directions. It is centred on a position (longitude, latitude) and may be rotated.

  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
component, IM_1, IM_2, ...., IM_N

Note: The per station file does not have the station name, as it is the file name.

The aggregate one has all the stations on a single place:

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

Rrup file

The file format for this is:

Code Block
station, lat, lon, rrup, rjbs, rx

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