@@ -1775,6 +1775,14 @@ def __init__(self, model: Model):
1775
1775
UnitType = Units .CURRENCYFREQUENCY ,
1776
1776
PreferredUnits = CurrencyFrequencyUnit .MDOLLARSPERYEAR ,
1777
1777
CurrentUnits = CurrencyFrequencyUnit .MDOLLARSPERYEAR
1778
+ # TODO TooltipText to document how this is calculated
1779
+ )
1780
+ self .redrilling_annual_cost = self .OutputParameterDict [self .redrilling_annual_cost .Name ] = OutputParameter (
1781
+ Name = "Redrilling costs" ,
1782
+ UnitType = Units .CURRENCYFREQUENCY ,
1783
+ PreferredUnits = CurrencyFrequencyUnit .MDOLLARSPERYEAR ,
1784
+ CurrentUnits = CurrencyFrequencyUnit .MDOLLARSPERYEAR ,
1785
+ # FIXME WIP TooltipText
1778
1786
)
1779
1787
self .Cplant = self .OutputParameterDict [self .Cplant .Name ] = OutputParameter (
1780
1788
Name = "Surface Plant cost" ,
@@ -1809,7 +1817,7 @@ def __init__(self, model: Model):
1809
1817
UnitType = Units .CURRENCYFREQUENCY ,
1810
1818
PreferredUnits = CurrencyFrequencyUnit .MDOLLARSPERYEAR ,
1811
1819
CurrentUnits = CurrencyFrequencyUnit .MDOLLARSPERYEAR ,
1812
- ToolTipText = 'Assumes $3.5/1,000 gallons of water'
1820
+ ToolTipText = 'Assumes $3.5/1,000 gallons of water' # TODO parameterize
1813
1821
)
1814
1822
self .CCap = self .OutputParameterDict [self .CCap .Name ] = OutputParameter (
1815
1823
Name = "Total Capital Cost" ,
@@ -2521,8 +2529,10 @@ def Calculate(self, model: Model) -> None:
2521
2529
2522
2530
if model .wellbores .redrill .value > 0 :
2523
2531
# account for well redrilling
2524
- self .Coam .value = self .Coam .value + \
2525
- (self .Cwell .value + self .Cstim .value ) * model .wellbores .redrill .value / model .surfaceplant .plant_lifetime .value
2532
+ redrilling_costs : PlainQuantity = self .calculate_redrilling_costs (model )
2533
+ self .redrilling_annual_cost .value = redrilling_costs .to (self .redrilling_annual_cost .CurrentUnits ).magnitude
2534
+ self .Coam .value += redrilling_costs .to (self .Coam .CurrentUnits ).magnitude
2535
+
2526
2536
2527
2537
# Add in the AnnualLicenseEtc and TaxRelief
2528
2538
self .Coam .value = self .Coam .value + self .AnnualLicenseEtc .value - self .TaxRelief .value
@@ -2751,6 +2761,11 @@ def calculate_stimulation_costs(self, model: Model) -> PlainQuantity:
2751
2761
2752
2762
return quantity (stimulation_costs , self .Cstim .CurrentUnits )
2753
2763
2764
+ def calculate_redrilling_costs (self , model ) -> PlainQuantity :
2765
+ return ((self .Cwell .quantity () + self .Cstim .quantity ())
2766
+ * model .wellbores .redrill .quantity ()
2767
+ / model .surfaceplant .plant_lifetime .quantity ())
2768
+
2754
2769
def calculate_field_gathering_costs (self , model : Model ) -> None :
2755
2770
if self .ccgathfixed .Valid :
2756
2771
self .Cgath .value = self .ccgathfixed .value
@@ -3164,5 +3179,7 @@ def _calculate_derived_outputs(self, model: Model) -> None:
3164
3179
(model .wellbores .nprod .value + model .wellbores .ninj .value )
3165
3180
)
3166
3181
3182
+
3183
+
3167
3184
def __str__ (self ):
3168
3185
return "Economics"
0 commit comments