Class FieldProductionScheduler.ProductionSchedule

java.lang.Object
neqsim.process.util.fielddevelopment.FieldProductionScheduler.ProductionSchedule
All Implemented Interfaces:
Serializable
Enclosing class:
FieldProductionScheduler

public static final class FieldProductionScheduler.ProductionSchedule extends Object implements Serializable
Complete production schedule result.
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • fieldName

      private final String fieldName
    • startDate

      private final LocalDate startDate
    • steps

    • rateUnit

      private final String rateUnit
    • totalGrossRevenue

      private double totalGrossRevenue
    • totalNPV

      private double totalNPV
    • fieldLifeYears

      private double fieldLifeYears
  • Constructor Details

    • ProductionSchedule

      public ProductionSchedule(String fieldName, LocalDate startDate, String rateUnit)
      Creates a production schedule.
      Parameters:
      fieldName - field name
      startDate - schedule start date
      rateUnit - rate unit for display
  • Method Details

    • addStep

    • setTotalGrossRevenue

      void setTotalGrossRevenue(double value)
    • setTotalNPV

      void setTotalNPV(double value)
    • setFieldLifeYears

      void setFieldLifeYears(double value)
    • getFieldName

      public String getFieldName()
    • getStartDate

      public LocalDate getStartDate()
    • getSteps

    • getRateUnit

      public String getRateUnit()
    • getCumulativeGas

      public double getCumulativeGas(String unit)
      Gets cumulative gas production.
      Parameters:
      unit - "Sm3", "MSm3", "GSm3", or "Bcf"
      Returns:
      cumulative gas in requested unit
    • getCumulativeOil

      public double getCumulativeOil(String unit)
      Gets cumulative oil production.
      Parameters:
      unit - "Sm3", "MSm3", "Mbbl", or "MMbbl"
      Returns:
      cumulative oil in requested unit
    • getFieldLife

      public double getFieldLife(String unit)
      Gets field life (time to economic limit).
      Parameters:
      unit - "years", "months", or "days"
      Returns:
      field life in requested unit
    • getGrossRevenue

      public double getGrossRevenue()
    • getNPV

      public double getNPV()
    • toMarkdownTable

      public String toMarkdownTable()
      Generates a markdown table of the schedule.
      Returns:
      markdown formatted table
    • toCsv

      public String toCsv()
      Exports schedule to CSV format.
      Returns:
      CSV formatted string