Calculate time depth curve used in depth conversion
Introduction
The documentation describes how to calculate a time depth curve to be used in depth conversion.
A time depth curve is useful for depth conversion where time data can be converted to depth data directly using the time depth curve as a lookup function. Several time depth curves for different wells can be used in multiple lookup gridding or to create a lookup cube for determining pseudo lookup functions inbetween wells.
Project and graphic display of sonic data and depth conversion curves
The challenge is to derive a proper time depth curve for a well.
Working steps to generate a time depth curve:
- Setting up a Geocap project that will contain all the data
- Install a specific workflow set for applying the functionality
- Allocate correct files into the initialization part in the workflow
- Executing various parts of the workflow to generate the time depth curve
The documentation is a summary of the applied features in Geocap with references to other part of the documentation where some items are explained in more details.
On this page:
Setting up a project
A project in Geocap can be generated generic; i.e. along its development and practical work. It is however nice to have an initial setup. The project in this text is just called depthConversionCurves and referred to as the project. Here is the initial setup for the project with input data and result curves.
The contents inside the folders will gradually be generated along its use. The example shows what this test project may look like.
Working with the project manager and setting up a project is explained in project manager introduction.
Quick explanation of folders in the project:
Checkshot data. A folder to contain checkshot data from the well holding time and depth values.
Images. A folder to contain screenshots from the screen in order to save informative displays. The screenshots are taken by Images->Screenshots
Result curves. A folder to contain 2D velocity profile and the time depth conversion curve that are generated by the workflow.
Well generic log data. A folder to contain well log data that are read in by the ASCII reader.
A well log image is read by Well log images->Import->Generic. Browse in the images and use Automatic reading.
Well tops. A folder to contain well tops. In this case the well tops are taken form NPD's facta pages .
Wells. A folder to contain wells with all the logs. The wells are usually in LAS format and read into the folder with the LAS reader that is found under Wells->Import->LAS. The sonic log is usually known as DT.
Example contents of the project for depth conversion curves
Input data to curve calculation
All curves and displays in this documentation are in 2D mode because the curves are displayed in time velocity or time depth domain. This implies that input data may not use the x and y location for correct placement in 3D.
Data that should be read into the project are:
1. Checkshot data for the well listing time and depth values; see figure below.
Measured_depth( x ) Two_way_time( y ) One_way_time( z ).
Example checkshot data for a well
2. Depth and sonic (acoustic) data from a LAS file read into Geocap; see figure below.
The sonic data can be read into Geocap in two ways:
- as ASCII data into a general Generic folder like Well generic log data.
- as log data into a Well folder as in the project.
Both options are used in the demo project for example purposes. It was necessary however to reformat the LAS file to have only one record in a line instead of three which was in the original file. This deficiencies will be removed in a later release when the LAS reader is updated.
Read in as real coordinates x y z ... DT ..., where DT is the field data for sonic logs.
Example of a log file for a well with sonic log data
3. Formation data for litostratigraphic units in the well are read into the Well tops folder.
The litostratigraphic data are used to control and decide the velocity profile digitized by the user. It is important that the depths are in z and the formation names are in field data lito. The file displayed in Table View may look like this:
363.000 363.000 363.0000 363.0000 NORDLAND GP
363.000 363.000 708.0000 708.0000 NAUST FM
363.000 363.000 1,410.000 1,410.000 KAI FM
363.000 363.000 1,536.000 1,536.000 HORDALAND GP
363.000 363.000 1,536.000 1,536.000 BRYGGE FM
363.000 363.000 1,804.000 1,804.000 ROGALAND GP
363.000 363.000 1,804.000 1,804.000 TARE FM
X and y coordinates are of no importance as they are not used in this curve treatments. However, if one wants to allocate correct x and y values to the dataset, get the well position from the log information and edit the file using a few shell commands.
Right_click on PM_data->Make Active , and work in the shell
fix x 'x_coordinate' ; # set all x coordinates to 'x_coordinate'
fix y 'y_coordinate' ; # set all y coordinates to 'y_coordinate'
Right_click on PM_data->Assign Data From...->active
Example of litostratigraphic units data for a well
Workflow to be used for calculating time depth curve
The calculation features are placed in a workflow for a quick and easy way to operate the various steps in the process.
Workflows and command objects are essential in Geocap. Read more about these features here: Commands.
For this particular task a specific workflow has been prepared. If you don't have this selected set, download it from Checkshots and sonic logs.gwf and open it using the File->Open entry.
The corresponding demo project used to test and document this application can be downloaded from DepthConCurves.zip
The selected workflow will contain the primary command objects put together to make it easier for the user to do the calculation. The workflow looks like:
The workflows is set up by command objects. These commands object could also have been a selected set of shared commands which then would allow the user to operate on the datasets directly. This is however not necessary as all logic and display features are placed in the workflow in a convenient way.
Workflow used for displaying and calculating curves
Explanation of the workflow
The different workflow elements must be used strictly according to the rules in order to work. They are however very easy to handle. The main requirement is to have loaded the project with correct data. Here is a brief explanation of entries in the workflow:
Init checkshots and sonic log
Clear Graphics. Clear the graphics in the screen.
Read checkshots. Will save checkshots in workspace as checkshot_t_d.
Read depth and sonic data. Will save sonic data in workspace as tvdmsl_dt.
Read well log sonic data. Will save sonic data in workspace as tvdmsl_dt.
Read well tops. Will save well tops in workspace as tvdmsl_dt.
This is the initialization step. It should always be Executed as the very first step. The various workflow elements must be edited using the Edit option to set up all the input files. The corresponding datasets are read into Geocaps workspace area and reside therefore to be used by the other workflow steps. If the workspace for some reason should be erased one has to execute Init checkshots and sonic log over again.
In the applied workflow the sonic log data was read from the generic well folder and not from the well log folder (which actually contains a different well as an example). Read more about well log display in Calibration and display of well log images.
Time depth curves
Checkshots Time_z Depth_x. Erases the screen and displays checkshot data as a time( z ) depth( x ) curve.
Logdata Time(Sum_DT)_z TVDMSL_x. Will display accumulated sonic data as a time( z ) depth( x ) curve.
Executing Time depth curves will display the checkshot data and the sonic data in the same plot. Ideally these plot should match in the common region. That might not be the case although.
Accumulated sonic time and checkshot time versus depth
Velocity depth curves
Checkshots Velocity_z Depth_x. Erases the screen and displays calculated velocity data for checkshots.
Sonic Velocity_z Depth_x. Will display sonic velocity versus depth.
Executing Velocity depth curves will calculate the velocity for the checkshot data and for the DT sonic data. The display shows the major variations in these velocities along with the depth.
Velocity of sonic and checkshots versus depth
Display well tops
FM points vertical lines. Will display the well top formation points as vertical lines along the depth axis.
Well top names vertical lines. Will display the well top names on the corresponding vertical well top lines.
FM points horizontal lines. The well top depth values are converted to time values using the generated time depth lookup curve. Do not use this workflow element before the timeDepth_from_velocityprofile lookup curve is generated and placed in workspace. Will then display the well top formation points as horizontal lines towards the time axis.
Well top names horizontal lines. Will display the well top names on the corresponding horizontal well top lines if the time depth lookup curve is generated.
Executing Display well tops vertical will just show as vertical lines the placement of the well tops on the depth axis ( x ) and there corresponding names. This can be used for reference in a proper digitalization of a velocity profile.
In the same display a velocity profile digitized by the user is shown. The well top lines are used for reference to decide where the velocity profile should be smoothed and where it should be made of straight linear segments.
Well top lines and named in display of velocity for sonic and checkshots versus depth
Digitize and generate curves
Digitize velocity profile. Will pop up a menu for digitizing a velocity profile. The velocity versus depth curves must be displayed on beforehand. When stopping the digitizing the result line is saved in workspace as velocity_profile. It can also be saved directly into the project, but if not, add it from workspace.
It may also be smart to rename it with a name telling which well it represents. This is done in the project.
Display velocity profile. Will display the velocity profile that is allocated as input. Use Edit to do the allocation.
Time Depth from velocity profile. Will perform the generation of a new time depth curve generated from the digitized velocity profile. Be sure to allocate (Edit) the correct velocity profile.
After pushing Execute the Root Mean Square values of the generated curves towards the corresponding curves are calculated and listed. Use this information when adjusting the digitized velocity profile.
Editing and adjustment of the velocity profile can as usual be performed with the command object Edit points and lines.
Display time depth curve. Will display the generated (and allocated) time depth curve.
When displaying curve on the graphical screen, be sure to do it right and observe which workflow elements erases the screen and which do not.
An alternative way to organize the display windows is to use the Tab system. Tab1 can be a display for time versus depth curves, while Tab2 can be a display for velocity versus depth curves.
Menu for generating time depth curve from a digitized velocity curve
Miscellanious
Time vs Depth - Velocity vs Depth. Will use two viewports to display time depth curve in the top viewport and velocity depth curve in the lower viewport. The top image in this documentation is an example of executing the workflow element.
Import well tops: X Y Z NAME. Just incorporated for convenience to show the command object and settings to be used for reading well tops.
Explanation of time depth generation
The menu displayed above works after some simple and important principles.
Below is a list and practical tips when generating curves in the depth time domain.
Menu features and technical and practical tips when generating the depth time curve:
- Input to the workflow element Time Depth from velocity profile is the digitized velocity profile.
- Activate the correct display window (using Velocity depth curves) as background for displaying the velocity profile.
- The velocity profile will generate a time depth curve. That means details in the velocity profile will be reflected into the time depth curve. Such details can optionally be smoothing of the profile using spline functions.
One can test the various spline options by pushing Execute.
- It is allowed to have certain straight line segments unsmoothed while smoothing otherwise. To give an example: To achieve overall smoothing except for between point number 3 and 6 and between point number 8 12 type in 3 6 8 12 in the field for Specify pair of point numbers having straight lines in-between.
The point sequence numbers of the digitized profile can be displayed when setting the option in Display data as to Points and pushing Execute. No curves will be generated for that options.
- The time depth curve will be generated when the checkbox Generate time depth curve from velocity profile is set. All generated curves are written back into the same folder as the velocity profile.
- Update the workflow element for displaying the time depth curve, or display it directly for the project. Be sure to have the right graphical background when displaying the time depth curve, f.inst. by executing the workflow elements in Time depth curves.
- Optionally a constant can be added to the time depth curve. That can be done in the menu field or it can be done afterwards by just adding a value to the curve.
- The generated time depth curve will ideally be very close to the checkshot curve. But this curve may not be smooth enough to be used for depth conversion. A detail of the generated time depth curve versus checkshot curve will show that.
- The generated time depth curve can be used as a lookup curve from time to depth or from depth to time. The latter is done with the well tops that are in depth, but converted to time when using FM points horizontal lines or Well top names horizontal lines.
After having generated the time depth curve one can display that curve together with the vertical and horizontal well top lines.
Detail of generated time depth curve versus checkshot curve
Generated time depth curve versus checkshot curve and well top lines
Applications
All depth conversions are done by going from the time domain into the depth domain. There may be formulas for this or there may be time depth lookup curves. If one has a set of lookup curves Geocap can combine these into a lookup cube. One can also load a set of multiple lookup curves into Geocap and get a lookup value anywhere in the region of lookup curves based on an interpolation process.
Features around multiple lookup curves will be documented in more detail in the near future.