Class DecommissioningEstimator
java.lang.Object
neqsim.process.fielddevelopment.evaluation.DecommissioningEstimator
- All Implemented Interfaces:
Serializable
Decommissioning cost estimation for offshore oil and gas facilities.
Provides order-of-magnitude cost estimates for late-life planning and abandonment liability calculations. Based on Norwegian Continental Shelf (NCS) experience and industry benchmarks.
Cost Categories
- Well P&A - Plug and abandon wells
- Topside removal - Platform topside structures
- Substructure removal - Jackets, GBS, floaters
- Pipeline decommissioning - Pipelines and risers
- Site remediation - Seabed clearing
Facility Types
- Fixed platform - Steel jacket or GBS
- Floating production - FPSO, semi-sub, TLP, spar
- Subsea tieback - Subsea wells tied to host
Example Usage
DecommissioningEstimator estimator =
new DecommissioningEstimator().setFacilityType(FacilityType.FIXED_JACKET).setWaterDepth(120)
.setTopsideWeight(15000).setNumberOfWells(12).setPipelineLength(45);
double totalCost = estimator.getTotalCostMUSD();
System.out.println("Decom cost: $" + totalCost + "M");
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classCost breakdown item.static enumFacility type enumeration.static enumPipeline decommissioning strategy. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleAverage well depth in meters.Facility type.private static final doubleJacket removal base cost (deep).private static final doubleJacket removal base cost (shallow).private intNumber of risers.private intSubsea manifolds/templates.private intNumber of wells to P&A.private static final doublePipeline decom cost per km (leave in place).private static final doublePipeline decom cost per km (full removal).private doublePipeline diameter in inches.private doublePipeline length in km.private static final doubleRiser removal cost per riser.private static final longprivate static final doubleSite remediation base cost.private static final doubleSubsea structure removal cost each.private doubleJacket/substructure weight in tonnes.private static final doubleTopside removal cost per tonne.private doubleTopside weight in tonnes.private doubleWater depth in meters.private static final doubleWell P&A cost per well (deep, complex).private static final doubleWell P&A cost per well (medium depth).private static final doubleWell P&A cost per well (shallow, simple). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGenerates a decommissioning cost report.Gets cost breakdown.intEstimates decommissioning duration.doubleCalculates pipeline decommissioning cost with leave-in-place strategy.doubleCalculates pipeline decommissioning cost.doubleCalculates site remediation cost.doubleCalculates substructure removal cost.doubleCalculates topside removal cost.doubleGets total decommissioning cost.doublegetTotalCostMUSD(DecommissioningEstimator.PipelineStrategy pipelineStrategy) Gets total decommissioning cost with specified pipeline strategy.doubleCalculates total well P&A cost.setAverageWellDepth(double depthM) Sets average well depth.Sets facility type.setNumberOfRisers(int risers) Sets number of risers.setNumberOfSubseaStructures(int structures) Sets number of subsea structures.setNumberOfWells(int wells) Sets number of wells.setPipelineDiameter(double diameterInch) Sets pipeline diameter.setPipelineLength(double lengthKm) Sets pipeline length.setSubstructureWeight(double tonnes) Sets substructure weight.setTopsideWeight(double tonnes) Sets topside weight.setWaterDepth(double depthM) Sets water depth.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
facilityType
Facility type. -
waterDepthM
private double waterDepthMWater depth in meters. -
topsideWeightTonnes
private double topsideWeightTonnesTopside weight in tonnes. -
substructureWeightTonnes
private double substructureWeightTonnesJacket/substructure weight in tonnes. -
numberOfWells
private int numberOfWellsNumber of wells to P&A. -
averageWellDepthM
private double averageWellDepthMAverage well depth in meters. -
pipelineLengthKm
private double pipelineLengthKmPipeline length in km. -
pipelineDiameterInch
private double pipelineDiameterInchPipeline diameter in inches. -
numberOfRisers
private int numberOfRisersNumber of risers. -
numberOfSubseaStructures
private int numberOfSubseaStructuresSubsea manifolds/templates. -
WELL_PA_COST_SHALLOW
private static final double WELL_PA_COST_SHALLOWWell P&A cost per well (shallow, simple).- See Also:
-
WELL_PA_COST_MEDIUM
private static final double WELL_PA_COST_MEDIUMWell P&A cost per well (medium depth).- See Also:
-
WELL_PA_COST_DEEP
private static final double WELL_PA_COST_DEEPWell P&A cost per well (deep, complex).- See Also:
-
TOPSIDE_REMOVAL_PER_TONNE
private static final double TOPSIDE_REMOVAL_PER_TONNETopside removal cost per tonne.- See Also:
-
JACKET_REMOVAL_SHALLOW
private static final double JACKET_REMOVAL_SHALLOWJacket removal base cost (shallow).- See Also:
-
JACKET_REMOVAL_DEEP
private static final double JACKET_REMOVAL_DEEPJacket removal base cost (deep).- See Also:
-
PIPELINE_DECOM_LIP_PER_KM
private static final double PIPELINE_DECOM_LIP_PER_KMPipeline decom cost per km (leave in place).- See Also:
-
PIPELINE_DECOM_REMOVE_PER_KM
private static final double PIPELINE_DECOM_REMOVE_PER_KMPipeline decom cost per km (full removal).- See Also:
-
RISER_REMOVAL_COST
private static final double RISER_REMOVAL_COSTRiser removal cost per riser.- See Also:
-
SITE_REMEDIATION_BASE
private static final double SITE_REMEDIATION_BASESite remediation base cost.- See Also:
-
SUBSEA_STRUCTURE_REMOVAL
private static final double SUBSEA_STRUCTURE_REMOVALSubsea structure removal cost each.- See Also:
-
-
Constructor Details
-
DecommissioningEstimator
public DecommissioningEstimator()
-
-
Method Details
-
setFacilityType
Sets facility type.- Parameters:
type- facility type- Returns:
- this for chaining
-
setWaterDepth
Sets water depth.- Parameters:
depthM- water depth in meters- Returns:
- this for chaining
-
setTopsideWeight
Sets topside weight.- Parameters:
tonnes- topside weight in tonnes- Returns:
- this for chaining
-
setSubstructureWeight
Sets substructure weight.- Parameters:
tonnes- jacket/substructure weight in tonnes- Returns:
- this for chaining
-
setNumberOfWells
Sets number of wells.- Parameters:
wells- number of wells- Returns:
- this for chaining
-
setAverageWellDepth
Sets average well depth.- Parameters:
depthM- well depth in meters- Returns:
- this for chaining
-
setPipelineLength
Sets pipeline length.- Parameters:
lengthKm- pipeline length in km- Returns:
- this for chaining
-
setPipelineDiameter
Sets pipeline diameter.- Parameters:
diameterInch- pipeline diameter in inches- Returns:
- this for chaining
-
setNumberOfRisers
Sets number of risers.- Parameters:
risers- number of risers- Returns:
- this for chaining
-
setNumberOfSubseaStructures
Sets number of subsea structures.- Parameters:
structures- number of manifolds/templates- Returns:
- this for chaining
-
getWellPACostMUSD
public double getWellPACostMUSD()Calculates total well P&A cost.- Returns:
- cost in MUSD
-
getTopsideRemovalCostMUSD
public double getTopsideRemovalCostMUSD()Calculates topside removal cost.- Returns:
- cost in MUSD
-
getSubstructureRemovalCostMUSD
public double getSubstructureRemovalCostMUSD()Calculates substructure removal cost.- Returns:
- cost in MUSD
-
getPipelineDecomCostMUSD
Calculates pipeline decommissioning cost.- Parameters:
strategy- decommissioning strategy- Returns:
- cost in MUSD
-
getPipelineDecomCostMUSD
public double getPipelineDecomCostMUSD()Calculates pipeline decommissioning cost with leave-in-place strategy.- Returns:
- cost in MUSD
-
getSiteRemediationCostMUSD
public double getSiteRemediationCostMUSD()Calculates site remediation cost.- Returns:
- cost in MUSD
-
getTotalCostMUSD
public double getTotalCostMUSD()Gets total decommissioning cost.- Returns:
- total cost in MUSD
-
getTotalCostMUSD
Gets total decommissioning cost with specified pipeline strategy.- Parameters:
pipelineStrategy- pipeline decommissioning approach- Returns:
- total cost in MUSD
-
getCostBreakdown
Gets cost breakdown.- Returns:
- list of cost items
-
getEstimatedDurationMonths
public int getEstimatedDurationMonths()Estimates decommissioning duration.- Returns:
- estimated duration in months
-
generateReport
Generates a decommissioning cost report.- Returns:
- markdown formatted report
-