Following up from my last post, where I discovered some mad data tickling skillz, here are some visual fruits of my labour. You may recall from my post on what my research covers, that I’m particularly interested in water production from North Sea oil and gas fields. In the future, offshore CO2 storage projects may be producing water with enhanced concentrations of trace elements. Therefore, it’s useful to know what the historic and current situations are with regard to water production offshore in the UK North Sea. Of course, this doesn’t tell you anything about the produced water chemistry (more about that in a later blog), but this is just for starters. I should say at this point that I’m not making any interpretations of the data; they’re simply there to show some ways of presenting the data, but is by no means exhaustive/comprehensive/meaningful!
As a quick reckoner for the data coverage, see Figure 1, which is a map of the oil and gas fields for which oil, gas, condensate, and water data is available (shown in blue) compared with the total number of fields in the DECC GIS shapefile (in red). I’ve not worked out the percentage, but you can see it’s large. And yes, it’s a bit hard to see individual fields in the map, given the awkward shape of the UK. If you click on it, it should show up better.
So, with the melted and merged data from DECC now in R, I can use a handy function called tapply (h/t @MikeRSpencer) to extract the data I want to plot up, combine it into a data frame, and then in my case use the ggplot2 package to plot up the data. The code I used for extracting the water data is below. Eagle eyed readers may spot that the original data is in m3 for fluids – these are converted to barrels or litres for easier comprehension (mostly mine).
#Extracting & arranging water data for plotting prod <- tapply(DECCFinal$Prod.Water.m3, DECCFinal$Year, sum) #Outputs total produced water by year inj <- tapply(DECCFinal$Inj.Water.m3, DECCFinal$Year, sum) #Outputs total injected water by year water <- data.frame(prod,inj) #Combines produced and injected water data in data frame "water" water$year <- seq.int(1975,2012,1) #Adds years 1975-2012 as a column in water water_long <- melt(water, id.vars="year", variable.name="type", value.name="vol") #Converts water to long format for use in ggplot water$net <- water$prod - water$inj #Calculates net water and adds as a column in water water$TF <- water$net >= 0 #creates column "TF" in water with TRUE/FALSE for +ve/-ve values
Let’s look first at total produced and injected water volumes by year, Figure 2. We can see how rapidly volumes of injected sea water increased through the 1980’s with a peak of around 375 billion litres in 1996, a year after the second – and last – peak in North Sea oil production (not shown on the chart). Water production peaked in 2003 at about 317 billion litres and since then more water has been produced than has been injected.
In fact, we can plot up the net volume of produced water for the same period, which makes for an attractive graph, Figure 3. This chart gives the impression, however, that the net production is the only volume which makes it back into the North Sea. In fact, only around 8-10% of produced water is re-injected, so the vast majority of produced water is simply discharged straight into the sea. However, net production is useful as a comparison with other countries. For example, net production in Norway is around three times that of the UK (see the Norwegian Petroleum Directorate report), and Norway are making gains in attempting to reduce the impact of their produced waters. Something the UK is learning from.
Not only can we plot up yearly totals of water use, but we can also get an idea of monthly water volumes produced and injected. Below are two histograms, on a log10 x-axis, showing the monthly data, Figures 4 & 5. These reveal that the most frequently produced water volume per month is around the 90-100 million litre mark, while around 300 million litres of [sea]water is most frequently injected. I don’t think much can be read from these graphs, but it’s nice to play about with the data to produce some pretty charts for the hell of it.
And finally, while I’ve been highlighting water production data, the DECC data includes gas, oil and condensate production data. This can be selected by field, for example, using the subset function:
Piper <- subset(DECCFinal, Field == "PIPER")
Field data can then be plotted up. Figure 6, below, is a box-and-whisker plot showing the distribution of monthly production volumes, grouped by year since production started on the Piper field in 1976. Other fields, admittedly, produced ‘better’ plots but when I first saw the data for Piper it was a sobering reminder of the tragedy that occurred at the Piper Alpha platform in July 1988. I find it interesting that the graph tells us part of the story; that no oil was produced at Piper for over 4 years. Despite the disaster, Piper remains one of the oldest fields operating in 2012, although oil volumes are only now around 2 million barrels (MMbbl) of oil per year, compared with nearly 100 MMbbl in 1979.
Clearly, a lot more can be done with this data. There are production data for over 400 fields which have been or are operating in the UK North Sea, with some data extending right back to the dawn of offshore UK oil production. In future posts I’ll be looking at other data which can be appended to the production data which, while not as extensive, is interesting in their own right. Watch this space.