CpiLogCalc and User Equations
There are several different ways in Danomis that you can create custom curves. You can use the CPI Config to make curves available globally or at the project / folder level. You can also make temporary equations using the Equation Playground module. You can also do this in various Flow tools - the most powerful and flexible of which is the CpiLogCalc tool.
Within Flows the CpiLogCalc tool allows you to take advantage of your petrophysical interpretation as well as the petrophysics infrastructure including the equations and functions. This article reviews how to use the native Config equations as well as User equations.
Getting Started
The input to a CpiLogCalc tool will always be well log data. To bring your well log data into the Flow you wil lneed to have a LogInput tool before the CpiLogCalc in the Flow as shown above.
Within the CpiLogCalc tool you can run equations against curves that are uninterpreted or that are the product of a petrophysical interpretation - this will depend on your specific needs. If you are working with curves that have been normalized (e.g., gr_norm), undergone washout repair (e.g., rhob_final) or are a product of an interpretation (e.g., phit), then you should have already performed an interpretation in the CPI and then reference that CPI file in the CpiLogCalc tool as shown in the screenshot above.
CPI, Tops, and Well Headers selection
There are four dropdown menus:
- CPI file
- Tops
- Well headers
- Key well dataset
The CPI file option is what allows you to bring in your petrophysical interpretation. This will allow you to have your key well, parameters, and other customizations available to the Flow for further use.
The Tops option allows you to bring in the relevant Tops Database. This is required if you want to perform operations that should operate on a zone-by-zone basis. This should be a tops file that is relevant to the selected CPI file.
The Well headers option allows your project to be spatially aware. This is important if you want to perform further gridding operations. It should be a well headers file that is relevant to the selected CPI file.
The key well dataset in general should be the same log database selected in the LogInput tool, but it can be different as long as it contains the key well for the selected CPI.
Note that if your CPI references outside datasets such as points files for deviation survey, grid files, etc you will need to click the button that brings these into the Flow.
Output Type
You can choose to output either Logs, Points (one per curve), or Points (one per curve, per zone). Your selection will depend on what you wish to do next. A brief explanation is given below:
- Logs: Use this if you wish to generate a new well log database.
- Points (one per curve): Select this option is if you wish to calculate a single value for each curve for a well. For example, if you wish to know the 5th percentile of the gamma ray over the whole well, you may use this output in combination with a user equation like:
gr_p5 = byStatsWindow(percentile(5, gr_final)). - Points (one per curve, per zone): Select this option if you want to generate points on a per zone basis. For example, if you wanted to know the 5th percentile of the gamma ray over the each zone, you may use this output in combination with a user equation like:
gr_p5 = byFormation(percentile(5, gr_final)).
Config Equations
The CpiLogCalc tool allows you to have access to all of the default equations available in a CPI Config file. This means you can access the most relevant curve names (see reference here). In the example below I have selected the equations for total and effective porosity (phit and phie).
Note that the dropdown list is automatically populated based on the defaultExportCurve section of the CPI Config. However, you can type any curve name that is present in the Cpi Config into the user equation box.
User Equations
User equations unlock the ability to generate new curves.
Most calculations in Danomics operate on a depth-step by depth-step basis. For example, if you think about the porosity equation a calculation is performed at each depth step independent of all other depth steps. However, if you wish to average the porosity by zone or generate a cumulative PhiH curve, this uses information from multiple depth steps.
When generating curves we typically operate sample by sample, while when generating points for mapping we generally operate on multiple samples.
When operating on multiple samples we need to wrap equations in either a “byFormation” or “byStatsWindow” function. For example, if we wanted to evaluate the 5th percentile of the gamma ray curve for each petrophysical zone in our analysis we would use the following:
GR_P5 = byFormation(percentile(5, @gr_final))
The above will calculate the 5th percentile of the gamma ray final curve on a zone by zone basis. However, if we want to calculate it over our entire statistics window (as defined in our CPI file) we should use the “byStatsWindow” function as shown here:
GR_P5 = byStatsWindow(percentile(5, @gr_final))
Note that you will have access to all of the pre-configured summary curves. This includes many of the averages and summations that are likely relevant to your analysis (all of which are shown in the map dropdown list in your CPI file).
Tips and Tricks
- Remember you can find most of the relevant curve names in this reference guide.
- You can also go to the settings (head icon in top right corner) and open the CPI Config. In this file you will find all of the available equations for each module. The “export.yaml” file contains all of the summary curves for an analysis.
- To determine the output type (Points vs. Logs) think about what your next operation will be. If it is making a grid you'll want to output points. If you want to make new log curves, you'll output logs.
Related Insights
DCA: Type well curves
In this video I demonstrate how to generate a well set filtered by a number of criteria and generate a multi-well type curve. Before starting this video you should already know how to load your data and create a DCA project. If not, please review those videos. Type well curves are generated by creating a decline that represents data from multiple wells.
DCA: Loading Production data
In this video I demonstrate how to load production and well header data for use in a decline curve analysis project. The first step is to gather your data. You’ll need: Production data – this can be in CSV, Excel, or IHS 298 formats. For spreadsheet formats you’ll need columns for API, Date, Oil, Gas, Water (optional), and days of production for that period (optional). Well header data – this can be in CSV, Excel, or IHS 297 formats.
Sample data to get started
Need some sample data to get started? The files below are from data made public by the Wyoming Oil and Gas Commission. These will allow you to get started with petrophysics, mapping, and decline curve analysis. Well header data Formation tops data Deviation survey data Well log data (las files) Production data (csv) or (excel) Wyoming counties shapefile and projection Wyoming townships shapefile and projection Haven’t found the help guide that you are looking for?