Class RegionalCostFactors

java.lang.Object
neqsim.process.fielddevelopment.screening.RegionalCostFactors
All Implemented Interfaces:
Serializable

public final class RegionalCostFactors extends Object implements Serializable
Regional cost adjustment factors for field development economics.

This class provides location-specific multipliers to adjust base cost estimates for different regions worldwide. The base costs in EconomicsEstimator are calibrated for the Norwegian Continental Shelf (NCS). Use these factors to adjust estimates for other regions.

Factor Categories

  • CAPEX Factor: Multiplier for capital costs (facilities, equipment, wells)
  • OPEX Factor: Multiplier for operating costs
  • Well Cost Factor: Specific adjustment for drilling and completion
  • Labor Factor: Adjustment for local labor costs

Cost Variation Drivers

Regional cost differences are driven by:

  • Labor costs and productivity
  • Material and equipment logistics
  • Regulatory requirements and compliance
  • Infrastructure availability
  • Weather/environmental conditions
  • Local content requirements

Example Usage

// Get factors for Brazil
RegionalCostFactors brazilFactors = RegionalCostFactors.forRegion("BR");

// Apply to NCS-based estimate
double ncsCAPEX = 800; // MUSD
double brazilCAPEX = ncsCAPEX * brazilFactors.getCapexFactor();

// Use with EconomicsEstimator
EconomicsEstimator estimator = new EconomicsEstimator();
EconomicsReport ncsReport = estimator.estimate(concept, facility);
double adjustedCAPEX = ncsReport.getTotalCapexMUSD() * brazilFactors.getCapexFactor();

Data Sources

Cost factors are based on industry benchmarks and public data. They represent typical ratios relative to NCS costs and should be validated against project-specific data for detailed estimates.

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

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • REGISTRY

      private static final Map<String, RegionalCostFactors> REGISTRY
    • regionCode

      private final String regionCode
    • regionName

      private final String regionName
    • capexFactor

      private final double capexFactor
    • opexFactor

      private final double opexFactor
    • wellCostFactor

      private final double wellCostFactor
    • laborFactor

      private final double laborFactor
    • notes

      private final String notes
  • Constructor Details

    • RegionalCostFactors

      public RegionalCostFactors(String regionCode, String regionName, double capexFactor, double opexFactor, double wellCostFactor, double laborFactor, String notes)
      Creates regional cost factors.
      Parameters:
      regionCode - region code (e.g., "BR", "US-GOM")
      regionName - full region name
      capexFactor - CAPEX multiplier relative to NCS (1.0 = NCS baseline)
      opexFactor - OPEX multiplier relative to NCS
      wellCostFactor - well cost multiplier relative to NCS
      laborFactor - labor cost multiplier relative to NCS
      notes - additional notes about the region
    • RegionalCostFactors

      public RegionalCostFactors(String regionCode, String regionName, double overallFactor)
      Creates regional cost factors with a single overall factor.
      Parameters:
      regionCode - region code
      regionName - full region name
      overallFactor - single factor applied to all cost categories
  • Method Details

    • forRegion

      public static RegionalCostFactors forRegion(String regionCode)
      Gets cost factors for a predefined region.
      Parameters:
      regionCode - region code (e.g., "BR", "US-GOM", "NO")
      Returns:
      cost factors, or null if not found
    • forRegionOrDefault

      public static RegionalCostFactors forRegionOrDefault(String regionCode)
      Gets cost factors for a region, with fallback to baseline.
      Parameters:
      regionCode - region code
      Returns:
      cost factors (NCS baseline if region not found)
    • isRegistered

      public static boolean isRegistered(String regionCode)
      Checks if a region is registered.
      Parameters:
      regionCode - region code
      Returns:
      true if registered
    • getAllRegions

      public static Map<String, RegionalCostFactors> getAllRegions()
      Gets all registered regions.
      Returns:
      unmodifiable map of all regions
    • register

      public static void register(RegionalCostFactors factors)
      Registers a custom region.
      Parameters:
      factors - cost factors to register
    • getRegionCode

      public String getRegionCode()
      Gets the region code.
      Returns:
      region code
    • getRegionName

      public String getRegionName()
      Gets the region name.
      Returns:
      region name
    • getCapexFactor

      public double getCapexFactor()
      Gets the CAPEX adjustment factor.

      Multiply NCS-based CAPEX by this factor to get regional estimate.

      Returns:
      CAPEX factor (1.0 = NCS baseline)
    • getOpexFactor

      public double getOpexFactor()
      Gets the OPEX adjustment factor.
      Returns:
      OPEX factor
    • getWellCostFactor

      public double getWellCostFactor()
      Gets the well cost adjustment factor.
      Returns:
      well cost factor
    • getLaborFactor

      public double getLaborFactor()
      Gets the labor cost adjustment factor.
      Returns:
      labor factor
    • getNotes

      public String getNotes()
      Gets notes about the region.
      Returns:
      notes
    • adjustCapex

      public double adjustCapex(double ncsCAPEX)
      Adjusts a CAPEX value from NCS baseline to this region.
      Parameters:
      ncsCAPEX - CAPEX in NCS terms
      Returns:
      adjusted CAPEX for this region
    • adjustOpex

      public double adjustOpex(double ncsOPEX)
      Adjusts an OPEX value from NCS baseline to this region.
      Parameters:
      ncsOPEX - OPEX in NCS terms
      Returns:
      adjusted OPEX for this region
    • adjustWellCost

      public double adjustWellCost(double ncsWellCost)
      Adjusts a well cost from NCS baseline to this region.
      Parameters:
      ncsWellCost - well cost in NCS terms
      Returns:
      adjusted well cost for this region
    • getOverallFactor

      public double getOverallFactor()
      Gets the overall weighted cost factor.

      Calculated as weighted average of CAPEX (60%), OPEX (25%), and well costs (15%).

      Returns:
      weighted overall factor
    • getSummaryTable

      public static String getSummaryTable()
      Gets a summary table of all registered regions.
      Returns:
      formatted table string
    • repeatChar

      private static String repeatChar(char c, int n)
    • truncate

      private static String truncate(String s, int maxLen)
    • toString

      public String toString()
      Overrides:
      toString in class Object