An update on Volve

Writing about the new almost-open dataset at Groningen yesterday reminded me that things have changed a little on Equinor’s Volve dataset in Norway. Illustrating the principle that there are more ways to get something wrong than to get them right, here’s the situation there.


In 2018, Equinor generously released a very large dataset from the decommissioned field Volve. The data is undoubtedly cool, but initially it was released with no licence. Later in 2018, a licence was added but it was a non-open licence, CC BY-NC-SA. Then, earlier this year, the licence was changed to a modified CC BY licence. Progress, sort of.

I think CC BY is an awesome licence for open data. But modifying licences is always iffy and in this case the modifications mean that the licence can no longer be called ‘open’, because the restrictions they add are not permitted by the Open Definition. For me, the problematic clauses in the modification are:

  • You can’t sell the dataset. This is almost as ambiguous as the previous “non-commercial” clause. What if it’s a small part of a bigger offering that adds massive value, for example as demo data for a software package? Or as one piece in a large data collection? Or as the basis for a large and expensive analysis? Or if it was used to train a commercial neural network?

  • The license covers all data in the dataset whether or not it is by law covered by copyright. It's a bit weird that this is tucked away in a footnote, but okay. I don't know how it would work in practice because CC licenses depend on copyright. (The whole point of uncopyrightable content is that you can't own rights in it, nevermind license it.)

It’s easy to say, “It’s fine, that’s not what Equinor meant.” My impression is that the subsurface folks in Equinor have always said, "This is open," and their motivation is pure and good, but then some legal people get involved and so now we have what we have. Equinor is an enormous company with (compared to me) infinite resources and a lot of lawyers. Who knows how their lawyers in a decade will interpret these terms, and my motivations? Can you really guarantee that I won’t be put in an awkward situation, or bankrupted, by a later claim — like some of GSI’s clients were when they decided to get tough on their seismic licenses?

Personally, I’ve decided not to touch Volve until it has a proper open licence that does not carry this risk.

A big new almost-open dataset: Groningen

Open data enthusiasts rejoice! There’s a large new openly licensed subsurface dataset. And it’s almost awesome.

The dataset has been released by Dutch oil and gas operator Nederlandse Aardolie Maatschappij (NAM), which is a 50–50 joint venture between Shell and ExxonMobil. They have operated the giant Groningen gas field since 1963, producing from the Permian Rotliegend Group, a 50 to 225 metre-thick sandstone with excellent reservoir properties. The dataset consists of a static geological model and its various components: data from over [edit: 6000 well logs], a prestack-depth migrated seismic volume, plus seismic horizons, and a large number of interpreted faults. It’s 4.4GB in total — not ginormous.

Induced seismicity

There’s a great deal of public interest in the geology of the area: Groningen has been plagued by induced seismicity for over 30 years. The cause has been identified as subsidence resulting from production, and became enough of a concern that the government took steps to limit production in 2014, and has imposed a plan to shut down the field completely by 2030. There are also pressure maintenance measures in place, as well as a lot of monitoring. However, the earthquakes continue, and have been as large as magnitude 3.6 — a big worry for people living in the area. I assume this issue is one of the major reasons for NAM releasing the data.*

In the map of the Top Rotliegendes (right, from Kortekaas & Jaarsma 2017), the elevation varies from –2442 m (red) to –3926 m. Major faults are shown in blue, along with seismic events of local magnitude 1.3 to 3.6. The Groningen field outline is shown in red.

Rotliegendes_at_Groningen.png

Can you use the data? Er, maybe.

Anyone can access the data. NAM and Utrecht University, who have published the data, have selected a Creative Commons Attribution 4.0 licence, which is (in my opinion) the best licence to use. And unlike certain other data owners (see below!) they have resisted the temptation to modify the licence and confuse everyone. (It seems like they were tempted though, as the metadata contains the plea, “If you intend on using the model, please let us know […]”, but it’s not a requirement.)

However, the dataset does not meet the Open Definition (see section 1.4). As the owners themselves point out, there’s a rather major flaw in their dataset:

 

This model can only be used in combination with Petrel software • The model has taken years of expert development. Please use only if you are a skilled Petrel user.

 

I’ll assume this is a statement of fact, as opposed to a formal licence restriction. It’s clear that requiring (de facto or otherwise) the use of proprietary software (let alone software costing more than USD 100,000!) is not ‘open’ at all. No normal person has access to Petrel, and the annoying thing is that there’s absolutely no reason to make the dataset this inconvenient to use. The obvious format for seismic data is SEG-Y (although there is a ZGY reader out now), and there’s LAS 2 or even DLIS for wireline logs. There are no open standard formats for seismic horizons or formation tops, but some sort of text file would be fine. All of these formats have open source file readers, or can be parsed as text. Admittedly the geomodel is a tricky one; I don’t know about any open formats. [UPDATE: see the note below from EPOS-NL.]

petrel_logo.png

Happily, even if the data owners do nothing, I think this problem will be remedied by the community. Some kind soul with access to Petrel will export the data into open formats, and then this dataset really will be a remarkable addition to the open subsurface data family. Stay tuned for more on this.


References

NAM (2020). Petrel geological model of the Groningen gas field, the Netherlands. Open access through EPOS-NL. Yoda data publication platform Utrecht University. DOI 10.24416/UU01-1QH0MW.

M Kortekaas & B Jaarsma (2017). Improved definition of faults in the Groningen field using seismic attributes. Netherlands Journal of Geosciences — Geologie en Mijnbouw 96 (5), p 71–85, 2017 DOI 10.1017/njg.2017.24.


UPDATE on 7 December 2020

* According to Henk Kombrink’s sources, the dataset release is “an initiative from NAM itself, driven primarily by a need from the research community for a model of the field.” Check out Henk’s article about the dataset:

Kombrink, H (2020). Static model giant Groningen field publicly available. Article in Expro News. https://expronews.com/technology/static-model-giant-groningen-field-publicly-available/


UPDATE 10 December 2020

I got the following information from EPOS-NL:

EPOS-NL and NAM are happy to see the enthusiasm for this most recent data publication. Petrel is one of the most commonly used software among geologists in both academia and industry, and so provides a useful platform for many users worldwide. For those without a Petrel license, the data publication includes a RESCUE 3d grid data export of the model. RESCUE data can be read by a number of open source software. This information was not yet very clearly provided in the data description, so thanks for pointing this out. Finally, the well log data and seismic data used in the Petrel model are also openly accessible, without having to use Petrel software, on the NLOG website (https://www.nlog.nl/en/data), i.e. the Dutch oil and gas portal. Hope this helps!

Rock, paper, scissors: the perfect gift

It’s winter festival time again. Pat yourself on the back for showing 2020 that it’s going to take more than a global pandemic, environmental chaos, and geopolitical instability to see you off. Hold your dear ones near and let’s all look forward to no more of whatever the heck this year was.

In the meantime, maybe you’re looking for a gift to brighten the life of your favourite geologist — or maybe you want to appreciate a favourite science teacher, or gear up for more home-schooling, or perhaps you just like nerdy things. Whatever the reason, I’ve got you covered for ideas.


Is this a diorite I see before me?

The only way geologists can really tell what anything is, is by getting really close… then licking it. But then they also want a really good look, and for that they’ll need a handlens. The best kind have triple lenses, and the most generally useful ones are 10x or 14x magnification. There are only three you need to know about:

Iwamoto Achromatic — Japanese tech, Japanese prices. USD ~110.

Bausch + Lomb Hastings — solid US–Canadian product. USD ~40.

BelOMO Triplet — based in Minsk, these get great reviews. USD ~30.

xmas_2020_lens.jpg

More instruments!

I don’t think most people realise they want a sundial… until they see one of these Präzisionssonnenuhr. Admittedly, they are pretty expensive at EUR1000, and they also take weeks to arrive, but maybe you can save up and plan ahead for 2021!

xmas_2020_sundial.jpg

When it comes to geoscientific instruments, geophysicist and podcaster John Leeman has you covered. His workshop in Arkansas, USA, is capable of making more or less anything you can think of. He just started selling these awesome desktop sandboxes for making your own faultscapes. (Sand not included; I think you need about 2 kg to make a model.)

xmas_2020_sandbox.jpg

Outcrop in the kitchen

When Zane Jobe (Colorado School of Mines) tweeted about his trip to Denver Stone Collection, which included this beauty (below), most of the geologists on Twitter got very excited. The collection is online, check it out. There are no prices, but I think prices on the order of USD100 per square foot are typical. I’m sure some of these are double that.

xmas_2020_columns.jpg

Staying in the kitchen, how about…

xmas_2020_cookies.jpg


Unlike most images on agilescientific.com, the ones in this post are not my property and are not open access. They are the copyright of their respective owners, and I’m using them here in accordance with typical Fair Use terms. If you’re an owner and you don’t like it, please let me know.

x lines of Python: static basemaps with contextily

Difficulty rating: Beginner

Something that is often useful in planning is to have a basemap of the area in which you have data or an interest. This can be made using a number of different tools, up to and including full-fledged GIS software, but we will use Contextily for a quick static basemap using Python. Installation is as simple as using conda install contextily or pip install contextily.

The steps that we want to take are the following, expressed in plain English, each of which will roughly be one line of code:

  1. Get a source for our basemap (placenames and similar things)
  2. Get a source for our geological map
  3. Get the location that we would like to map
  4. Plot the location with our geological data
  5. Add the basemap to our geological map
  6. Add the attribution for both maps
  7. Plot our final map

We will start with the imports, which as usual do not count:

 
import contextily as ctx
import matplotlib.pyplot as plt

Contextily has a number of built-in providers of map tiles, which can be accessed using the ctx.providers dictionary. This is nested, with some providers offering multiple tiles. An example is the ctx.providers.OpenStreetMap.Mapnik provider, which contains the following:

 
{'url': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
 'max_zoom': 19,
 'attribution': '(C) OpenStreetMap contributors',
 'name': 'OpenStreetMap.Mapnik'}

The most important parameter in the dictionary for each provider is the url. These are of the form example.com/{z}/{x}/{y}.png. The {z} is the zoom level, while {x} and {y} relate to the latitude and longitude of a given tile, respectively. Note that these are the same as those used by interactive Slippy maps; contextily just downloads them as a single static image.

The easiest is to use one of these providers, but we can also define our own provider, using the above pattern for the URL. For geological data, the Macrostrat project is a great resource, especially because they have a tileserver supplying some detail. Their tileserver can be added using

 
geology_tiles = 'https://tiles.macrostrat.org/carto/{z}/{x}/{y}.png'

We also need a place to map. Contextily has a geocoder that can return the tiles covering a given location. It uses OpenStreetMap, so anything that is present there is useable as a location. This includes countries (e.g. 'Paraguay'), provinces/states ('Nova Scotia'), cities ('Lubumbashi'), and so on.

We will use Nova Scotia as our area of interest, as well as giving our desired map tiles. We can also use .plot() on the Place object to get a look at it immediately, using that basemap.

 
ctx.Place('Nova Scotia', source=ctx.providers.CartoDB.Positron).plot()
The Positron style from Carto for Nova Scotia.

The Positron style from Carto for Nova Scotia.

We'll use a different basemap though:

 
basemap = ctx.providers.Stamen.Toner

We can create the Place with our desired source — geology_tiles in this case — and then plot this on the basemap with some transparency. We will also add an attribution, since we need to credit MacroStrat.

 
place = ctx.Place('Nova Scotia', source=geology_tiles)

base_ax = place.plot()
ctx.add_basemap(ax=base_ax, source=basemap, alpha=0.5)
text = basemap.attribution + ' | Geological data: MacroStrat.org (CC-BY)'
ctx.add_attribution(ax=base_ax, text=text)

Finally, after a plt.show() call, we get the following:

nova_scotia_geology.png

Obviously this is still missing some important things, like a proper legend, but as a quick overview of what we can expect in a given area, it is a good approach. This workflow is probably better suited for general location maps.

Contextily also plays well with geopandas, allowing for an easy locality map of a given GeoDataFrame. Check out the accompanying Notebook for an example.

Binder  Run the accompanying notebook in MyBinder

The deep time clock

Check out this video by a Finnish Lego engineer on the Brick Experiment Channel (BEC):

This brilliant, absurd machine — which fits easily on a coffee table — made me think about geological time.

Representing deep time is a classic teaching problem in geoscience. Most of them are variants of “Imagine the earth’s history compressed into 24 hours” and use a linear scale. It’s amazing how even the Cretaceous is only 25 minutes long, and humans arrived a few seconds ago. These memorable and effective demos have been blowing people’s minds for years.

Clocks with v e r y s l o w hands

I think an even nicer metaphor is the clock. Although non-linear, it’s instantly familiar, even if its inner workings of cogs and gears are not. We all understand how the hands move with different periods (especially if you’ve ever had a dull job). So this image (right) from the video is, I think, a nice lead-in to what ends up being a mind-exploding depiction of deep time, beyond anything you can do with a linear analogy.

Indeed, if the googol-gear-machine viking minifigure rotation was a day, the Cretaceous essentially doesn’t exist. Nothing does, it’s just 24 hours of protons decaying.

Screenshot from 2020-05-19 12-21-53.png

After a couple of giant gears, the engineer adds this chain of gears (below). Once attached to the rest of the machine, these things — the first 10 of them anyway — are essentially the hands on a geological clock.

geological_time_cogs.png

The first hand on this clock, so to speak, turns once every 4999 years. This is not a bad unit of measure if you’re looking at earth surface processes. Then each new gear multiplies by a factor of 40/8, so the next one is 25 ka, and the next 125 ka — around the domain of Milankovich cycles. Then things start getting really geological. The 5th clock hand does one rotation every 3.1 million years, then the 6th is 15.6 Ma. Unfortunately it quickly gets out of hand: the 10th has only turned once since the start of the universe, and after that they are all basically useless for thinking about anything but cosmological timelines. The last one here turns once every 95 petayears.

Remarkably, the BEC machine is still just getting started here. 95 Pa is nothing compared to the last wheel, which would require more energy than exists in the universe to turn. Think about that.

I want one of these

Apparently the BEC machine was inspired by a Daniel de Bruin creation:

Each wheel here is a 100:10 reduction. You’d only need the first 20 of them to have the last one do one single revolution since the birth of the solar system!

If someone would like to build such a geological clock for me, I’ll pay a sub-googol amount of money for it. Bonus points if it fits in a wristwatch.

The hot rock hack happened

shirt_skull.png

I was excited about the World Geothermal Congress this year. (You remember conferences — big, expensive, tiring lecture-marathons that scientists used to go to. But sometimes they were fun.)

Until this year, the WGC has only happened every 5 years and we missed the last one because it was in Australia… and the 2023 edition (it’s moving to a 3-year cycle) will be in China. So this year’s event, just a stone’s throw away in Iceland, was hotly anticipated.

And it still is, because now it will be next May. And we’ll be doing a hackathon there! You should come, get it in your calendar: 27 and 28 May 2021.

Meanwhile, this year… we moved our planned hackathon online. For the record, here’s what happened at the first Geothermal Hackathon.

Logistics: Timezones are tricky

There’s no doubt, the biggest challenge was the rotation of the earth (though admittedly it has other benefits). I believe the safest way to communicate times to a global audience is UTC, so I’ll stick to that here. It’s not ideal for anyone (except Iceland, appropriately enough in this case) but it reduces errors. We started at 0600 UTC and went until about 2100 UTC each day; about 15 hours of fun. I did check in briefly at 0000 UTC on each morning (my evening), in case anyone from New Zealand showed up, but no-one did.

Rob Leckenby and Martin Bentley, both in the UTC+2 zone, handled the early morning hosting, with me, Evan and Diego showing up a few hours later (we’re all in Canada, UTC–a few). This worked pretty well even though, as usual, the hackers were all perfectly happy and mostly self-sufficient whether we were there or not.

Technology-wise, we met up on Zoom, which was good for the start and the end of the day, and also for getting the attention of others in between (many people left the audio open, one ear to the door, so to speak.) Alongside Zoom we used the Software Underground’s Slack. As well as the #geothermal channel, each project had a channel — listed below — which meant that each project could have a separate video meetup at any time, as well as text-based chat and code-sharing. It was a good combination.

Let’s have a look at the hacks.


Six projects

An awesome list for geothermal — #geothermal-awesomeThomas Martin (Colorado School of Mines), with some input from me and others, made a great start on an ‘awesome list’ document for geothermal, with a machine learning amphasis. He lists papers, tools, and open data. You can read (or contribute to!) the document here.

Collaboration tools for geothermal teams — #geothermal-collaboration-tools — Alex Hobé (Uppsala) and Valentin Métraux (GEO2X), with input from Martin Bentley and others, had a clear vision for the event: he wanted to map out the flow of data and interpretations between professionals in a geothermal project. I’ve seen similar projects get nowhere near as far in 2 months as Alex got in 2 days. The team used Holoviews and NetworkX to make some nice graphics.

collaboration_map.png

GEOPHIRES web app — #geothermal-geophires — Marko Gauk (SeisWare) wanted to get into web apps at the event, and he succeeded! He built a web-based form for submitting jobs to a server running GEOPHIRES v2, a ‘full field’ geothermal project modeling tool. You can check out his app here.

Geothermal Natural Language Processing — #geothermal-nlp — Mohammad ‘Jabs’ Aljubran (Stanford), Friso (Denver), along with Rob and me, did some playing with the Stanford geothermal bibliographic database. Jabs and Friso got a nice paper recommendation engine working, while Rob and I managed to do automatic geolocation on the articles — and Jabs turned this into some great maps. Repo is here. Coming soon: a web app.

geothermal_map.png

Experiments with porepy — #geothermal-porepy — Luisa Zuluaga, Daniel Coronel, and Sam got together to see what they could do with porepy, a porous media simulation tool, especially aimed at modeling fractured and deformable rocks.

Radiothermic map of Nova Scotia — #geothermal-radiothermic — Evan Bianco downloaded some open data for Nova Scotia, Canada, to see if he could implement this workflow from Beamish and Busby. But the data turned out to be unscaled (among other things), and therefore probably impossible to use for quantitative purposes. At least he made progress on a nice map.

radiothermic_map_ns.png

All in all it was a fun couple of days. You can’t beat a hackathon for leaving behind emails and to-do lists for a day

Stratigraphic interpretation

Over the weekend, Lisa Stright posted a question on the Software Underground’s Slack:

[… W]hat are you favorite seismic attributes for analyzing subtle stratigraphic changes in vertical sections (not time or strata slices)? I’m trying to quantitatively analyze sedimentological information from seismic data and am curious about either best practices and/or useful approaches in reservoir geophysics.

I really like questions like this, because they tend to bring out a lot of useful tricks and ideas from the community. However, my own response turned into a bit of a wall of text, so I thought I’d unpack it a bit here, with some links and detail.

I’ll start with the general advice for any reservoir seismic interpretation:

  1. Before trying any interpretation that relies on reflector patterns, it’s crucial to make sure the phase is good. There are two really good papers to read on phase determination: Roden & Sepulveda (1999) and Perz, Sacchi and O’Byrne (2004). I summarized this in the SubSurfWiki article on phase determination. (Note to self: it would be fun to write a tool to semi-automate some of these tests.)

  2. Always use at least 16-bit, unfiltered data for attributes. If you’re having data processed, it’s important to ask for unfiltered data, because in my experience most processors just can’t help themselves.

  3. If using marine data, it's imperative that you know where to expect multiples because they can create convincing pinch out etc. Make integer multiples of the seafloor to help predict — and there are lots of other horizons you could make.

  4. You need to know the tuning thickness for the interval of interest. You can compute it with the uppermost frequency, \(f_\mathrm{max}\) (the frequency when the normalized power hites –20 dB down) and velocity \(v\) as \(v / 4f_\mathrm{max}\) (n.b. spatial resolution is \(v / 2f_\mathrm{max}\)). Amplitudes that you can interpret as tuning effect might help you spot thickness variations in thin beds near and below seismic resolution.

As for the attributes, I've never got on with fancy 'pattern' attributes like parallelism, although it is different from anything else. Plenty of experienced interpreters mention cosine of phase too, but again I don’t recall having used it on the battlefield; perhaps I’m missing out, or maybe my data’s just never been suitable.

Instead, here are the ones I tend to go for:

  1. Integrated trace is the most under-appreciated attribute, in my opinion. It is sometimes called relative acoustic impedance and is incredibly cheap to compute.

  2. Semblance is a genuinely different view of your data, at least in stratal slices. (I realize now that Lisa explicitly said she wasn’t interested in stratal horizontal attributes, but I‘ll leave it in for completeness Same for the next one…)

  3. Spectral decomposition is a good tool if done carefully, again in stratal slices. Stick to the band of your data though.

By the way, before doing anything important with attributes, read everything you can by Art Barnes, starting with Too many seismic attributes? (Barnes 2006). TL;DR — he says there are only 10 you need to know about.

Advice from other interpreters

Art Barnes isn’t the only one with good advice to offer!

In the same Slack thread, Steve Purves (who wrote a nice Geophysical Tutorial about phase) mentioned the awesome PyLops tutorial on coloured inversion (PyLops is a linear operator package from Equinor). And Rob G also pointed out the merits of inversion for stratigraphic interpretation. (With the added bonus that you don’t need absolute impedance from it, so a lot of the usual inversion challenges, like low-frequency models, aren’t quite as critical).

Rob G also had this awesome advice:

I would also have a look at the amplitude-frequency spectrum of your seismic data compare it to the spectra of your well acoustic impedance logs (in your AOI). Then consider doing some spectral shaping to enhance the higher frequencies in the seismic to match the well logs (spectral blueing). This should allow you to see more details, however you have to be very careful to ensure you are not over boosting the higher frequencies which contain more noise than signal.

Finally, Doug McClymont, who I know from several events in the UK to be a wise geophysicist, underscored the usefulness of both the ‘instantaneous phase of the peak envelope’ and the ‘phase rotation with the highest amplitude’ methods, especially when well ties are prone to unresolvable time shift residuals. Great advice.

As the Software Underground continues to evolve, these are the conversations that keep it awesome.


References

  • Barnes, A (2006). Too many seismic attributes? CESG Recorder 31 (3). Available online.

  • Perz, M, M Sacchi and A O'Byrne (2004). Instantaneous phase and the detection of lateral wavelet stability. The Leading Edge 23 (7), 639–643. DOI 10.1190/1.1776731.

  • Purves, S (2014). Geophysical Tutorial: Phase and the Hilbert transform. The Leading Edge 33, p 1164–1166. DOI 10.1190/tle33101164.1

  • Roden, R and H Sepulveda (1999). The significance of phase to the interpreter; practical guidelines for phase analysis The Leading Edge 18 (7), p. 774–777. DOI 10.1190/1.1438375

The evolution of the Software Underground

swung_shadow_web.png

The Software Underground started as a mailing list in 2014 with maybe twenty participants, in the wake of the first geoscience hackathons. There are now more than 2,160 “rocks + computers” enthusiasts in the Underground, with about 20 currently joining every week. It’s the fastest growing digital subsurface water-cooler in the world! And the only one.

The beating heart of the Software Underground is its free, open Slack chat room. Accessible to anyone, it brings this amazing community right to your mobile device or computer desktop. When it comes to the digital subsurface, it has a far higher signal:noise ratio than LinkedIn, Twitter, or Facebook. Here are some of the topics under discussion this week:

  • The role of coding challenges in job interviews.

  • Handling null values in 2D grids such as airborne gamma-ray.

  • How to load an open seismic dataset into OpendTect.

  • A new series of tutorials for the GeoStats.jl Julia package.

  • Plenty of discussion about how to interpret negative oil prices!

But the Software Underground — or Swung as its population affectionately call it — is more than just a chatroom. It organizes events. It compiles awesome documents. And it has great ambitions.

Evolution

To better explore those ambitions, the Underground is evolving.

Until now, it’s had a slightly murky existence, or non-existence, operating in mysterious ways and without visible means of support. When we tried to get a ‘non-profit’ booth at a conference last year, we couldn’t because the Software Underground isn’t just a non-profit, it’s a non-entity. It doesn’t legally exist.

Most of the time, this nonexistence is a luxury. No committees! No accounts! No lawyers!

But sometimes it’s a problem. Like when you want to accept donations in a transparent way. Or take sponsorship from a corporation. Or pay for an event venue. Or have some accountability for what goes on in the community. Or make a decision without waiting for Matt to read his email. Sometimes it matters.

A small band of supporters and evangelists have decided the time has come for the Software Underground to stand up and be counted! We’re going legal. We’re going to exist.

What will change?

As little as possible! And everything!

The Slack will remain the same. Free for everyone. The digital subsurface water-cooler (or public house, if you prefer).

We’re taking on our biggest event yet in June — a fully online conference called TRANSFORM 2020. Check it out.

Soon we will exist legally, as we move to incorporate in Canada as a non-profit. Later, we can think about how membership and administration will work. For now, there will be some ‘interim’ directors, whose sole job is to establish the terms of the organization’s existence and get it to its first Annual General Meeting, sometime in 2021.

The goal is to make new things possible, with a new kind of society.

And you’re invited.

LONDON2019_mk2.png

Geoscientist, challenge thyself

No costume is required for solving geocomputing kata

No costume is required for solving geocomputing kata

One of the highlights of my year is the Advent of Code, a sort of advent calendar for nerds. Its creator, Eric Wastl (hear his story), releases a new puzzle every day from the 1st of the month up to Christmas day. And the productivity of the global developer community goes down 74%.

Ever since the first one I tried, I’ve been wondering what geological coding challenges might look like. And now, 18 months later… well, I still don’t know, but I’ve made some anyway!

Puzzle number 1 (or 0)

Here’s how the first one starts:

You have a string of lithology codes, reading from the bottom up of a geological section. There is a sample every metre. There are three lithologies:

  • Mudstone
  • Fine sandstone or siltstone
  • Sandstone

The strings look like this:

    ...MFFSSFSSSS...

Your data, when you receive it, will be much longer than this.

We need to get some geological information from this string of codes. Specifically, you need to answer 3 questions:

  1. What is the total thickess in metres of sandstone (S)? Each sample represents one metre.
  2. How many sandstone beds are there? A bed is a contiguous group of one lithology, so MMFFF is 2 beds, one of M and one of F.
  3. How many times does the most common upwards bed transition occur? Do not include transitions from a lithology to itself.

You can download your own personal dataset, which in this case has 20,000 lithology codes. Then you can try to answer the questions, one at a time. You can use any programming language — indeed, any method at all — to solve the problems, you give an answer back to the server, and it will tell you if you are correct or not.

There are, as of right now, five ‘chapters’, covering topics from naming rock samples to combining map layers. You will receive the name of the next chapter when you correctly answer the final question of the three or four in each challenge.

If you’d like to give it a try, there’s a live starter Jupyter notebook here:

https://ageo.co/kata-live

Or, if you prefer, there’s a static notebook at https://ageo.co/kata, or you can dive directly into the web API for the first challenge: https://kata.geosci.ai/challenge/sequence

Do let us know how you get on!

Training and hackathons are moving online

A while back, I announced that we’re running some public courses in June. These courses will now be online.

They have also decreased in price by 33% because we don’t need a physical space or physical sandwiches. So the 3-day Intro to Geocomputing class now costs only USD 1200 (or $300 for students). The 2-day Intro to Machine Learning class, which is only available on the Americas timing for now, is USD 800, or USD 600 if you take both classes.

The really nice thing is that because they have no physical location, you can take part from anywhere! Well, anywhere with good Internet. Both courses are still running the week of 1 June, and there are a few places left on both courses.

More info:

The hackathons are going online too

We’re also involved in some public hackathons that are moving online. Both events will now also be FREE.

On 30 April and 1 May, we’re running a (very experimental) online Geothermal Hackathon. If you’re into hot rocks, or just want to hack on open data and new problems for a couple of days, you should join us! I can’t tell you much about what we’ll be doing though. It depends a lot on who shows up at the start, and what they want to do. You can join the conversation ahead of time on Software Underground — look for the #geothermal channel.

Later, from 6 to 14 June (yep, not a typo) the Software Underground will be hosting a multi-day, muti-modal, multi-mayhem digital subsurface festival. No, I don’t really know what that means… but I know it’s going to be awesome. Again, the conversation is happening on Software Underground — hunt down the #global-hack-2020 channel.

Check back here soon for more about this brand new kind of event.