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
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.
- 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
- 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: 
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.