Volume Maths
Volume math creates a new volume using an arbitrary mathematical expression. Variables in the function are extracted from volumes, horizons (and horizon attributes), spatial / survey information and trace headers.
Conditional statements and extensive math and utility functions can be included in the expression (see Functions and Variables for Math Expressions and Trace Header Variables for Maths Expressions).
Create a volume maths process
- In the Control Panel, open the Process tab.
- At the tab header, click the Add icon and select New Process.
- Double-click Volume Maths.
- Type a name for the process and click OK.
Create volume variables
- In the Details Panel, click the Add Row icon beside Volume.
- At Symbol, enter a variable to represent the volume.
- At Volume, select a volume.
Note: Click the Help icon to read more about this process including built-in variables, operators, constants, functions and examples (see also Functions and Variables for Math Expressions).
Create horizon variables
- In the Details Panel, click the Add Row icon beside Horizon.
- At Symbol, enter a variable to represent the horizon.
- At Horizon, select a horizon.
- At Property, select the horizon property or attribute.
- At extract location, choose how to find the horizon value.
- Survey location (default): use in most cases.
- CMP X/Y (for gathers): use the CMP X/Y headers.
- Receiver (for gathers): use the GX/GY headers.
- Source (for gathers): use the SX/SY headers.
- Either source or receiver location.
- The Output Variables section allows you to choose the variables you wish to output from this process. This section will only be shown if you are using variables in your formula.
- Click the (+) button to add additional variables to output from this process. Your first output variable, marked in bold, will be output to the next process in the workflow. Additional outputs will not be saved to disk, but will remain available for use in later processes in the same workflow, or to view interactively.
Enter the formula
- Type the formula for the new volume at Formula using extra variables and conditionals as appropriate.
- Click the folder icon next to the formula box to select and use a formula from an existing Math template (see Using a Math Template).
Output extents
The Output Extents define the output volume.
- The default survey is taken from the first input volume.
- When there is more than one input volume, the source of output extents can be defined by the extents Source parameter:
- Use extents of first volume only: output extents are those of the first volume - default option.
- Combine extents of all volumes: output extents are the union of the extents of all input volumes.
- At Inline extent and Crossline extent, enter the min, max and increment.
- Select the vertical domain, TWT or TVDSS, and start, stop and interval.
The result of this process is a new volume, located in the Volume tab. Use the CTRL-P hotkey to quickly switch between a process and its result volume.
Use extra variables
In addition to the symbols you choose for volumes, you may use these additional case-insensitive variables:
- NaN ("Not a Number") or null — A null sample; NaNs are invisible in all views.
- twt_ms or twt_s — The time of a sample in milliseconds or seconds. Use this variable to perform an operation conditional to time or compute result in relative to time.
- tvdss_m or tvdss_ft — The depth of a sample in metres or feet respectively. Use this variable to perform an operation conditional to depth or compute result in relative to depth.
Use dimension variables including "offset", "freq", "channel", "realisation", "semblance", "rotation", "offset_m" and "offset_ft" in your Formula when performing the Volume Maths process on a gather volume.
- For example, if you have defined a symbol ‘a’ for your gather volume and the conditional formula if (offset < 2150, a, NaN), the process will produce a gather volume where the offset value is less than 2,150.
Use conditionals
Volume Maths supports conditional statements in the form of:
if (condition, value if true, value if false)
Important: Do NOT use !=NaN or ==NaN in conditional statements. Instead, use !IsNaN() or IsNan().
Example 1:
if (AI/SI <1.7, AI/SI, NaN)
This formula will produce a Vp/Vs volume defined only where the result is less than 1.7.
Example 2:
if (!IsNan(a), a, b)
This formula will use the value of volume ‘a’ for a given location if it exists, otherwise it will take the value of volume ‘b’.