A buyer's subsurface team has three weeks with the data room for Dutch block P/12 before the bid is due, and the log package in it was written across forty-five years by whatever software was current at the time: six wells in three different versions of the Log ASCII Standard, 1020 depth steps, read as one table. The versions are not cosmetic. LAS 1.2 puts a non-numeric well entry's label before the colon and its value after, the opposite of every later version, so a reader that assumes 2.0 does not fail on the two oldest wells: it answers WELL for the name of the well and FIELD for the field, uniformly and silently. LAS 3.0 names its sections by topic rather than by first letter, may separate its readings with a comma or a tab instead of whitespace, may declare a curve to be text rather than a number, and may carry a second topic in the same file at a completely different grain: the 2024 well ships twelve rows of core analysis alongside its log, and those are not depth steps. Eleven queries and sixty assertions, including the three different ways LAS says a reading is missing (the -999.25 sentinel, an empty field between two delimiters, and a curve the tool never ran), all of which have to become the same NULL. Where las-well-log-library merges differing curve sets within LAS 2.0, this demo holds the curve sets ordinary so the version is the only variable.
-- ============================================================================
-- Licence Divestment Data Room - Setup Script
-- ============================================================================
-- A buyer's subsurface team has three weeks with the data room for Dutch
-- block P/12 before the bid is due, and the log package in it was written
-- across forty-five years by whatever software was current at the time. Six
-- wells, three versions of the Log ASCII Standard:
--
-- P12-01 1979 LAS 1.2 gamma only, converted off tape 120 steps
-- P12-03 1984 LAS 1.2 gamma and sonic 140 steps
-- P12-07 2003 LAS 2.0 triple combo 160 steps
-- P12-09 2007 LAS 2.0 triple combo 180 steps
-- P12-11 2021 LAS 3.0 triple combo plus lithology, COMMA 200 steps
-- P12-14 2024 LAS 3.0 triple combo plus lithology, TAB 220 steps
--
-- 1020 depth steps. The three versions are not cosmetic variations of one
-- format; each one changes something a reader has to get right:
--
-- 1.2 puts a non-numeric well entry's LABEL before the colon and its
-- VALUE after, the opposite of every later version. Read as though it
-- were 2.0, a 1.2 file does not fail. It answers `WELL` for the name
-- of the well and `FIELD` for the field, uniformly, silently, for
-- every 1.2 file in the room. The two oldest wells in this package
-- are exactly that trap.
-- 2.0 is the version everything else in the industry assumes.
-- 3.0 names its sections by topic (`~Log_Definition`, `~Log_Data`), may
-- separate its readings with a comma or a tab instead of whitespace,
-- may declare a curve to be text rather than a number, and may carry
-- further topics in the same file at a completely different grain.
-- P12-14 ships its core analysis in the same file as its log.
--
-- This demo is about reading all three as one table. The other LAS demo,
-- las-well-log-library, is about merging differing curve sets within LAS 2.0;
-- this one holds the curve sets deliberately ordinary so that the version is
-- the only thing being tested.
--
-- The files were written for this demo from the CWLS standards. They are not
-- real logs and no third-party licence applies to them.
--
-- 1. log_files external, DISCOVER over the data room
-- 2. room_audit DELTA, the per-well coverage summary the bid needs
-- ============================================================================
-- ----------------------------------------------------------------------------
-- STEP 1: Zone and schema
-- ----------------------------------------------------------------------------
CREATE ZONE IF NOT EXISTS {{zone_name}} TYPE EXTERNAL
COMMENT 'External tables - demo datasets and file-backed data';
CREATE SCHEMA IF NOT EXISTS {{zone_name}}.data_room
COMMENT 'Block P/12 divestment data room: LAS 1.2, 2.0 and 3.0 read in place';
-- (excerpt; run the demo for the full script)
## What this demo does A buyer's subsurface team has three weeks with the data room for Dutch block P/12 before the bid is due, and the log package in it was written across forty-five years by whatever software was current at the time: six wells in three different versions of the Log ASCII Standard, 1020 depth steps, read as one table. The versions are not cosmetic. LAS 1.2 puts a non-numeric well entry's label before the colon and its value after, the opposite of every later version, so a reader that assumes 2.0 does not fail on the two oldest wells: it answers WELL for the name of the well and FIELD for the field, uniformly and silently. LAS 3.0 names its sections by topic rather than by first letter, may separate its readings with a comma or a tab instead of whitespace, may declare a curve to be text rather than a number, and may carry a second topic in the same file at a completely different grain: the 2024 well ships twelve rows of core analysis alongside its log, and those are not depth steps. Eleven queries and sixty assertions, including the three different ways LAS says a reading is missing (the -999.25 sentinel, an empty field between two delimiters, and a curve the tool never ran), all of which have to become the same NULL. Where las-well-log-library merges differing curve sets within LAS 2.0, this demo holds the curve sets ordinary so the version is the only variable. ## What it creates - `{{zone_name}}.data_room.log_files` (external table) - `{{zone_name}}.data_room.room_audit` (delta table) ## Running it The demo ships `setup.sql`, `queries.sql` and `cleanup.sql` under `demos/subsurface/las-version-data-room`. The queries carry their own `ASSERT`s, so a run that completes has verified its own numbers. Data: 6 files, 0.0 MB.