Class EconomicsEstimator.EconomicsReport

java.lang.Object
neqsim.process.fielddevelopment.screening.EconomicsEstimator.EconomicsReport
All Implemented Interfaces:
Serializable
Enclosing class:
EconomicsEstimator

public static final class EconomicsEstimator.EconomicsReport extends Object implements Serializable
Immutable report containing economics screening results.

This class encapsulates all economic metrics from a screening estimate, including:

  • CAPEX breakdown: Facility, equipment, wells, and infrastructure costs
  • OPEX estimate: Annual operating expenditure
  • Unit costs: CAPEX and OPEX per barrel of oil equivalent
  • Accuracy range: Uncertainty bounds for the estimate

Accuracy Considerations

All estimates carry a ±40% accuracy range (AACE Class 5). The actual costs can vary significantly based on:

  • Market conditions and contractor availability
  • Detailed engineering and specifications
  • Regional cost factors
  • Project schedule and execution strategy

Thread Safety

This class is immutable and thread-safe. All collections returned by getter methods are defensive copies.

Serialization

Implements Serializable for persistence and network transfer.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serial version UID for serialization compatibility.
      See Also:
    • facilityCapexMUSD

      private final double facilityCapexMUSD
      Facility base CAPEX in million USD.
    • equipmentCapexMUSD

      private final double equipmentCapexMUSD
      Process equipment CAPEX in million USD.
    • wellCapexMUSD

      private final double wellCapexMUSD
      Well drilling and completion CAPEX in million USD.
    • infrastructureCapexMUSD

      private final double infrastructureCapexMUSD
      Infrastructure (pipelines, umbilicals) CAPEX in million USD.
    • totalCapexMUSD

      private final double totalCapexMUSD
      Total CAPEX in million USD.
    • annualOpexMUSD

      private final double annualOpexMUSD
      Annual OPEX in million USD per year.
    • capexPerBoeUSD

      private final double capexPerBoeUSD
      CAPEX per barrel of oil equivalent in USD.
    • opexPerBoeUSD

      private final double opexPerBoeUSD
      OPEX per barrel of oil equivalent in USD.
    • accuracyRangePercent

      private final double accuracyRangePercent
      Accuracy range as percentage (e.g., 40 means ±40%).
    • capexBreakdown

      private final Map<String,Double> capexBreakdown
      Detailed CAPEX breakdown by category.
    • opexBreakdown

      private final Map<String,Double> opexBreakdown
      Detailed OPEX breakdown by category.
  • Constructor Details

  • Method Details

    • builder

      Creates a new builder for constructing an EconomicsReport.
      Returns:
      a new Builder instance
    • getFacilityCapexMUSD

      public double getFacilityCapexMUSD()
      Gets the facility base CAPEX in million USD.

      Includes platform, FPSO, or subsea template costs adjusted for water depth.

      Returns:
      facility CAPEX in MUSD
    • getEquipmentCapexMUSD

      public double getEquipmentCapexMUSD()
      Gets the process equipment CAPEX in million USD.

      Includes all topside or subsea process equipment: separation, compression, dehydration, gas treatment, etc.

      Returns:
      equipment CAPEX in MUSD
    • getWellCapexMUSD

      public double getWellCapexMUSD()
      Gets the well CAPEX in million USD.

      Includes drilling and completion costs for all producer and injector wells.

      Returns:
      well CAPEX in MUSD
    • getInfrastructureCapexMUSD

      public double getInfrastructureCapexMUSD()
      Gets the infrastructure CAPEX in million USD.

      Includes pipelines, flowlines, umbilicals, and other tie-in infrastructure.

      Returns:
      infrastructure CAPEX in MUSD
    • getTotalCapexMUSD

      public double getTotalCapexMUSD()
      Gets the total CAPEX in million USD.

      Sum of facility, equipment, wells, and infrastructure CAPEX. This is the headline number for concept comparison.

      Returns:
      total CAPEX in MUSD
    • getAnnualOpexMUSD

      public double getAnnualOpexMUSD()
      Gets the annual OPEX in million USD per year.

      Includes maintenance, power, logistics, and other recurring costs. Based on percentage of CAPEX plus power-specific costs.

      Returns:
      annual OPEX in MUSD/year
    • getCapexPerBoeUSD

      public double getCapexPerBoeUSD()
      Gets the CAPEX per barrel of oil equivalent in USD.

      Useful for comparing capital intensity across different concept sizes. Calculated as: Total CAPEX / Annual Production (first year).

      Returns:
      CAPEX per boe in USD
    • getOpexPerBoeUSD

      public double getOpexPerBoeUSD()
      Gets the OPEX per barrel of oil equivalent in USD.

      Useful for comparing operating efficiency across concepts. Calculated as: Annual OPEX / Annual Production.

      Returns:
      OPEX per boe in USD
    • getAccuracyRangePercent

      public double getAccuracyRangePercent()
      Gets the accuracy range as a percentage.

      For screening estimates, this is typically ±40% (AACE Class 5). Use getCapexLowMUSD() and getCapexHighMUSD() for range bounds.

      Returns:
      accuracy range in percent (e.g., 40 means ±40%)
    • getCapexBreakdown

      public Map<String,Double> getCapexBreakdown()
      Gets the CAPEX breakdown by category.

      Returns a defensive copy of the internal map. Keys include: "facility", "equipment", "wells", "infrastructure".

      Returns:
      map of category name to cost in MUSD
    • getOpexBreakdown

      public Map<String,Double> getOpexBreakdown()
      Gets the OPEX breakdown by category.

      Returns a defensive copy of the internal map. Keys include: "maintenance", "power".

      Returns:
      map of category name to annual cost in MUSD
    • getCapexLowMUSD

      public double getCapexLowMUSD()
      Gets CAPEX range (low estimate).
      Returns:
      low CAPEX estimate
    • getCapexHighMUSD

      public double getCapexHighMUSD()
      Gets CAPEX range (high estimate).
      Returns:
      high CAPEX estimate
    • getSummary

      public String getSummary()
      Gets summary suitable for reporting.
      Returns:
      summary string
    • toString

      public String toString()
      Overrides:
      toString in class Object