← petro-agent · catálogoglm-5.2 + thinking · v14

Petrophysical Interpretation Report — 15-135-25402-00-00

Well (UWI)15-135-25402-00-00
Log dateTue Jul 31 09-25-21 2012
Service companyLog Tech
Acquisition date (header)Tue Jul 31 09-25-21 2012
PLSS locationSec 19 T19S R21W (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 SHA7ded80e5dcb3
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

⚠️ ABSTENTION — this is NOT a confident estimate. The run did not converge to a defensible result; the numbers below are an uncalibrated engineering estimate, reported for transparency only:
- 1 unresolved MECHANICAL objection(s)

Well 15-135-25402-00-00 contains a thin pay interval within a gross section of 639.7 m, where net-to-gross is 0.020 and net pay ranges widely from 1.5 m (P10) to 66.7 m (P90) with a median of 12.0 m. Within that pay, average effective porosity is 0.157, water saturation is 0.408, and shale volume is 0.162, indicating a moderately clean, porous rock that is more than half filled with hydrocarbon. These results are bracketed rather than firmly estimated because the dominant uncertainty is the parameter a, a regional default that remains uncalibrated by core and drives a 22.9 m swing in net pay; the validation loop also did not converge, with 2 validator objections raised of which 1 is an unresolved mechanical objection, so the pay figure should be read as a broad range, not a point estimate.

Net pay P10 / P50 / P90 = 1.5 / 12.0 / 66.7 m.
Net pay is dominated by 'a', 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 186
hard_range_maskRMEDcount 24
hard_range_maskRHOBcount 1
hard_range_maskDRHOcount 4
hard_range_maskPHID_SVCcount 5
range_warnRHOBcount 4
range_warnNPHIcount 29
spike_removal162 edits
degradation3 edits

4. Standardization

Raw mnemonics mapped to canonical curve names:

CanonicalRaw mnemonic
DCALDCAL
DRHORHOC
GRGR
NPHICNLS
NPHI_DOLCNDL
NPHI_SSCNSS
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: 2, spike_removal: 162, 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
SwSimandoux 1963 (shaly sand)sw_simandoux 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.58, n_flagged=806, intervals=[[237.4, 237.7], [282.2, 284.4], [288.3, 288.3], [289.0, 290.3], [293.1, 346.3], [351.1, 354.3], [357.2, 358.3], [367.9, 369.3], [372.6, 374.0], [406.6, 407.1]].

Invasion profile (multi-depth resistivities, 8055 samples): fraction with shallow reading above deep (Rxo/RT > 1.2, invaded/permeable indication): 0.775; reversed (< 0.8): 0.050; median Rxo/RT 1.555; median Rmed/RT 0.993. 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.102, limestone: 0.243, dolomite: 0.119. 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. Derived parameters


15. Permeability (uncalibrated)

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


16. Electrofacies

Unsupervised k-means on 4102 samples into 4 electrofacies (sample counts: facies 0: 397, facies 1: 1221, facies 2: 1528, facies 3: 956). Descriptive only — no core labels.


17. Rock quality (uncalibrated)

_Built on the uncalibrated permeability; indicative only._


18. Water saturation

Mean Sw (Simandoux 1963 (shaly sand)) = 0.774 (a=1.00, m=2.00, n=2.00, Rw=0.0213 ohm-m). Electrical parameters are engine-sourced; alternative Sw models are optional sections.

Mean Sw by method (engine-computed comparison; the LLM authors no number):

MethodMean SwSelected
sw_archie0.902
sw_simandoux0.774
sw_indonesia0.774

19. Zonation (net-pay intervals)

Raw net-pay runs merged into 24 intervals (gap tolerance 1.5 m); showing the 15 thickest, depth-ordered. Full set traces in the ledger.

IntervalTop (m)Base (m)Net pay (m)Avg PHIEAvg SwAvg Vsh
Z1760.9762.50.90.1860.4690.044
Z2823.0824.80.80.1320.4810.276
Z3838.7839.30.80.1190.4940.286
Z4886.7887.10.60.1320.4650.094
Z5890.2891.20.60.2330.3490.229
Z6933.1933.60.60.1830.3800.201
Z7966.4966.70.50.1590.4530.254
Z81053.11053.50.60.1890.4720.101
Z91118.81119.10.50.1420.4770.114
Z101120.61122.01.50.1800.4360.067
Z111176.51177.00.60.1290.3960.103
Z121185.21185.80.80.1570.4030.079
Z131213.71214.20.60.1280.3010.113
Z141221.91222.60.80.1250.2330.058
Z151262.31262.90.80.1900.2630.221

20. Results

QuantityValue
Gross interval639.7 m
Net pay (P10/P50/P90)1.5 / 12.0 / 66.7 m
Net-to-gross0.020
Avg PHIE (net pay)0.157
Avg Sw (net pay)0.408
Avg Vsh (net pay)0.162

21. Uncertainty and sensitivity

Monte Carlo, 500 realizations (seed 42). Net pay swing per parameter (one-at-a-time):

ParameterNet-pay swing (m)
a22.9
m21.5
Rw8.5
n6.4

Dominant uncertainty: a (swing 22.9 m).

Multi-seed robustness: P50 UNSTABLE across seeds (spread 0.5 m across 4 seeds).

Net pay is dominated by 'a', which is a regional DEFAULT (uncalibrated). This is the single largest uncertainty — the result is bracketed, not a confident point estimate.


22. 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.


23. 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 a — see Uncertainty for the swing.


24. Data quality and validator objections

Curve provenance (canonical ← raw mnemonic): DCAL←DCAL, DRHO←RHOC, GR←GR, NPHI←CNLS, NPHI_DOL←CNDL, NPHI_SS←CNSS, 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: 2, spike_removal: 162, unit_conversion: 1.

ValidatorTypeDetail
vsh_phie_anticorrelationsupportVsh-PHIE Pearson 0.85 > 0.3 (dirty rock + high porosity)
rt_sw_consistencymechanical45 depths with Sw<0.4 but RT<5.0 ohm-m

25. Methodology (decision graph)

flowchart TD
    dec_1["decision: step: depth_quality"]
    act_1["tool_call: depth_quality"]
    dec_2["decision: step: set_zone_of_interest"]
    act_2["tool_call: set_zone_of_interest"]
    dec_3["decision: step: compare_methods"]
    act_3["tool_call: compare_methods"]
    dec_4["decision: step: validate_choice"]
    act_4["tool_call: validate_choice"]
    dec_5["decision: step: lithology"]
    act_5["tool_call: lithology"]
    dec_6["decision: step: derived_parameters"]
    act_6["tool_call: derived_parameters"]
    dec_7["decision: step: permeability"]
    act_7["tool_call: permeability"]
    dec_8["decision: step: compare_methods"]
    act_8["tool_call: compare_methods"]
    dec_9["decision: step: electrofacies"]
    act_9["tool_call: electrofacies"]
    dec_10["decision: wasted no-op: permeability"]
    dec_11["decision: step: rock_quality"]
    act_10["tool_call: rock_quality"]
    dec_12["decision: wasted no-op: lithology"]
    dec_13["decision: step: compute_sw"]
    act_11["tool_call: compute_sw"]
    dec_14["decision: wasted no-op: compute_sw"]
    dec_15["decision: step: apply_cutoffs"]
    act_12["tool_call: apply_cutoffs"]
    dec_16["decision: step: run_uncertainty"]
    act_13["tool_call: run_uncertainty"]
    dec_17["decision: wasted no-op: compute_sw"]
    dec_18["decision: wasted no-op: lithology"]
    dec_19["decision: wasted no-op: compute_sw"]
    dec_20["decision: wasted no-op: compute_sw"]
    dec_21["decision: wasted no-op: permeability"]
    dec_22["decision: step: mhi_scan"]
    act_14["tool_call: mhi_scan"]
    dec_23["decision: wasted no-op: permeability"]
    dec_24["decision: wasted no-op: lithology"]
    dec_25["decision: wasted no-op: compute_sw"]
    dec_26["decision: wasted no-op: permeability"]
    dec_27["decision: wasted no-op: lithology"]
    dec_28["decision: wasted no-op: permeability"]
    dec_29["decision: wasted no-op: lithology"]
    dec_30["decision: wasted no-op: permeability"]
    dec_31["decision: wasted no-op: lithology"]

26. Data gaps for calibration

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


27. Limitations


28. Conclusions

This run did not converge and is not a confident estimate; 1 unresolved mechanical objection remains. Net pay is bracketed at 1.5 / 12.0 / 66.7 m (P10 / P50 / P90) over a 639.7 m gross interval with net-to-gross of 0.020. Pay averages are PHIE 0.157, Sw 0.408, and Vsh 0.162. The single largest uncertainty is parameter a, an uncalibrated regional default responsible for a 22.9 m swing in net pay. Two validator objections were raised in total. These numbers should be read as a range, not a point estimate.


Appendix A — Ledger excerpt (traceability)

{
  "net_pay_total_m": 12.649200000000008,
  "net_pay_p10_p50_p90": [
    1.524000000000001,
    12.039600000000007,
    66.72072000000014
  ],
  "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