Sunteți pe pagina 1din 24

Creating a 3D grid for velocity modeling

There are a number of reasons why you may wish to create a grid for velocity
modeling.
1. To interpolate velocity data in 3D using the full range of property modeling tools
(Data analysis, Petrophysical modeling).
2. To create complex velocity functions.
3. To deal with varying velocity functions under reverse faults.

If the interpolation is only required for the reservoir interval (that is, the zones
above the reservoir have a velocity model defined using maps), then the
standard 3D grid can be used. However, if the entire velocity model is to be
defined, then the grid must extend to the surface and to improve the
performance, use converted from property average velocity cube as input for
the rest of the model.

If faults are insignificant, then it may be worth using the Make simple grid.
Drop the principle horizons into the dialog to create the zones for modeling,
and divide the model in the vertical direction using the Layering. Remember
that the grid resolution should match the density and scale of the data. There
is no need to create a high resolution grid to model stacking velocities which
have high uncertainty and are averaged over a relatively large volume.
You are now ready to use the standard property modeling workflows to create
a velocity property in the 3D grid. Once created, the property model can either
be used directly or V0 maps extracted.
Create interval velocity map from stacking velocities for depth
conversion
Interval velocity map is one of the common inputs for velocity modeling. To
obtain it, you can extract interval velocity points from stacking velocity, and
then create an interval velocity map from those point attributes using
Make/edit surfaces.
The resulting interval velocity map can be used directly as input for Advanced
velocity model to define the layer's velocity profile.
1. Import the stacking velocities as points with attributes or any of the predefined
formats.
2. Use the Dix conversion operation in the Velocity conversion folder on
the Operations tab of the points settings dialog to create a set of interval/average
velocity points.
3. Open the Settings for the point data set and click the Operations tab.
4. Expand the Velocity conversion folder and select Interval velocity calculation
(surface, surface).
5. Make sure the average velocity attribute is used and enter the bordering surfaces as
top and base elevation. Run the operation.
6. The new datapoint set can be used to grid a surface using the Make/edit surface .
Make sure to use the Interval velocity attribute for gridding.
7. The resulting surface can be used in the Advanced velocity model dialog.
Preparing well velocity data
The estimation of realistic velocity model parameters involves a delicate
balance of well and surface data (see Well TDR algorithms for a detailed
description of the algorithm). Small errors and inconsistencies in the input
data will often lead to dramatic errors in the result. This makes QC of the input
data a very important step in the velocity modeling workflow.
A few examples of well velocity QC are:
 Interval velocity is the closest equivalent in the raw data of the instantaneous velocity
used by Petrel* in the velocity modeling workflow. It is useful to create and view this data
before building the velocity model.
 Petrel will calculate bad V0 and K parameters if there are anomalous velocities in the
input data. These should be removed before proceeding with the velocity modeling.
 Cross-plotting the velocity data is necessary to confirm that the Linvel law is applicable.
You should remove outliers, and look for zones in which a linear trend can be
distinguished. These plots can also show whether constant values can be used, or
whether a surface is required.
 QC of the tie of time structure well tops is important as a poor well tie in time will lead to
conflicts in the estimation algorithm. A mismatch can be tolerated, but only within
reasonable limits, and consistently throughout the dataset.

Derive and view interval velocities from checkshots


Petrel will automatically derive Average velocity and Interval velocity logs
for checkshot objects. This provides you with the advantage of plotting those
values directly on a Function window where you can look for problems within
the data. The Function window provides a link to the spreadsheet view of the
data, so that you can select any point (or points) in the plot and highlight the
corresponding row in the spreadsheet. Next, you can decide whether to edit
or delete the data point.
1. Right-click on the checkshots object and select Open Spreadsheet for the checkshot.
2. Open a function window, and plot Interval velocity against TWT picked values.
3. Identify any outliers, use Edit functions points and click on any outlier.
4. The corresponding row in the spreadsheet is highlighted and can be edited or
deleted.

5. Both Average and Interval velocities from well TDR can be displayed in a Well section
window, both have pre-defined templates for display.
Create an Interval velocity point attribute for the checkshots
Although the Interval velocity attribute exists for the checkshots object, a
point attribute for the interval velocity is convenient to have for QC of the
checkshot data.
1. Insert a new attribute under the attributes folder of the checkshots.
2. Select type Continuous, and select the interval velocity property template in the
settings dialogue which appears. Also give it an appropriate name.
3. Open the spreadsheet for the checkshots.
4. Copy and paste the values of the existing interval velocity (Interval Velocity) attribute
into the blank attribute column.

Find and edit bad velocity values


1. Create an interval velocity point attribute on the checkshots as described in How to
create an Interval velocity point attribute for the checkshots.
2. Display the wells in a well section window.
3. Display the interval velocity attribute (easiest to see on the newly created point data).
Use TVDSS as the depth setting. In the left-hand track within the figure below,
spurious values stand out clearly as outliers from the dominant trend.
4. Open the spreadsheet for the checkshots and delete rows with bad values. If you do
this on a copy of the checkshots, remember that you have to select the edited file in
the Time tab of Wells Settings.

Look for relationships in the velocity data


1. Open a function window and cross-plot the check shots interval velocity and Z
attributes.
2. Use Edit functions points (click on a single point) or Select using freehand
draw (draw to include multiple points) to identify outliers in the check shots
spreadsheet. Verify or delete the points in question.
3. Look for changes in the velocity trend to identify natural boundaries for different
velocity intervals.
Interval velocity vs Z for checkshots colored by zone; raw data (left) and edited
(right)

Add a zone attribute to the checkshots


1. Insert a new attribute under the attributes folder of the checkshots.
2. Select type Discrete, and select Zones as template in the settings dialog that appears.
3. Use the Attribute operations tab to sample the Zone log onto each point.
Note: First you need to create Zone log under the attributes folder of the Well
Tops.
QC the well ties in the time domain
1. Display the wells in a well section window.
2. Display the checkshots, well tops, and structural surfaces from the Input pane.
3. Select TWT from the domains menu and look for inconsistencies.
Settings for velocity model (Velocity conversion)
The Settings dialog for output simple or advanced velocity models includes
tabs for Info, Statistics, and Operations. To view more details about an existing
model you can open the advanced velocity model dialog.

Operations tab
On the operations tab are a number of operations available for velocity
conversions. At the end of an option, the parenthetical abbreviations (inc) or
(res) indicate how the resolution is defined. The abbreviation inc means
Increment, where you define the increments for the cube manually by entering
values. The abbreviation res means resolution where you define the resolution
by dropping in an existing seismic cube and it uses that resolution to create an
output velocity cube.

The operations that produce a velocity cube all have an option labeled Use
input domain type which controls the domain of the resulting cube. If
selected (the default) then the domain will match the From side of the model.
So, in a TWT->Z model you will be producing a velocity cube in Time.
Instantaneous velocity cube (inc)

Create an instantaneous velocity cube from a velocity model, defining


the resolution of output velocity cube manually by typing values. Specify
inline/crossline/Z increment to define the output cube resolution.
The Use input domain type option defines output cube domain type
(see example below).

Instantaneous velocity cube (res)

Create an instantaneous velocity cube from a velocity model. Specify


seismic cube to define an output cube resolution. The Use input
domain typeoption defines output cube domain type. Use
boundary option allows calculating an output just inside of the velocity
model boundary.
Interval velocity cube (inc)

Create an interval velocity cube from a velocity model.

Not valid for a velocity model created from average velocity


cube/property. Specify inline/crossline/Z increment to define the output
cube resolution. The option Use input domain type defines the output
cube domain type.
Interval velocity cube (res)

Create an interval velocity cube from a velocity model. Not valid for a
velocity model created from Average velocity cube/property. Specify
seismic cube to define an output cube resolution. Use input domain
type option defines output cube domain type. Use boundary option
allows calculating an output just inside of the velocity model boundary.
Average velocity cube (inc)

Create an average velocity cube from a velocity model. Specify


inline/crossline/Z increment to define the output cube resolution.
The Use input domain type option defines the output cube domain
type.

Average velocity cube (res)

Create an average velocity cube from a velocity model. Specify seismic


cube to define an output cube resolution. Use input domain
type option defines output cube domain type. Use boundary option
allows calculating an output just inside of the velocity model boundary.

The output seismic cube is saved in the input pane.

Instantaneous velocity property

Create an instantaneous velocity property from a velocity model.

Interval velocity property

Create an interval velocity property from a velocity model. Specify a 3D


Grid to be used to create an output property.

Average velocity property

Create an average velocity property from a velocity model. Specify a 3D


Grid to be used to create an output property. It is recommended to only
use simple 3D grids where all the pillars are vertical. The reason is that
average velocity is practically the same as the time/depth relationship.
The model assumes time/depth conversion is done in the vertical
direction only. This does not fit well with using non vertical pillars.

The output property is saved inside the respective 3D Grid.

Time logs

Create time logs from a velocity model. Specify the MD increment for
the output logs.

Instantaneous velocity logs

Create instantaneous velocity logs from a velocity model. Specify the


MD increment for the output logs.

Average velocity logs

Create average velocity logs from a velocity model. Specify the MD


increment for the output logs.

The output logs are saved under the Wells/Global well logs folder.
Interval velocity maps

Create an interval velocity map for each zone in the velocity model.

The result will appear as attributes under the output velocity model, in
the Horizons in the Models tab.

Note: The resulting maps cannot be removed. For advanced velocity


models if you have once run the velocity map on a particular model and
later rebuilt the model (click Apply in the Advanced velocity model
dialog), the maps are rebuilt automatically. For simple velocity model
you need to re-create the interval velocity maps in the Operations tab
each time when a new simple velocity model is created. However,
interval velocity maps are rarely useful for such models since they only
contain a single interval.
Constructing and QC'ing the velocity model from well velocities
The Vo as Surface and K as Constant option is the recommended option in
most cases. There is rarely sufficient data to accurately determine k for each
well, and combinations of extrapolated k and V0 values away from the wells
may not be sensible.
To help reduce this problem, Petrel gives you an option to set the minimum
number of TDR samples in a zone before excluding wells.
Velocity modeling often involves several iterations of reviewing and updating
of the models. A high quality velocity model is seldom produced in the first
run.
A few workflow suggestions are described below:
 Begin without using well correction. With the well correction turned on, any large errors
in the model will be disguised by the correction and problems can become difficult to
see. When the velocity model result converges on the well tops and you are satisfied,
then turn on the correction and run the model once more with the optimized parameter
setting in the dialog.
 In the first iteration, use the Well TDR - Surface option for both k and V0. In the Well
TDR estimation sub-tab use Optimize for estimation of K andEstimate and adjust to
base. Look at the resulting surfaces for V0 and k, these will highlight problems in the data.
 For the final conversion where correction to well tops is done it is recommended to use
constant k and a V0 as Correction - Surface. There is rarely enough data in each well to
calculate a robust value of k for each well and since V0 is derived as a surface that is
corrected to the well tops a consistent velocity model is generated.
 Problem wells can be fixed by removing poor data points in the time depth relationship.
Use the depth tolerances to remove data from very thin zones that may be inaccurate
(see Correction and output sub-tab (Advanced velocity model) for details). Also use the
Robust estimation methods (using well or data weights) to reduce the effects of outliers
in the input data. If the problems persist, extreme data points needs to be removed.
The velocity modeling provides numerous types of output data, which can be
used to QC the results. See Correction and output sub-tab (Advanced velocity
model) for details on which types are available.
A few examples of velocity model QCs:
 Check the output V0 and k well data points. All values should be reasonable, and adjacent
wells should have similar values. Variations across the model should be systematic, not
merely noisy. This may indicate wells with poor input data.
 Check the output V0 and k surfaces against well data points by setting the point's V0 or k
as the Z attribute (in other words, right-click on the attribute you want and select Use as
visual vertical position), the points should plot on the surface. Are trends extrapolated
too far, or should the surfaces be truncated? If the wells are close together, then small
discrepancies in the values may create a trend that is extrapolated to extreme levels;
remove one of the wells from the model if the cause of the spike cannot be edited.
 The Velocity log output can be plotted in the well section panel and compared with the
Interval velocity attribute for the check shots. The two logs should overlie when plotted
using the same scale.
 Check the well correction report for anomalous large residuals. If the corrections are large
in particular wells, review the inputs. The time depth relationship may be incorrect or the
seismic picks may be bad (run Synthetics), or the well pick may be poor (re-pick or turn
off correction on the well top spreadsheet).

QC the modeled velocity logs against the raw data


1. Under Correction and output sub-tab (Advanced velocity model) select time and
velocity logs.
2. Display wells in a well section window.
3. Display the check-shots interval velocity attribute.
4. Display the velocity log from velocity modeling. This log will be inserted under the
Global well logs folder.
5. Set both logs to display with the same scale. In the right hand track of the figure
below, you can see an excellent match between the check-shot velocities and the
velocity log from velocity modeling.
If velocity data/model does not cover whole area
Sometimes velocity data does not cover the same area as input data or the
output velocity model is smaller than converted data.
If the data you need to domain convert is below the output velocity model or
if it goes beyond the limits of the velocity output laterally, the algorithm uses
the closest value from the velocity data to give the average velocity. It works
the same way if velocity input for a velocity model is smaller than input
surface/horizon.
Note: Usually, if input layer boundaries contain holes or do not extend to the
edge of the velocity model, Petrel will interpolate across the missing data.
However, it is recommended to avoid this kind of input so that you have more
control over the process and also the domain conversion may run faster.

Note: Extrapolation below a velocity cube or velocity property will probably


not return the results you are expecting. If you expect to require conversion
below the model then it is recommended to add a LinVel zone at the bottom
of the model.
Creating complex velocity functions
Complex velocity functions cannot be used directly in the Advanced velocity
model dialog, but they can be used to create a velocity cube or a velocity
property within a 3D grid. This property can then be used in the depth
conversion.
There are a number of ways to create the property, the most obvious is
sampling velocity data into the 3D grid and interpolate it using Petrophysical
modeling. Here, the Data analysis can be used to investigate trends (for
example, vertical increases in velocity) and ensure they are honored.
Alternatively, you can plot the velocity data in a function window, fit a function
to the data and then use that in the calculator to create a smooth velocity
property (see Functions and Using Functions and Surfaces in the Calculator).
Or you can create a velocity cube from the same data (See Seismic calculator).

Create complex velocity functions for the Advanced velocity model


1. Create a coarse time grid with the major time horizons using the Make simple grid and
insert appropriate layering.
2. Plot any available data as time (x) versus velocity (y) in a function window.

3. Create a function using Linear function and fit it to the data (any number of
additional points can be added).
4. Rename the function TimeVsVel .
5. In the property calculator write Velocity=TimeVsVel(Z) to create a velocity property
and make sure that the property has the correct template.
6. Use the property as input to Advanced velocity model.
Note: Use the same procedure to create a velocity cube. Except that step 1
would be to create an empty seismic cube or locate an existing cube that has
the desired resolution. Step 5 uses the seismic calculator instead of the
property calculator.
Apply user defined velocity functions
The model builder allows specifying the layer velocity as a linear velocity
equation in time or depth or as a discretely sampled velocity cube while it
does not directly support user defined velocity functions. A workaround is
described here.
Preparation

You will need a seismic cube where the xyz extent covers the velocity
model and that has a reasonable resolution. If you do not have one
already then you can create a seismic survey covering the model's lateral
extent and then create an empty cube inside that survey. The vertical
domain of the cube must match the function you are entering, so if you
have velocity given as a function of Time then the cube must be in the
Time domain.

Enter user defined velocity equation in seismic calculator

Use the seismic calculator to enter your velocity expression. The


expression should yield either velocity or average velocity, as a function
of either time or depth. Note that the vertical argument is called Z in
both cases. The expression could be either a pure mathematical
function, or a lookup into a discrete Petrel function subject.

Realize the cube and apply in model builder

Set the correct property (velocity or average velocity) on the output


subject depending on what your equation is actually intended to be
used for. Realize the resulting cube before dropping it into the model
builder.

Note: Limitations when using this method:


 You cannot get the model builder to estimate V0, K, and so on.
So if you require only linear velocity, the built-in function in advanced velocity model is
better in that it allows more control in adjustment and quality control. With the velocity
cube approach described here, you can still apply adjustments but then you cannot
control how the velocities are adjusted to make them fit the control points (for example,
well tops).
 The precision is limited by the granularity of the velocity cube.
 The function you enter cannot easily depend on XY position or distance from top of layer.

Sub topics:
 Apply user defined velocity functions - Example
Example using the equation: velocity = 2000 - Z*0.3 - (Z*Z)*8.0e-5.
Conditions for extracting velocity along a surface or at points
When you want to extract interval velocity for that layer in a model, use
Interval velocity maps.
This is available either on the Advanced velocity model dialog
box, Correction and output tab, or the Velocity models Settings dialog
box,Operations tab.
You may expect the same result from Interval velocity extraction from
the Operations tab of the Point data Settings. However, you need to be
more cautious when you use this operation especially when you are trying to
extract interval velocity to the points located at the bottom of the layer zone.
Even though it is true that by theory a point at the bottom of a layer is indeed
considered part of that layer, there are several conditions.
If this zone or the one below is zero thickness in some areas, then the surface
will sometimes be at the bottom of more than one layer. It is undefined which
layer you get back. Usually you get the layer that is not zero thickness, but
that might not be what you expect. Even if there are no zero thickness areas,
numerical inaccuracy might cause your input data to not be exactly on the
boundary. For example, interpolation inside a surface might introduce enough
noise to make the surface appear to dip below the zone at some points.
For this reason, when you want to extract velocity at the bottom of a velocity
zone, you should use Interval velocity maps, as this operation will handle
velocity value at boundaries appropriately.

S-ar putea să vă placă și