Open local data and publish a curve
Development workflow, reviewed 19 September 2026. This requires a current development build; a general self-service installer is not available.
The workbench now starts without requiring a server connection. These actions have different effects:
| Action | What it does | What it does not do |
|---|---|---|
| Open local file | Reads a bounded LAS into an offline document, shows a curve preview and exact sample table | Does not upload, register an asset, watch a file or contact OSDU |
| Open shared asset | Uses the active authenticated project workspace’s asset picker; if necessary first opens the connection/workspace browser | Does not imply a new upload or grant permissions |
| Publish to project | Reviews one selected local curve, then creates a retained shared snapshot through the project service | Does not publish the entire LAS, other curves or application state; does not establish live file synchronization |
Try it
Section titled “Try it”Start the development workbench normally, or run:
build/dev/client/arraybridge_client --local tests/fixtures/local-demo.lasDownload the synthetic LAS example. The fixture is synthetic, not field data. In Workspaces > Open local file…,
select an unwrapped LAS 2.0 file. Its separate local document window contains a
curve selector, a full sample table and a visual preview. The preview uses extrema
per vertical pixel; the table and export preserve every sample. Missing values
are displayed as missing and break plotted lines.
File > Export selected curve snapshot… writes documented JSON with MD in metres, original curve units, nulls, source SHA256 and uncertainty notices. File > Save original LAS copy… writes the exact original bytes. Neither action requires a connection. These files remain readable without an ArrayBridge login.
Publish and calculate
Section titled “Publish and calculate”- In the main window, Connect / open workspace… in the intended project.
- In the local document window, choose a curve and Publish selected curve to project…. The destination is the main window’s active project; verify the shown connection, project and signed-in user.
- Enter the stable well identity and measured-depth reference.
unknownis an acceptable honest reference. Explicitly select the scientific curve family; a mnemonic alone does not qualify its scientific meaning. Source units are retained, not converted or guessed. - Review the limitations and attest permission to retain a copy for the project’s members. Click Publish snapshot.
- In that project’s main window, Workspaces > Open shared asset…, select the published external curve and add it to the workspace. The existing importer pins an exact shared revision into a read-only well acquisition. Save the workspace if its view configuration should persist.
- Use the existing operator toolbox for compatible shared curves. The server validates and pins inputs; its worker runs calculations; publication records the result and lineage. This local document preview has no offline operator editor yet. The original shared input remains separate from derived output.
Each intentional new publication creates a new shared asset. This first local workflow does not track edits to a file or append revisions to an existing binding. Existing ResInsight connectors continue providing their own live bindings.
Recovery
Section titled “Recovery”Publication writes its exact request to a private, checksummed journal before any RPC. The server can replay that exact request without another revision. A lost reply therefore offers Retry saved publication, not a fresh upload. Closing an in-flight window keeps the journal; the bounded request may still finish.
After a restart, reconnect with the same connection profile, user and project, then use Workspaces > Publish local curve / recover publication…. A pending request takes precedence over the currently open file; its curve, family and source fingerprint are shown for review. Retry sends those saved values. Do not change identity or create a replacement upload merely because a reply was lost.
A permission error requires restored authorization or operator-assisted recovery.
A corrupt journal is retained and refused. Journals are under the application’s
local data directory in pending-publications; they contain numerical data and
metadata, never credentials. They are not a backup or an audit authority. A second
publication dialog for the same profile/user/project is refused while the first
owns the journal. Server access checks still run on every request/retry.
Scientific scope
Section titled “Scientific scope”Supported: LAS 2.0, WRAP NO, whitespace-separated rows, DEPT/DEPTH indexing
in M or FT/F, a declared finite NULL sentinel, at least two strictly
monotonic depth rows, up to 64 value curves, 100,000 rows, 1,000,000 total cells,
and 16 MiB of source text. Descending depth reverses every column together; feet
become metres using 0.3048. Curve values remain in their declared units.
Wrapped files, LAS 3, time indexing, duplicate curve mnemonics, unknown depth units, nonfinite numeric tokens and malformed rows are refused. Use the declared NULL sentinel for gaps. No TVD, trajectory, horizontal CRS, verified datum, unit meaning or legal retention right is inferred from a file. Additional LAS headers remain in the original file; they are not all mapped into the shared curve representation.
Publishing includes the selected samples, source hash, reviewed identity/family,
units and MD reference. The complete LAS evidence stays local. A portable selected
curve JSON uses schema arraybridge-local-curve-v1, JSON null for gaps, and does
not contain credentials or local paths. Keep the original LAS alongside it when
complete original evidence is needed. This is a development workflow on the
existing project backend, not native workbench OSDU publication qualification.
