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.
Read with the standard library
Section titled “Read with the standard library”Save the following as read_map.py in that directory and run python3 read_map.py:
import csvimport jsonfrom 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) == 8Expected: 9 samples, 1 missing value, and a mean of approximately 0.14 for present values. No ArrayBridge login, SDK or running service is needed.
Keep the meaning
Section titled “Keep the meaning”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.