Skip to content

Read scientific values independently

About ten minutes. Requires Python 3. This small exercise illustrates independent reading; it is not the product’s complete portable-bundle conformance test.

Download the synthetic map CSV and its metadata into one directory. This nine-sample teaching fixture is invented for the website, not exported field data or the qualified ResInsight fixture.

Save the following as read_map.py in that directory and run python3 read_map.py:

import csv
import json
from pathlib import Path
metadata = json.loads(Path("synthetic-map.json").read_text())
with Path("synthetic-map.csv").open(newline="") as source:
rows = list(csv.DictReader(source))
values = [float(row["value"]) for row in rows if row["value"] != ""]
print("Asset:", metadata["asset_id"])
print("Revision:", metadata["revision"])
print("Units:", metadata["units"])
print("Samples:", len(rows), "Missing:", len(rows) - len(values))
print("Mean of present values:", sum(values) / len(values))
assert len(rows) == 9 and len(values) == 8

Expected: 9 samples, 1 missing value, and a mean of approximately 0.14 for present values. No ArrayBridge login, SDK or running service is needed.

A blank value means missing, not zero. These are local sample positions in metres, with no verified geographic coordinate reference system. The porosity values are unitless. Do not place this map on a geographic basemap by guessing a coordinate system.

The full product exit requirement also includes integrity verification, exact provenance and reproduction of a recorded transformation. This exercise demonstrates only a small reading step.