Class ProductionProfile.ProductionForecast

java.lang.Object
neqsim.process.util.fielddevelopment.ProductionProfile.ProductionForecast
All Implemented Interfaces:
Serializable
Enclosing class:
ProductionProfile

public static final class ProductionProfile.ProductionForecast extends Object implements Serializable
Complete production forecast with plateau and decline phases.

Contains the full time series of production points along with summary statistics and the parameters used to generate the forecast.

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

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • profile

      private final List<ProductionProfile.ProductionPoint> profile
    • plateauRate

      private final double plateauRate
    • actualPlateauRate

      private final double actualPlateauRate
    • plateauDuration

      private final double plateauDuration
    • actualPlateauDuration

      private final double actualPlateauDuration
    • economicLimit

      private final double economicLimit
    • totalRecovery

      private final double totalRecovery
    • economicLifeYears

      private final double economicLifeYears
    • declineParams

      private final ProductionProfile.DeclineParameters declineParams
  • Constructor Details

    • ProductionForecast

      public ProductionForecast(List<ProductionProfile.ProductionPoint> profile, double plateauRate, double actualPlateauRate, double plateauDuration, double actualPlateauDuration, double economicLimit, double totalRecovery, double economicLifeYears, ProductionProfile.DeclineParameters declineParams)
      Creates a production forecast.
      Parameters:
      profile - list of production points
      plateauRate - requested plateau rate
      actualPlateauRate - achieved plateau rate (may be lower due to constraints)
      plateauDuration - requested plateau duration in years
      actualPlateauDuration - achieved plateau duration
      economicLimit - minimum economic rate
      totalRecovery - total cumulative production
      economicLifeYears - years until economic limit reached
      declineParams - decline parameters used
  • Method Details

    • getProfile

      Gets the production profile as an unmodifiable list.
      Returns:
      list of production points
    • getPlateauRate

      public double getPlateauRate()
      Gets the requested plateau rate.
      Returns:
      plateau rate
    • getActualPlateauRate

      public double getActualPlateauRate()
      Gets the actual achieved plateau rate.
      Returns:
      actual plateau rate (may be lower than requested if constrained)
    • getPlateauDuration

      public double getPlateauDuration()
      Gets the requested plateau duration in years.
      Returns:
      plateau duration
    • getActualPlateauDuration

      public double getActualPlateauDuration()
      Gets the actual plateau duration.
      Returns:
      actual plateau duration (may be shorter if reservoir can't sustain rate)
    • getEconomicLimit

      public double getEconomicLimit()
      Gets the economic limit rate.
      Returns:
      economic limit
    • getTotalRecovery

      public double getTotalRecovery()
      Gets the total cumulative recovery.
      Returns:
      total recovery over forecast period
    • getEconomicLifeYears

      public double getEconomicLifeYears()
      Gets the economic life in years.
      Returns:
      years until production falls below economic limit
    • getDeclineParams

      public ProductionProfile.DeclineParameters getDeclineParams()
      Gets the decline parameters used for the forecast.
      Returns:
      decline parameters
    • toMarkdownTable

      public String toMarkdownTable()
      Generates a Markdown table representation of the forecast.
      Returns:
      Markdown formatted table
    • toCSV

      public String toCSV()
      Exports the forecast to CSV format.
      Returns:
      CSV string with header row