← petro-agentopus-4.8 + thinking · v14 · the project's best agent well

Petrophysical Interpretation Report — 15-135-24,881-00-00

Well (UWI)15-135-24,881-00-00
Log dateSat Feb 28 00-46-47 2009
Service companyLog Tech
Acquisition date (header)Sat Feb 28 00-46-47 2009
PLSS locationSec 12 T20S R22W (map precision ±1.6 km)
Larionov variantold_rocks (degraded)
Convergence statusDID_NOT_CONVERGE
Confidence tier○ BRACKETED
Engine versionscalc_vsh 0.1.0 · calc_phie 0.1.0 · calc_sw 0.1.0 · formula_registry 0.1.0
Config hash (SHA-256)2a9cb78728e386ab…
Git SHAdf574ffab7ee
Generatedautonomously, no human in the per-report loop

Confidence legend. Each result is tagged by parameter provenance: ● FIRM (core-calibrated) · ◐ QUALIFIED (offset-derived) · ○ BRACKETED (regional/global default — read as a range, dominant uncertainty stated). The system does not claim *always correct*; it states how well-supported each number is.


1. Executive summary

The pay assessment for well 15-135-24,881-00-00 remains bracketed rather than firm, with net pay spanning a wide 8.2 to 49.9 m range around a P50 of 18.7 m across the 200.0 m gross interval. The corresponding net-to-gross of 0.065 is low, though the net-pay rock itself carries reasonable properties — PHIE averaging 0.146, Sw near 0.379, and modest clay content at Vsh 0.114. This spread is driven chiefly by the cementation exponent m, which here is a regional default and uncalibrated in the absence of core; its 13.9 m swing means the wide P10–P90 envelope reflects genuine parameter uncertainty rather than a confident point estimate. A single validator objection was raised and the interpretation did not converge, so these figures should be read as ranges pending calibration.

Net pay P10 / P50 / P90 = 8.2 / 18.7 / 49.9 m.
Net pay is dominated by 'm', which is a regional DEFAULT (uncalibrated). This is the single largest uncertainty — the result is bracketed, not a confident point estimate.


2. Data inventory (from LAS)


3. LAS quality control

Edit typeCurveDetail
unit_conversionNPHIfactor 0.01
hard_range_maskRXOcount 1
hard_range_maskRTcount 117
hard_range_maskRMEDcount 95
hard_range_maskRHOBcount 1
hard_range_maskDRHOcount 4
hard_range_maskPHID_SVCcount 5
range_warnGRcount 4
range_warnRHOBcount 4
range_warnNPHIcount 3
spike_removal89 edits
degradation3 edits

4. Standardization

Raw mnemonics mapped to canonical curve names:

CanonicalRaw mnemonic
DCALDCAL
DRHORHOC
GRGR
NPHICNLS
PHID_SVCDPOR
RHOBRHOB
RMEDRILM
RTRILD
RXORLL3
SPSP

Unit conversions: NPHI×0.01.


5. Per-curve log QC


6. Data preparation

Edits applied before compute (by type): degradation: 3, hard_range_mask: 6, range_warn: 3, spike_removal: 89, unit_conversion: 1.


7. Interval definition


8. Methodology

All numbers are produced by the deterministic, golden-tested engine. The LLM only selects methods/parameters and writes prose — it never computes a number. Figures are deterministic renderings of these computed numbers for the human reader; the agent reasons over the numeric EDA digest, not images (the models have no vision).

StepMethod (frozen)Version
VshLarionov 1969 (old rocks)vsh_larionov_old 0.1.0
PHIEDensity-neutron crossplot, shale-correctedphie_density_neutron 0.1.0
SwArchie 1942sw_archie 0.1.0
Net payVsh/PHIE/Sw cutoffs → net sand → net reservoir → net paynetpay 0.1.0
UncertaintyMonte Carlo P10/P50/P90 + parameter sensitivitymc 0.1.0

9. Gamma-ray analysis


10. Resistivity analysis

Low-resistivity scan: rt_threshold=1.79, n_flagged=848, intervals=[[278.6, 282.2], [284.2, 339.1], [345.5, 346.7], [361.8, 362.4], [366.8, 367.1], [399.9, 401.7], [419.9, 421.8], [458.6, 458.7], [459.8, 467.4], [478.7, 480.2]].

Invasion profile (multi-depth resistivities, 8471 samples): fraction with shallow reading above deep (Rxo/RT > 1.2, invaded/permeable indication): 0.604; reversed (< 0.8): 0.098; median Rxo/RT 1.301; median Rmed/RT 0.961. Raw-curve facts; naming moveable hydrocarbon is the analyst's judgement.


11. Density-neutron crossplot lithology

Matrix point-shares (fraction of points near each matrix line): sandstone: 0.091, limestone: 0.219, dolomite: 0.247. Engine crossplot output; naming the dominant lithology is the analyst's judgement. Comparison with core/mud log: not available (LAS-only).


12. Water resistivity (Rw)


13. Figures

Composite log

Composite log

Pickett plot

Pickett plot

Neutron-density crossplot

Neutron-density crossplot

Buckles plot

Buckles plot

Hingle plot

Hingle plot

Distributions

Distributions

Sensitivity tornado

Sensitivity tornado

Net-pay Monte-Carlo distribution

Net-pay Monte-Carlo distribution


14. Shale volume (Vsh)

Mean Vsh by method (selection is the engine's; the LLM authors no number):

MethodMean VshSelected
vsh_larionov_old0.344
vsh_larionov_tertiary0.271
vsh_linear0.460
vsh_clavier0.329
vsh_steiber0.292
vsh_neutron_density0.147
vsh_multimineral0.153

15. Derived parameters


16. Permeability (uncalibrated)

_Uncalibrated screening estimate (no core); Sw used as the Swirr proxy._


17. Rock quality (uncalibrated)

_Built on the uncalibrated permeability; indicative only._


18. Electrofacies

Unsupervised k-means on 1237 samples into 4 electrofacies (sample counts: facies 0: 368, facies 1: 287, facies 2: 192, facies 3: 390). Descriptive only — no core labels.


19. Parameters and provenance

ParameterValueUnitProvenanceSource
gr_min20.000APIdefault
gr_max120.000APIdefault
rho_ma2.710g/ccdefaultSchlumberger 1989
rho_fl1.000g/ccdefault
phie_max0.450v/vdefault
phi_sh_d0.100v/vdefault
phi_sh_n0.350v/vdefault
a1.000-defaultWinsauer et al. 1952
m2.000-defaultArchie, G.E. 1942
n2.000-defaultArchie, G.E. 1942
Rw0.040ohm-mdefaultKansas Geological Survey 2000
rt_hydrocarbon_floor5.000ohm-mdefault
vsh_cutoff0.350v/vdefault
phie_cutoff0.100v/vdefault
sw_cutoff0.500v/vdefault
bit_size_config7.875indefault
qc_abort_threshold0.800-default
circuit_breaker_n3.000-default

The citations table (not RAG) gives each cited parameter exactly one frozen source. Parameters tagged default are regional/global — they drive the bracketed tier.


20. Petrophysical cutoffs

Boundary-inclusive criteria applied by the engine (netpay) to flag reservoir:

StageCriterionCutoffProvenance
Net sandVsh ≤ cutoff0.350default
Net reservoir+ PHIE ≥ cutoff0.100default
Net pay+ Sw ≤ cutoff0.500default

Cutoff values are engine parameters (never LLM-authored); the dominant net-pay uncertainty is m — see Uncertainty for the swing.


21. Data quality and validator objections

Curve provenance (canonical ← raw mnemonic): DCAL←DCAL, DRHO←RHOC, GR←GR, NPHI←CNLS, PHID_SVC←DPOR, RHOB←RHOB, RMED←RILM, RT←RILD, RXO←RLL3, SP←SP.

QC edits applied before compute — degradation: 3, hard_range_mask: 6, range_warn: 3, spike_removal: 89, unit_conversion: 1.

ValidatorTypeDetail
vsh_phie_anticorrelationsupportVsh-PHIE Pearson 0.97 > 0.3 (dirty rock + high porosity)

22. Methodology (decision graph)

flowchart TD
    dec_1["decision: step: review_attempts"]
    act_1["tool_call: review_attempts"]
    dec_2["decision: DETERMINISTIC DEFAULT (model empty): compute_vsh"]
    act_2["tool_call: compute_vsh"]
    dec_3["decision: step: crossplot"]
    act_3["tool_call: crossplot"]
    dec_4["decision: step: interval_stats"]
    act_4["tool_call: interval_stats"]
    dec_5["decision: step: set_zone_of_interest"]
    act_5["tool_call: set_zone_of_interest"]
    dec_6["decision: step: validate_choice"]
    act_6["tool_call: validate_choice"]
    dec_7["decision: step: lithology"]
    act_7["tool_call: lithology"]
    dec_8["decision: step: derived_parameters"]
    act_8["tool_call: derived_parameters"]
    dec_9["decision: step: permeability"]
    act_9["tool_call: permeability"]
    dec_10["decision: wasted no-op: permeability"]
    dec_11["decision: step: rock_quality"]
    act_10["tool_call: rock_quality"]
    dec_12["decision: step: electrofacies"]
    act_11["tool_call: electrofacies"]
    dec_13["decision: wasted no-op: lithology"]
    dec_14["decision: wasted no-op: permeability"]
    dec_15["decision: wasted no-op: rock_quality"]
    dec_16["decision: wasted no-op: lithology"]
    dec_17["decision: wasted no-op: permeability"]
    dec_18["decision: wasted no-op: lithology"]
    dec_19["decision: wasted no-op: permeability"]
    dec_20["decision: wasted no-op: rock_quality"]
    dec_21["decision: wasted no-op: permeability"]
    dec_22["decision: wasted no-op: rock_quality"]
    dec_23["decision: wasted no-op: permeability"]
    dec_24["decision: wasted no-op: lithology"]
    dec_25["decision: wasted no-op: permeability"]
    dec_26["decision: step: compare_methods"]
    act_12["tool_call: compare_methods"]
    dec_27["decision: wasted no-op: permeability"]
    dec_28["decision: wasted no-op: lithology"]
    dec_29["decision: wasted no-op: permeability"]
    dec_30["decision: wasted no-op: lithology"]
    dec_31["decision: wasted no-op: permeability"]

23. Data gaps for calibration

This is a LAS-only study. Data that would calibrate the interpretation is absent:


24. Limitations


25. Conclusions

This interpretation is bracketed, not firm: it did not converge, one validator objection stands, and the net-pay result should be carried as a range — P10/P50/P90 of 8.2/18.7/49.9 m across the 200.0 m gross interval — rather than as a single number. The net-to-gross of 0.065 is low, but where net pay is counted the rock reads cleanly, with PHIE of 0.146, Sw of 0.379, and Vsh of 0.114. The dominant control on the outcome is the cementation exponent m, applied here as an uncalibrated regional default and accounting for a 13.9 m swing in net pay; it is the single largest source of uncertainty. The most direct way to narrow this range is core calibration of m. Until that calibration exists, these numbers should guide decisions only as a bracketed envelope, not as firm estimates.


Appendix A — Ledger excerpt (traceability)

{
  "net_pay_total_m": 12.954000000000008,
  "net_pay_p10_p50_p90": [
    8.229600000000005,
    18.66900000000001,
    49.88052000000004
  ],
  "driving_params": {
    "a": 1.0,
    "m": 2.0,
    "n": 2.0,
    "Rw": 0.04
  },
  "claim_verifier": {
    "result": "PASS",
    "flags": [],
    "tone_flags": []
  }
}

Appendix B — Completeness gate

ItemPresent
QC edits recorded before compute
Every number ledger-traced
Confidence tier on the run
Parameter citations frozen
Validator objections listed, not hidden
Uncertainty propagated (Monte Carlo)
Claim verifier run on prose