{
  "version": 1,
  "id": "po.wb.profiles.field-production-profile",
  "name": "Field Production Profile — Buildup-Plateau-Decline",
  "sheets": [
    {
      "name": "Inputs",
      "cells": [
        {
          "ref": "A1",
          "value": "Field Production Profile — Inputs"
        },
        {
          "ref": "A2",
          "value": "Three-phase production profile: linear buildup to plateau, constant plateau rate, then Arps decline. Phase transitions are formula-derived from these parameters — change the buildup time or plateau duration and the entire profile updates."
        },
        {
          "ref": "A4",
          "value": "Profile Parameters"
        },
        {
          "ref": "A5",
          "value": "Buildup Time"
        },
        {
          "ref": "B5",
          "value": 6
        },
        {
          "ref": "C5",
          "value": "months"
        },
        {
          "ref": "A6",
          "value": "Plateau Duration"
        },
        {
          "ref": "B6",
          "value": 24
        },
        {
          "ref": "C6",
          "value": "months"
        },
        {
          "ref": "A7",
          "value": "Plateau Rate"
        },
        {
          "ref": "B7",
          "value": 5000
        },
        {
          "ref": "C7",
          "value": "bbl/day"
        },
        {
          "ref": "A8",
          "value": "Initial Decline (Di)"
        },
        {
          "ref": "B8",
          "value": 0.03
        },
        {
          "ref": "C8",
          "value": "1/month"
        },
        {
          "ref": "A9",
          "value": "b-Exponent"
        },
        {
          "ref": "B9",
          "value": 0.5
        },
        {
          "ref": "C9",
          "value": "(0=exp, 1=harmonic)"
        },
        {
          "ref": "A11",
          "value": "Derived Phase Boundaries"
        },
        {
          "ref": "A12",
          "value": "Buildup ends at"
        },
        {
          "ref": "B12",
          "formula": "=FPP_tBU",
          "cached": 6
        },
        {
          "ref": "C12",
          "value": "months"
        },
        {
          "ref": "A13",
          "value": "Plateau ends at"
        },
        {
          "ref": "B13",
          "formula": "=FPP_tBU+FPP_tPlat",
          "cached": 30
        },
        {
          "ref": "C13",
          "value": "months"
        },
        {
          "ref": "A14",
          "value": "Total profile duration"
        },
        {
          "ref": "B14",
          "formula": "=120",
          "cached": 120
        },
        {
          "ref": "C14",
          "value": "months"
        }
      ]
    },
    {
      "name": "Production Profile",
      "cells": [
        {
          "ref": "A1",
          "value": "Production Forecast"
        },
        {
          "ref": "A2",
          "value": "Rate and cumulative production at 25 time steps. The Phase column is derived from input parameters — it changes automatically when you adjust buildup time or plateau duration."
        },
        {
          "ref": "A4",
          "value": "Rate & Cumulative Forecast"
        },
        {
          "ref": "A5",
          "value": "t (months)"
        },
        {
          "ref": "B5",
          "value": "q (bbl/day)"
        },
        {
          "ref": "C5",
          "value": "Np (Mstb)"
        },
        {
          "ref": "D5",
          "value": "Phase"
        },
        {
          "ref": "A6",
          "value": 0
        },
        {
          "ref": "B6",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A6)",
          "cached": 0
        },
        {
          "ref": "C6",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A6)/1000",
          "cached": 0
        },
        {
          "ref": "D6",
          "formula": "=IF(A6<FPP_tBU,\"Buildup\",IF(A6<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Buildup"
        },
        {
          "ref": "A7",
          "value": 1
        },
        {
          "ref": "B7",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A7)",
          "cached": 833.3333333333334
        },
        {
          "ref": "C7",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A7)/1000",
          "cached": 0.4166666666666667
        },
        {
          "ref": "D7",
          "formula": "=IF(A7<FPP_tBU,\"Buildup\",IF(A7<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Buildup"
        },
        {
          "ref": "A8",
          "value": 2
        },
        {
          "ref": "B8",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A8)",
          "cached": 1666.6666666666667
        },
        {
          "ref": "C8",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A8)/1000",
          "cached": 1.6666666666666667
        },
        {
          "ref": "D8",
          "formula": "=IF(A8<FPP_tBU,\"Buildup\",IF(A8<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Buildup"
        },
        {
          "ref": "A9",
          "value": 3
        },
        {
          "ref": "B9",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A9)",
          "cached": 2500
        },
        {
          "ref": "C9",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A9)/1000",
          "cached": 3.75
        },
        {
          "ref": "D9",
          "formula": "=IF(A9<FPP_tBU,\"Buildup\",IF(A9<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Buildup"
        },
        {
          "ref": "A10",
          "value": 4
        },
        {
          "ref": "B10",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A10)",
          "cached": 3333.3333333333335
        },
        {
          "ref": "C10",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A10)/1000",
          "cached": 6.666666666666667
        },
        {
          "ref": "D10",
          "formula": "=IF(A10<FPP_tBU,\"Buildup\",IF(A10<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Buildup"
        },
        {
          "ref": "A11",
          "value": 5
        },
        {
          "ref": "B11",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A11)",
          "cached": 4166.666666666667
        },
        {
          "ref": "C11",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A11)/1000",
          "cached": 10.416666666666668
        },
        {
          "ref": "D11",
          "formula": "=IF(A11<FPP_tBU,\"Buildup\",IF(A11<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Buildup"
        },
        {
          "ref": "A12",
          "value": 6
        },
        {
          "ref": "B12",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A12)",
          "cached": 5000
        },
        {
          "ref": "C12",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A12)/1000",
          "cached": 15
        },
        {
          "ref": "D12",
          "formula": "=IF(A12<FPP_tBU,\"Buildup\",IF(A12<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A13",
          "value": 9
        },
        {
          "ref": "B13",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A13)",
          "cached": 5000
        },
        {
          "ref": "C13",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A13)/1000",
          "cached": 30
        },
        {
          "ref": "D13",
          "formula": "=IF(A13<FPP_tBU,\"Buildup\",IF(A13<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A14",
          "value": 12
        },
        {
          "ref": "B14",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A14)",
          "cached": 5000
        },
        {
          "ref": "C14",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A14)/1000",
          "cached": 45
        },
        {
          "ref": "D14",
          "formula": "=IF(A14<FPP_tBU,\"Buildup\",IF(A14<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A15",
          "value": 15
        },
        {
          "ref": "B15",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A15)",
          "cached": 5000
        },
        {
          "ref": "C15",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A15)/1000",
          "cached": 60
        },
        {
          "ref": "D15",
          "formula": "=IF(A15<FPP_tBU,\"Buildup\",IF(A15<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A16",
          "value": 18
        },
        {
          "ref": "B16",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A16)",
          "cached": 5000
        },
        {
          "ref": "C16",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A16)/1000",
          "cached": 75
        },
        {
          "ref": "D16",
          "formula": "=IF(A16<FPP_tBU,\"Buildup\",IF(A16<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A17",
          "value": 21
        },
        {
          "ref": "B17",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A17)",
          "cached": 5000
        },
        {
          "ref": "C17",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A17)/1000",
          "cached": 90
        },
        {
          "ref": "D17",
          "formula": "=IF(A17<FPP_tBU,\"Buildup\",IF(A17<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A18",
          "value": 24
        },
        {
          "ref": "B18",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A18)",
          "cached": 5000
        },
        {
          "ref": "C18",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A18)/1000",
          "cached": 105
        },
        {
          "ref": "D18",
          "formula": "=IF(A18<FPP_tBU,\"Buildup\",IF(A18<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A19",
          "value": 27
        },
        {
          "ref": "B19",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A19)",
          "cached": 5000
        },
        {
          "ref": "C19",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A19)/1000",
          "cached": 120
        },
        {
          "ref": "D19",
          "formula": "=IF(A19<FPP_tBU,\"Buildup\",IF(A19<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Plateau"
        },
        {
          "ref": "A20",
          "value": 30
        },
        {
          "ref": "B20",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A20)",
          "cached": 5000
        },
        {
          "ref": "C20",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A20)/1000",
          "cached": 135
        },
        {
          "ref": "D20",
          "formula": "=IF(A20<FPP_tBU,\"Buildup\",IF(A20<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A21",
          "value": 36
        },
        {
          "ref": "B21",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A21)",
          "cached": 4208.3999663327995
        },
        {
          "ref": "C21",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A21)/1000",
          "cached": 162.52293577981652
        },
        {
          "ref": "D21",
          "formula": "=IF(A21<FPP_tBU,\"Buildup\",IF(A21<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A22",
          "value": 42
        },
        {
          "ref": "B22",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A22)",
          "cached": 3590.922148807814
        },
        {
          "ref": "C22",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A22)/1000",
          "cached": 185.84745762711862
        },
        {
          "ref": "D22",
          "formula": "=IF(A22<FPP_tBU,\"Buildup\",IF(A22<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A23",
          "value": 48
        },
        {
          "ref": "B23",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A23)",
          "cached": 3100.0062000124
        },
        {
          "ref": "C23",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A23)/1000",
          "cached": 205.8661417322835
        },
        {
          "ref": "D23",
          "formula": "=IF(A23<FPP_tBU,\"Buildup\",IF(A23<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A24",
          "value": 54
        },
        {
          "ref": "B24",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A24)",
          "cached": 2703.2871972318344
        },
        {
          "ref": "C24",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A24)/1000",
          "cached": 223.23529411764704
        },
        {
          "ref": "D24",
          "formula": "=IF(A24<FPP_tBU,\"Buildup\",IF(A24<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A25",
          "value": 60
        },
        {
          "ref": "B25",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A25)",
          "cached": 2378.1212841854936
        },
        {
          "ref": "C25",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A25)/1000",
          "cached": 238.44827586206895
        },
        {
          "ref": "D25",
          "formula": "=IF(A25<FPP_tBU,\"Buildup\",IF(A25<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A26",
          "value": 72
        },
        {
          "ref": "B26",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A26)",
          "cached": 1881.8924310286425
        },
        {
          "ref": "C26",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A26)/1000",
          "cached": 263.83435582822085
        },
        {
          "ref": "D26",
          "formula": "=IF(A26<FPP_tBU,\"Buildup\",IF(A26<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A27",
          "value": 84
        },
        {
          "ref": "B27",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A27)",
          "cached": 1526.204938799182
        },
        {
          "ref": "C27",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A27)/1000",
          "cached": 284.17127071823205
        },
        {
          "ref": "D27",
          "formula": "=IF(A27<FPP_tBU,\"Buildup\",IF(A27<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A28",
          "value": 96
        },
        {
          "ref": "B28",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A28)",
          "cached": 1262.5943789298249
        },
        {
          "ref": "C28",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A28)/1000",
          "cached": 300.8291457286433
        },
        {
          "ref": "D28",
          "formula": "=IF(A28<FPP_tBU,\"Buildup\",IF(A28<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A29",
          "value": 108
        },
        {
          "ref": "B29",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A29)",
          "cached": 1061.8191084966766
        },
        {
          "ref": "C29",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A29)/1000",
          "cached": 314.7235023041475
        },
        {
          "ref": "D29",
          "formula": "=IF(A29<FPP_tBU,\"Buildup\",IF(A29<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        },
        {
          "ref": "A30",
          "value": 120
        },
        {
          "ref": "B30",
          "formula": "=PO.FPP.Field.Rate(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A30)",
          "cached": 905.3870529651429
        },
        {
          "ref": "C30",
          "formula": "=PO.FPP.Field.Prod(FPP_tBU,FPP_tPlat,FPP_Qplat,FPP_Di,FPP_b,A30)/1000",
          "cached": 326.48936170212767
        },
        {
          "ref": "D30",
          "formula": "=IF(A30<FPP_tBU,\"Buildup\",IF(A30<FPP_tBU+FPP_tPlat,\"Plateau\",\"Decline\"))",
          "cached": "Decline"
        }
      ]
    }
  ],
  "namedRanges": [
    {
      "name": "FPP_Di",
      "refersTo": "Inputs!$B$8"
    },
    {
      "name": "FPP_Qplat",
      "refersTo": "Inputs!$B$7"
    },
    {
      "name": "FPP_b",
      "refersTo": "Inputs!$B$9"
    },
    {
      "name": "FPP_tBU",
      "refersTo": "Inputs!$B$5"
    },
    {
      "name": "FPP_tPlat",
      "refersTo": "Inputs!$B$6"
    }
  ],
  "namedLambdas": [],
  "charts": [
    {
      "sheet": "Production Profile",
      "type": "XYScatterLines",
      "title": "Field Production Profile",
      "series": [
        {
          "name": "Rate",
          "values": "'Production Profile'!$B$6:$B$30",
          "categories": "'Production Profile'!$A$6:$A$30"
        }
      ],
      "anchor": "A32",
      "endAnchor": "G50",
      "xAxis": {
        "title": "Time (months)"
      },
      "yAxis": {
        "title": "Rate (bbl/day)"
      }
    },
    {
      "sheet": "Production Profile",
      "type": "XYScatterLines",
      "title": "Cumulative Production",
      "series": [
        {
          "name": "Np",
          "values": "'Production Profile'!$C$6:$C$30",
          "categories": "'Production Profile'!$A$6:$A$30"
        }
      ],
      "anchor": "A58",
      "endAnchor": "G76",
      "xAxis": {
        "title": "Time (months)"
      },
      "yAxis": {
        "title": "Cumulative (Mstb)"
      }
    }
  ],
  "shapes": [],
  "pictures": [],
  "connectors": [],
  "conditionalFormats": [],
  "sparklineGroups": [],
  "functions": [
    "PO.FPP.Field.Prod",
    "PO.FPP.Field.Rate"
  ]
}