Petro.ai had a lot of great publicity last week. JPT published a piece recently entitled Time to Enlist in the Analytics Army, which name drops Ruths.ai and the NoSQL database that it is establishing in the industry.
If this is your first time installing Petro.ai, the MongoDB part can be a little tricky. I’ve put together some quick tips on getting Mongo installed. Be sure to keep the installation guide open as you do the setup and if you have trouble, try this troubleshooting guide:
My installation failed during the MongoDB .msi install
This could be a problem with the version. Not sure the version to get? Use the following script to get a read out of what you need to have:
systeminfo | findstr /B /C:”OS Name” /C:”OS Version” /C:”System Type”
Alternatively, you chose the Complete installation with all the add-ons instead of just the Server edition. Petro.ai will run just fine without any of the frills packed into the Community edition installation.
Creating the Windows service script returned the manual for sc.exe
The script in the installation guide was written for Command Prompt. If you used PowerShell to create the folder structure that is fine, just switch over to the command prompt for creating the service
You got “The system cannot find the file specified”.
Don’t forget to switch out your username! The example script leaves a section <your username> that you need to switch out. Additionally, check the filename that you created you might have an extra letter in there somewhere.
You got “[SC] OpenSCManager FAILED 5: Access is denied.”
Don’t forget to run CMD.EXE under Administrative privileges! This is a common mistake, the script is fine, open command prompt under higher privileges using the steps below.
- Type ⊞+R
- Enter in “cmd”
- Press Ctrl + Shift + Enter to run the command as an administrator.
Let me know if you encounter different issues and I can write a followup article for more quick tips.
Comparing models out of the DCA Wrangler simple task if you are familiar with Axis.Columns feature in Spotfire. In this example, we’re going to take the cross table and use it to look for differences across columns.
Consider this scenario, we are creating declines of Teapot dome data in 2016 and then comparing them to 2017. We are specifically looking at the remaining reserves to see how much the reserves have changed based upon the new production data. Our resultant Autocast DCA data might look like this:
Here I’ve got an axis along the top, modelName, and a cell axis with my remainingReserves.oil column. I can’t compare these the way they are! Normally in custom expression language, I can call out columns but not “conditionally”-based upon the value. HOWEVER, I can compare across columns using the OVER command like we do in time series-styled visualizations.
This is done using the OVER command, constrained by “Previous([Axis.Columns])”. This tells Spotfire to walk backwards to the column to the left of it.
Periodically at the Ruths.ai office we have bouts where we compete to see who can run through our homebrew decline curve analysis challenge the fastest. Today’s challenge was that we needed to create type curve groups based on vintage classes.
To begin with, we needed to take the [Spud Date] and then create binned groups. The custom expression that you want to use is this:
The idea here is that first, we extract the year from the DateTime object that is the Spud Date column. Next, we use the BinByEvenIntervals calculated expression to take that pseudo column and break it into five even interval, in this case parameterized by 5.
Now we can color by the vintage classes and see the results:
Using this binned column, we can set the DCA Wrangler to use this column as a Type Curve Group. When the DCA Wrangler is in the Type Curve mode, you can create individual type curves for each vintage:
Using the legend, we can isolate a single vintage:
Try it for yourself! Let us know if you have similar techniques using the tool so we can showcase your work.
One of the first skills that you develop in Spotfire is the ability to select a freeform area of markers in a visualization. You may remember that this was accomplished by holding down and left click and drag to “lasso” markers. In this article, we’re going to use this technique to rapid wrangle the data we need, as a stand-in
Part 1: Well Selection
In the CI Bandit workflow, this is key for select wells to decline, more so because wells of interest are never in a straight line on a Map chart visualization. Take this field map, for example, that for simplicity we have created using a scatter plot visualization:
Our operators here are all over the place and to make type curves we’ll need a special selection method to grab them. In comes the lasso:
We’ll use this again to clean up our production.
Part 2: Production
The real magic comes from being able to clean up points that adversely affect our type curves. Take the decline of the well below:
We’ve got these drops that we want to remove from this well (and probably many more). One quick way to do this would be to line all the wells up horizontally and filter out these markers.
Check to make sure that your DCA Wrangler is attached to a Filtering Scheme (it’s in your Properties) and rerun the decline.
Finished! Cycle through all the wells and see the corrected declines.
We are starting a new blog post series, on Rate Transient Analysis (RTA) in Spotfire. In this first part we will discuss a mathematical framework to automate the flow regime detection in RTA. Unlike traditional reservoir engineering methods such as Decline Curve Analysis (DCA), RTA incorporates both fluid rates and flowing pressures, where the end goal is to understand the fluid flow in the reservoir. The industry has been doing this with Pressure Transient Analysis (PTA) for many years and RTA is built on the same theory, we are just using the data in a different way. I will refer you to the excellent presentation by Blasingame as a refresher on the fundamental theory for RTA. Following figure represents the important flow regimes in a Multi Fractured Horizontal Wells (MFHW) in conventional/unconventional reservoirs:
Blasingame (2015). Image Source: http://www.pe.tamu.edu/blasingame/data/z_Presentations/20151209_(Blasingame)_Pres_IPTC_Ask_the_Expert_(pdf).pdf