From SubSurfWiki
Revision as of 16:59, 16 February 2012 by User (talk | contribs) (started page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A public API for generating synthetic gathers.

The tool is a bit like Google Chart Images but for synthetic seismic data. The idea is to save geophysicists time making simple synthetic models, building mobile apps, generating figures, etc.


  • The user passes some data and parameters via a URL
  • The program consumes physical rock properties (velocity of P-waves and S-waves, and rock density)
  • It computes some functions (mainly interface reflectivity as a function of angle)
  • It convolves the result with another function (a seismic wavelet)
  • It returns a seismic plot image and some XML data

Also a bit like what AVO* does (AVO in the Android Market) except that it returns plots of seismic data instead of using Google Chart Images to return charts of the reflectivity.

Input data

These data are mandatory, but could assume Vp = 2 x Vs if Vs is not provided

  • Upper layer Vp (in m/s), Vs (m/s), and rho (kg/m3)
  • Lower layer Vp, Vs, rho

The AVO* app assumes that numbers under 10 are in km/s and g/cm3. This is a safe assumption.

It would be nice to support ft/s for velocity (even in Imperial systems, density is given in g/cm3).


Italics indicates the default value.

Must have

  • Wavelet type: Ricker, Butterworth
  • Wavelet frequencies: 0–200 Hz, 25 Hz default for Ricker
  • Equation to use: Zoeppritz, Aki-Richards, Shuey 3-term, Shuey 2-term
  • Angle range to compute: 0–90 degrees
  • Number of traces in the plot: 1 to 100, 20 default
  • Amount of time in the plot: 1 to 500 ms, 200 ms default
  • Type of plot: wiggle trace (vector) or variable density (raster)

Nice to have, can default at first

  • Sample rate in time: 1 ms, 2 ms, or 4 ms
  • How much random noise to add to the result: 0% by default
  • Type of colour map for variable density: black/white, blue/white/red
  • Whether or not to fill the positive values for a wiggle trace: fill by default
  • Plot dimensions in pixels: 400 x 400 by default
  • A title for the plot image: free text, no title by default
  • Whether to label the plot axes or not: yes or no, don't label
  • Whether or not to return computed data (as XML?) as well: yes or no, don't label
  • Image type: PNG, SVG

Much later

  • Other plots, like the charts I put in the AVO* app (easy)
  • Other model types, like a wedge model (easy)
  • More rock interfaces (harder)
  • Fluid substitution using Gassmann's equation (hard)

Google Chart Image example

The following URL generates a simple AVO plot: [1]

The main bit is chfd=... which describes the functions y(x) where y is magnitude and x is angle (I am plotting Aki-Richards and 2-term Shuey here, plus a fluid subbed A-R). The coefficients are computed in the app and passed to a procedure that builds this URL.