โ† Back to the map

How to read the map

The map lists open subsurface datasets: wells, seismic, horizons, production. Each one is described by a record that repeats what its publisher says. This page explains the level next to each dataset, how to take a layer into your own tools, and how to add a dataset.

The levels

Every dataset carries a level. A tool sets it by checking the dataset; nobody types it by hand. The levels are a ladder: a dataset reaches a level only after it has passed every level below.

LevelWhat it meansWho checks it
L0 listedA record exists with the publisher, the place to get the data and the licence, as the publisher states them.a contributor, by pull request
L1 reachableThe publisher's page for the dataset answers.the verifier, over the network
L2 checksummedThe files have been fetched and hashed, and the licence text has been saved.the verifier
L3 outlinedThe wellbores and survey outlines on the map were read from the data itself.the outline extractor
L4 convertedThe data has been read into a standard form, with a record of what was kept and what was lost.the Ophiolite readers

stale next to a level means the last check is more than 30 days old. The level was true then; it may not be now.

A dashed outline is a placeholder drawn by hand to show roughly where the data lies. It is not taken from the data, and it keeps the dataset at L1 or below. A blue dashed rectangle is the area the record states, not the data's real footprint. Green circles are wellbores; where they are dense they are grouped into one circle with a count until you zoom in.

Taking a layer into your own tools

Every outline on the map is in one GeoJSON file, in longitude and latitude (EPSG:4326). Each feature has a record_id that names the dataset it belongs to. The detail panel on the map shows these three cards for the dataset you selected; here they are for Volve.

Open in QGIS Layer โ†’ Add Layer โ†’ Add Vector Layer. Source type: Protocol: HTTP(S). URI: the address below. Then filter the layer on record_id.
https://opensubsurfacedata.org/data/outlines.geojson
Read in Python Standard library only. This keeps the features of one dataset.
import json, urllib.request
fc = json.load(urllib.request.urlopen("https://opensubsurfacedata.org/data/outlines.geojson"))
mine = [f for f in fc["features"] if f["properties"]["record_id"] == "equinor/volve"]
print(len(mine), "features")
Get the data The data itself stays with its publisher. The record names where to get it and under which licence; this prints both.
import json, urllib.request
recs = json.load(urllib.request.urlopen("https://opensubsurfacedata.org/data/records.json"))["records"]
volve = next(r for r in recs if r["id"] == "equinor/volve")
print(volve["origin"]["url"], "|", volve["licence"]["name"])

Fetching the files by a manifest, and reading them straight into Ophiolite, are planned but not built yet.

The licence rule

The publisher's page is the authority. A record repeats what the publisher says about the licence, including unknown when the publisher does not say. Nothing on this site is legal advice. Before you use or share a dataset, read the licence on the publisher's own page.

Adding a dataset

  1. Copy records/_template.yaml to records/<publisher>/<dataset>.yaml in the repository.
  2. Fill in only what the publisher states. unknown is a fine answer for a licence field.
  3. Open a pull request. The check validates the record and tries the publisher's page, and a reviewer compares the licence fields with that page.

An outline can be added the same way, under outlines/. See CONTRIBUTING.md.