Horner Plot Analysis — P* Calculation


Spreadsheet

51 rows x 7 columns

fx
A B C D E F G
1 Horner Plot Analysis
2 Interpretation Inputs
3 Production time, tp 48 h
4 Flow rate, q 250 STB/D
5 FVF, Bo 1.25 bbl/STB
6 Viscosity, μ 1 cP
7 Porosity, φ 0.2 fraction
8 Total compressibility, ct 1.5E-05 1/psi
9 Wellbore radius, rw 0.354 ft
10 Net pay, h 30 ft
11 Pwf (last flowing) 4630.17 psia
12 Bourdet L (smoothing) 0.2
13
14 Forward Model
15 Permeability, k 50 mD
16 Skin factor, S 5 dimensionless
17 Initial pressure, Pi 5000 psia
18 Wellbore storage, C 0.001 bbl/psi
19 Pwf (model) 4630.170141 psia
20 Rate Schedule
21 0 250
22 48 0
23
24 Δt (h) Pws model Pws Horner Time log₁₀(HT) IARF Bourdet dPws/dlog₁₀(HT)
25 0.1 4898.712398 4898.712398 481 2.682145076 0 -46.8255967
26 0.5 4931.27367 4931.27367 97 1.986771734 0 -39.46345168
27 1 4942.046338 4942.046338 49 1.69019608 0 -35.70355117
28 2 4952.30237 4952.30237 25 1.397940009 0 -34.79294042
29 4 4962.100745 4962.100745 13 1.113943352 1 -34.34969637
30 8 4971.296808 4971.296808 7 0.84509804 1 -34.12605642
31 12 4976.276121 4976.276121 5 0.6989700043 1 -34.05635437
32 16 4979.573223 4979.573223 4 0.6020599913 1 -34.0109587
33 20 4981.972479 4981.972479 3.4 0.531478917 1 -33.98896079
34 24 4983.819221 4983.819221 3 0.4771212547 1 -33.96832446
35 36 4987.524916 4987.524916 2.333333333 0.3679767853 1 -33.93988149
36 48 4989.796515 4989.796515 2 0.3010299957 1 -33.95127917
37
38 Interpretation Results
39 IARF slope, m -34.04893897 psi/cycle
40 P* (extrapolated) 5000.060342 psia
41 P at Δt=1hr 4942.510959 psia
42 Permeability, k 49.74457505 mD
43 Skin factor, S 4.928210195 dimensionless
44 Radius of investigation 916.2810087 ft
45 Effective wellbore radius 0.002562764908 ft
46 End of WBS (unit slope) 0.1736460858 h
47
48 Validation Input Recovered Error %
49 k (mD) 50 49.74457505 -0.5108499028
50 S (dimensionless) 5 4.928210195 -1.435796097
51 P* (psia) 5000 5000.060342 0.001206840712

Description

Pressure buildup interpretation using Horner semilog analysis with Bourdet derivative for IARF identification. Includes forward model for synthetic data generation and round-trip validation.

Bourdet derivative requires ascending x-values. The log₁₀(Horner Time) axis is naturally descending as Δt increases — this is the standard Horner convention. SORT/SORTBY are used inline in every Bourdet cell to reverse the array to ascending order before passing to PO.DCA.Diag.Bourdet. A proposed enhancement to auto-detect descending x would eliminate this boilerplate (see POMCP-ENHANCEMENT-bourdet-descending-x.md).

IARF flag column (F) uses 1/0 numeric values, not TRUE/FALSE. Boolean literals can be interpreted as text strings during blueprint insertion, causing AVERAGEIF to return #DIV/0! in Excel. Numeric 1/0 flags work reliably in both the calc engine and Excel.

For the default synthetic case (k=50 mD, S=5, C=0.001 bbl/psi), IARF begins at approximately Δt ≥ 4h. The _PO.PTA.EndWBS LAMBDA estimates the end of pure wellbore storage (unit-slope period); IARF starts roughly 1.5 log cycles after that. For real data with noise, the stabilization band may be less obvious — adjust Bourdet L (_L) between 0.1 and 0.5 to control smoothing.

Constant rate assumption. The Horner method assumes constant rate during the drawdown period. For variable-rate production history before shut-in, replace with Agarwal equivalent time analysis, or pass the full rate schedule to PO.PTA.Pw.VW which handles superposition internally via the prod_data array parameter.

For real data use. Replace column C (Pws) formulas with measured gauge pressures. The forward model block (rows 14–22) can be cleared or ignored. All interpretation results derive from column C only.

LAMBDA functions defined in this blueprint (_PO.PTA.*) represent common PTA calculations not yet available as native PO functions. Each LAMBDA is a candidate for a future PO.PTA.* function — see the Lambdas section for formulas and references.

Reference: Horner, D.R. (1951). "Pressure Build-up in Wells." Third World Petroleum Congress, The Hague.

Workflow

  • Interpretation Inputs (rows 3–12): Reservoir and fluid properties needed for any buildup analysis — tp, q, Bo, μ, φ, ct, rw, h, Pwf, and Bourdet smoothing parameter L. These are always required regardless of data source.
  • Forward Model (rows 15–22): Optional validation block. Enter known k, S, Pi, C to generate synthetic Pws via PO.PTA.Pw.VW with built-in superposition. The rate schedule (rows 21–22) defines constant-rate drawdown at q followed by shut-in at tp. Pwf_model (row 19) verifies consistency with the Pwf input.
  • Data Table (rows 24–36): Column A = shut-in time Δt. Column B = synthetic Pws from the forward model. Column C = measured Pws (defaults to =B for self-validation; replace with real gauge data). Columns D–E = Horner time coordinates. Column F = IARF flag (1 = include in straight line, 0 = exclude). Column G = Bourdet smoothed derivative on the log₁₀(HT) axis.
  • IARF Selection: Examine column G for a stabilization plateau. Set column F = 1 where Bourdet values are approximately constant. Set F = 0 for early-time points affected by wellbore storage and transition, and late-time points showing boundary effects. The derivative plateau value equals the semilog slope m.
  • Slope, m (row 39): AVERAGEIF averages Bourdet derivative values where IARF = 1. This gives the semilog slope m in psi/cycle — the fundamental quantity for all interpretation results.
  • *P (row 40)**: Intercept of the IARF straight line at log₁₀(HT) = 0 (HT = 1, infinite shut-in). Computed from the average Pws and average log₁₀(HT) of IARF-flagged points and the slope m.
  • P₁ₕᵣ (row 41): Pressure on the IARF straight line at Δt = 1 hour, used in the skin equation.
  • Permeability (row 42): Computed via _PO.PTA.PermFromSlope LAMBDA — k = 162.6 × q × Bo × μ / (|m| × h).
  • Skin (row 43): Computed via _PO.PTA.SkinFromP1hr LAMBDA — S = 1.151 × [(P₁ₕᵣ − Pwf)/|m| − log₁₀(k/(φμctrw²)) + 3.23].
  • Radius of investigation (row 44): Computed via _PO.PTA.Rinv LAMBDA — rinv = √(k·t / (948·φ·μ·ct)).
  • End of WBS (row 46): Computed via _PO.PTA.EndWBS LAMBDA — tWBS = (200000 + 12000·S) × C × μ / (k·h). Requires wellbore storage coefficient C (from forward model or unit-slope estimate).
  • Validation (rows 49–51): Compares forward model input parameters against interpretation results. Error percentages quantify round-trip accuracy. Expected: k < 1%, S < 2%, P* < 0.01% on clean synthetic data.
How to use this blueprint
  1. In Excel, go to the Petroleum Office ribbon tab and click Blueprint Manager
  2. Search for Horner Plot Analysis — P* Calculation
  3. Click on the blueprint to preview the spreadsheet template
  4. Click Insert to place it into your worksheet. Modify the input values to match your data.
Tags:
Hornerbuilduppressurepstarpermeabilityskinwell-testingBourdetiarf

Need a custom calculation? Request a Blueprint

An unhandled error has occurred. Reload X