Thursday, September 27, 2012

DISC 24 Caracas (21 September)

After the confused rush of Villahermosa, it was a welcome bread to have a day free in Caracas.  The airport is near the beach and the city is only about 9 miles in a direct line to the city.  But a big mountain or two lie along that path, so it is a 20 mile drive to Caracas and there is only one road.  It is all very scenic and the city center where the DISC was held is a pretty grand place at the foot of the big mountain.

With my voice, and the rest of me, still recovering, it seemed a good idea to stay in the hotel on my free day.  This choice was made easier by the 18th floor pool that gave amazing views of the city 200 ft below.  Maybe I got a bit too much sun, but it was a lovely, lazy day high in the sky above Caracas.

The DISC was expertly organized by Alejandro Castro of Lumina (about 60 in attendance).  No translation needed here, english proficiency in Venezuela is the best of any Spanish-speaking country in the world that I know of (including Spain).  And I know from long experience at U Tulsa and U Houston, that Venezuelan students are some of the best trained and brightest in the world.  In fact, I told the group that I hope a good Venezuelan student applies for the new geosciences PhD program at the University of Arkansas, my new school.

I joined Alejandro and a few of the DISC attendees in the rooftop lounge overlooking nightfall on Caracas.  In keeping with the frantic pace of this DISC trip, I was up at 4am to catch an early flight back to Houston then on to Arkansas.  I could have stayed another day, except it would mean missing my father's 80th birthday party.  No way.

Caracas DISC class of 2012.  Alejandro Castro middle row, far left.

About town

Rooftop pool high above Caracas.


From the hotel rooftop looking toward the airport, where no road goes.


Some much needed rest and relaxation for the DISC instructor.


Wednesday, September 26, 2012

DISC 23 Villahermosa (18 September)

It started badly.  The night before flying out for this DISC trip I was sick with a fever that broke about 1am, but left me is pretty sad shape.  A persistent chest congestion, cough and recurring fever had been hanging around since the Tokyo DISC.  The flight from Arkansas to Houston was fine, then I sat near the departure gate in Houston airport waiting for the Villahermosa flight.  Perhaps due to my weakened, confused state the plane loaded and doors closed without me hearing any of it.  The flight was missed.

Thanks to some quick itinerary work by Jenny Cole of SEG (thank you!), we managed to find a new route.  A long one.  Houston to Chicago to Mexico City to Villerhermosa.  It took all night and I arrived in Villahermosa at 8am, was at the hotel by 9 and taught 9:30 to 6pm.  Marco Vasquez of Pemex did a great job adapting to my altered schedule and managing the course in general.  It was a good group and simultaneous translation did not slow down the class a bit.  There are 52 in the photo (think we had 60 total).  Glad my missed flight did not mean all these people missed the DISC.

Villahermosa DISC class of 2012. 


After the class, I enjoyed a welcome glass of wine on the hotel veranda watching a nice lightening storm.  I tried to make some small talk with people, but my voice was shot.  Nothing left in the tank.

About town

The next morning I rested and took a taxi in mid-afternoon for the airport.  Except for taxi rides from and to the airport, I never got out of the hotel.  But on one of those drives I did see this really water tower art.  The idea could be cloned to dress up water towers all over the world, a great idea.



Saturday, September 8, 2012

Rolling The Dice in the Shale Plays

Encore post... Original date August 24, 2010
[Note: A version of this blog entry appears in World Oil (August, 2010)]

Shale gas is constantly in the news these days, including this column (May 2010). Anyone reading the flow of articles and analyses on domestic shale gas is struck by the wide range of reserve estimates and uncertainty in those estimates.

This brings up the general topic of estimating reserves, a subject intimately familiar to many World Oil readers. Like so many prediction methods, reserve estimations become tighter, more reliable, as ground truth is added to the analysis. We can expect that with additional drilling results, seismic imaging, and production information the reserve estimate for, say, a single gas field will become more accurate over time. But at the level of shale gas plays we find ourselves in vast areas and early days of drilling and production information. So how can we possibly come up with reserve estimates?

There are two fundamentally different ways. The first approach, 'bottom-up', involves estimating the areal extent of gas-rich shale, along with thickness, porosity, water saturation, recovery factor, and more. Mind you, for a regional shale play like the Haynesville, this would need to be done over an area of 6000 square miles sprawling across the Texas/Louisiana border. The second approach, 'top-down', cares little for geological details, but is more interested in how many wells are likely to be drilled, at what cost, and the per well estimated ultimate recovery (EUR).

We will look at the second method, because it naturally leads to a computation method used in broad areas of science, technology, and finance. Let's use the Haynesville Shale (HS) play as our example.

Shale gas plays are driven by energetic, growing companies. The kind of information we need is likely not to be in dusty academic journals, but the latest presentation material prepared for potential investors. Choose your favorite company, go to their Web site, and look up 'investor relations'. You will find a mountain of information, especially by studying several companies.

To get started, we need to know how many total wells are likely to be drilled in the HS play. Based on published maps, the 200-ft thickness contour seems to appropriately outline the play. This area is about 4300 square miles and company information indicates average HS well spacing is 100 acres. Allowing for spacing inefficiency (1/3 of potential sites), we arrive at a potential for 9000 total wells. As of mid-2010 about 860 have been drilled. The EUR per well is generally estimated at 4-12 BCF, although this is projected from, at most, two years production (the HS discovery well was only drilled in March 2008).

So how do we make a reserve estimate? First, guess a total well count between 1000-9000 and an EUR per well between 4-12 BCF. If we guess, say, 4200 wells with an average EUR of 7 BCF, the reserve estimate would be 4200 * 7 = 29400 BCF or 29.4 TCF. It may happen that this result is correct (lucky us!), but that is highly unlikely. The future could turn out vastly different. In the real world only one future will play out. But in the computer we can test all reasonable scenarios, and results that occur many times are more likely to happen in the real world. In scientific circles this is called Monte Carlo Simulation.

It works like this. We repeat the procedure described above many times, using a random number generator in each calculation to guess the number of wells and EUR per well, while honoring the limits on those quantities. Do this, say, one hundred thousand times, make a histogram, and you will have Figure 1. Since we have a histogram, we pull off the standard P10, P50, and P90 probabilities also shown in the figure. For example, P10 says 10% of the scenarios have reserves less than 13 TCF, a long shot bet on the low end. Equally far fetched on the high end, P90 means only 10% of the outcomes yield reserves above 73 TCF. To get this result in the real world, both the number of wells drilled and EUR per well would have to be near the upper limits. The most likely result, P50, is 36 TCF. Note, however, this histogram has a plateau between 12-36 TCF, meaning these outcomes are almost equally likely.

The powerful thing about MCS, once you figure it out, is how easily it extends to problems of daunting complexity. For example, you might want to estimate the money side of things rather than reserves, requiring ranges in well cost and gas price. HS wells are deep, high-tech horizontals that cost $6-12 million. As we are all painfully aware, the US domestic gas price is highly variable. For the sake of argument, let's assume that over the life of the HS play (2008-2030?) the average will likely be in the range of 2-20 $/MCF.

Now the procedure goes like this: guess... 1) a number of wells, 2) an EUR/well, 3) a well cost, 4) a gas price, where items 2-4 are average values over the life of the play. Now repeat 100K times to get a histogram for the dollar value of the Haynesville Shale gas play net after drill costs (Figure 2). P50 tells us the Haynesville is likely a $300 billion shale gas play. A curious feature of this plot is that some cases give a negative value. Is this possible? Sure, all we need is for gas prices to collapse and drilling costs to skyrocket. But then who would drill the 9000 wells to realize this future?

Of course, once we are talking about money a lot of complexity creeps in, time value of money, cash flow, royalties, tax burden, rate of return targets, and so on. But with a little free time, I think someone could work that into a nice Monte Carlo simulation.


Figure 1. Monte Carlo estimate of Haynesville Shale gas play reserves.

Figure 2. Monte Carlo estimate of Haynesville Shale gas play net after drilling costs.

Further Reading:

A quick survey of shale gas technology can be found in the World Oil column What's New in Exploration (May 2010) or at this blog entry.

For a discussion of uncertainty in shale gas reserves, see
April 2010 AAPG Explorer (p. 28).

For Haynesville shale reserve estimates, see
EOG investor relations presentation for June 2010 (slide 13). The TS/LA 200 ft contour was used to estimate play area at 4300 sq miles.

A similar 'hot spot' outline can be found in PetroHawk investor info (link expired). The red area on slide 11 is more or less coincident with EOG's 200 ft Haynesville shale contour.

Announcement of the Haynesville shale discovery well (Mar 24, 2008) can be found here.

A discussion and graph of US natural gas prices 1989-2007 can be found at this Houston Geological Society site

Mathematica 7.0 code for Figures

Code for Figure 1:
Nsim = 100000;  (* number of simulation runs *)
Nwell1 = 1000; (* min number of wells *)
Nwell2 = 9000; (* max number of wells *)
rmin = 4; (* min res estimage per well (bcf) *)
rmax = 12;(* max res estimage per well (bcf) *)
(* do simulations *)
r = Table[
   RandomInteger[{Nwell1, Nwell2}] RandomReal[{rmin, rmax}] /1000,
   {Nsim}
   ];
(* make histogram plot *)
Histogram[r,
 Frame -> True,
 GridLines -> Automatic,
 Axes -> False,
 ImageSize -> 450,
 PlotLabel ->
  "Haynesville Play Reserves\nMonte Carlo Simulation (" <> ToString[Nsim] <>
   " trials)\n",
 FrameLabel -> {"TCF", "Count"}]
(* Print P10, etc. *)
Print["Haynesville Play Reserves (TCF): \n\n",
 "P10              P50               P90    \n",
 "", Quantile[r, .1]  ,
 "          ", Quantile[r, .5]  ,
 "          ", Quantile[r, .9]
 ]

Code for Figure 2:
Nsim = 100000;  (* number of simulation runs *)
Nwell1 = 1000; (* min number of wells *)
Nwell2 = 9000; (* max number of wells *)
rmin = 4; (* min res estimate per well (bcf) *)
rmax = 12;(* max res estimage per well (bcf) *)
cmin = 6;  (* min well cost ($ million)*)
cmax = 12; (* max well cost ($ million)*)
gmin = 2; (* min gas price ($/MCF) *)
gmax = 20; (* max gas price ($/MCF) *)
(* do simulations *)
r = Table[
   RandomInteger[{Nwell1, Nwell2}]*
    (
      RandomReal[{rmin, rmax}] (10^6) RandomReal[{gmin, gmax}] -
       RandomReal[{cmin, cmax}] 10^6
      )/10^9 ,
   {Nsim}
   ];
(* make histogram plot *)
Histogram[r,
 Frame -> True,
 GridLines -> Automatic,
 Axes -> False,
 ImageSize -> 450,
 PlotRange -> All,
 PlotLabel ->
  "Haynesville Play Net After Drill Costs\nMonte Carlo Simulation (" <>
   ToString[Nsim] <> " trials)\n",
 FrameLabel -> {"$Billion", "Count"}]
(* Print P10, etc. *)
Print["Haynesville Play Net After Drill Costs \
($Billion): \n\n",
 "P10              P50             P90  \n",
 "", Quantile[r, .1]  ,
 "          ", Quantile[r, .5]  ,
 "          ", Quantile[r, .9]
 ]