Review and extract engineering value from local PVT laboratory reports, spreadsheets, PDFs, and table exports including CCE, CVD, differential liberation, separator tests, viscosity tables, and black-oil summaries. Use when the user provides a PVT report and asks to extract bubble point, Rs, Bo, Bg, shrinkage, dewpoint, condensate dropout behavior, lab quality issues, or black-oil inputs for simulation and nodal analysis. Trigger phrases include PVT report, lab report review, CCE, CVD, differential liberation, separator test, black-oil table, fluid report, extract PVT data, or QC this lab report.
File-review skill for turning lab reports into usable engineering inputs. It is
paired with pnge:petroleum-pvt, which provides the actual screening
correlations and property calculations.
Important: Many PVT reports are internally consistent only within a single test type. Do not mix separator-test values, differential-liberation values, and CCE/CVD values without stating the intended use.
Use this checklist first:
If the report lacks the reference conditions, stop and flag that before doing any extraction.
def monotonic_direction(values):
"""
Return 'increasing', 'decreasing', 'mixed', or 'flat' for a series.
"""
diffs = [values[i] - values[i - 1] for i in range(1, len(values))]
pos = any(d > 0 for d in diffs)
neg = any(d < 0 for d in diffs)
if pos and neg:
return "mixed"
if pos:
return "increasing"
if neg:
return "decreasing"
return "flat"
def linear_interpolate(x1, y1, x2, y2, x_target):
if x2 == x1:
return None
return y1 + (y2 - y1) * (x_target - x1) / (x2 - x1)
Expected broad trends:
| Table | Trend to sanity-check |
|---|---|
| Oil viscosity vs pressure below bubble point | Often decreases as pressure increases toward bubble point |
| Rs below bubble point | Increases with pressure |
| Relative volume in CCE above saturation | Changes smoothly, not erratically |
| Condensate dropout in CVD | Peaks then may partially recover with depletion |
For most engineering workflows, extract:
Rs, Bo, and oil viscosity versus pressurez, Bg, and gas viscosity versus pressureIf the report already contains black-oil tables, prefer those over manual reconstruction from raw tests.
| Need | Best report section |
|---|---|
| Reservoir simulation black-oil table | Lab black-oil summary or reconstructed DL/CVD results |
| Nodal analysis screening | Saturation pressure, Rs, Bo, viscosities, separator shrinkage |
| Facility flash / separator behavior | Separator test tables |
| Condensate banking risk | Dewpoint plus CVD dropout behavior |
| Problem | What to flag |
|---|---|
| Missing reservoir temperature | Entire report is hard to use |
| Units inconsistent across tables | Do not merge tables blindly |
| Bubble point conflicts between summary and test pages | Cite both and state discrepancy |
| Viscosity tables without pressure basis | Not safe to use in nodal or simulation |
| No composition and no pseudocomponents | EOS reuse will be limited |
When using this skill, structure the answer as:
pnge:petroleum-pvt for screening correlations and gap filling.pnge:nodal-analysis-multiphase for production system use.pnge:thermo-eos if the report includes compositional EOS data.