@@ -796,14 +796,28 @@ def __init__(self, model: Model):
796
796
)
797
797
self .wellcorrelation = self .ParameterDict [self .wellcorrelation .Name ] = intParameter (
798
798
"Well Drilling Cost Correlation" ,
799
- DefaultValue = WellDrillingCostCorrelation .VERTICAL_SMALL ,
800
- AllowableRange = [1 , 2 , 3 , 4 , 5 ],
799
+ DefaultValue = WellDrillingCostCorrelation .VERTICAL_LARGE_INT1 ,
800
+ AllowableRange = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 ],
801
801
UnitType = Units .NONE ,
802
- ErrMessage = "assume default well drilling cost correlation (1)" ,
803
- ToolTipText = "Select the built-in horizontal well drilling and completion cost correlation." +
804
- " 1: vertical open-hole, small diameter; 2: deviated liner, small diameter;" +
805
- " 3: vertical open-hole, large diameter; 4: deviated liner, large diameter;" +
806
- " 5: Simple - user specified cost per meter"
802
+ ErrMessage = "assume default well drilling cost correlation (10)" ,
803
+ ToolTipText = """Select the built-in well drilling and completion cost correlation:
804
+ 1. vertical small diameter, baseline;
805
+ 2. deviated small diameter, baseline;
806
+ 3. vertical large diameter, baseline;
807
+ 4. deviated large diameter, baseline;
808
+ 5. Simple;
809
+ 6. vertical small diameter, intermediate1;
810
+ 7. vertical small diameter, intermediate2;
811
+ 8. deviated small diameter, intermediate1;
812
+ 9. deviated small diameter, intermediate2;
813
+ 10. vertical large diameter, intermediate1;
814
+ 11. vertical large diameter, intermediate2;
815
+ 12. deviated large diameter, intermediate1;
816
+ 13. deviated large diameter, intermediate2;
817
+ 14. vertical open-hole, small diameter, ideal;
818
+ 15. deviated liner, small diameter, ideal;
819
+ 16. vertical open-hole, large diameter, ideal;
820
+ 17. deviated liner, large diameter, ideal;"""
807
821
)
808
822
self .DoAddOnCalculations = self .ParameterDict [self .DoAddOnCalculations .Name ] = boolParameter (
809
823
"Do AddOn Calculations" ,
@@ -1645,13 +1659,39 @@ def read_parameters(self, model: Model) -> None:
1645
1659
if ParameterReadIn .sValue == '1' :
1646
1660
ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_SMALL
1647
1661
elif ParameterReadIn .sValue == '2' :
1648
- self . wellcorrelation .value = WellDrillingCostCorrelation .DEVIATED_SMALL
1662
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_SMALL
1649
1663
elif ParameterReadIn .sValue == '3' :
1650
- self . wellcorrelation .value = WellDrillingCostCorrelation .VERTICAL_LARGE
1664
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_LARGE
1651
1665
elif ParameterReadIn .sValue == '4' :
1652
- self .wellcorrelation .value = WellDrillingCostCorrelation .DEVIATED_LARGE
1666
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_LARGE
1667
+ elif ParameterReadIn .sValue == '5' :
1668
+ ParameterToModify .value = WellDrillingCostCorrelation .SIMPLE
1669
+ elif ParameterReadIn .sValue == '6' :
1670
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_SMALL_INT1
1671
+ elif ParameterReadIn .sValue == '7' :
1672
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_SMALL_INT2
1673
+ elif ParameterReadIn .sValue == '8' :
1674
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_SMALL_INT1
1675
+ elif ParameterReadIn .sValue == '9' :
1676
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_SMALL_INT2
1677
+ elif ParameterReadIn .sValue == '10' :
1678
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_LARGE_INT1
1679
+ elif ParameterReadIn .sValue == '11' :
1680
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_LARGE_INT2
1681
+ elif ParameterReadIn .sValue == '12' :
1682
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_LARGE_INT1
1683
+ elif ParameterReadIn .sValue == '13' :
1684
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_LARGE_INT2
1685
+ elif ParameterReadIn .sValue == '14' :
1686
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_SMALL_IDEAL
1687
+ elif ParameterReadIn .sValue == '15' :
1688
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_SMALL_IDEAL
1689
+ elif ParameterReadIn .sValue == '16' :
1690
+ ParameterToModify .value = WellDrillingCostCorrelation .VERTICAL_LARGE_IDEAL
1691
+ elif ParameterReadIn .sValue == '17' :
1692
+ ParameterToModify .value = WellDrillingCostCorrelation .DEVIATED_LARGE_IDEAL
1653
1693
else :
1654
- self . wellcorrelation . value = WellDrillingCostCorrelation .SIMPLE
1694
+ ParameterToModify . value = WellDrillingCostCorrelation .SIMPLE # Assuming 'SIMPLE' is still a valid option
1655
1695
elif ParameterToModify .Name == "Reservoir Stimulation Capital Cost Adjustment Factor" :
1656
1696
if self .ccstimfixed .Valid and ParameterToModify .Valid :
1657
1697
print ("Warning: Provided reservoir stimulation cost adjustment factor not considered" +
@@ -2055,18 +2095,37 @@ def Calculate(self, model: Model) -> None:
2055
2095
'm' ).magnitude * 1E-6
2056
2096
2057
2097
elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_SMALL :
2058
- self .C1well = ((0.3021 * checkdepth_m ** 2 + 584.9112 * checkdepth_m + 751368. )
2059
- * 1E-6 ) # well drilling and completion cost in M$/well
2060
-
2061
- elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_SMALL :
2062
- self .C1well = (0.2898 * checkdepth_m ** 2 + 822.1507 * checkdepth_m + 680563. ) * 1E-6
2063
-
2098
+ self .C1well = (0.30212 * checkdepth_m ** 2 + 584.91124 * checkdepth_m + 751368.47270 ) * 1E-6
2064
2099
elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_LARGE :
2065
- self .C1well = (0.2818 * checkdepth_m ** 2 + 1275.5213 * checkdepth_m + 632315. ) * 1E-6
2066
-
2100
+ self .C1well = (0.28180 * checkdepth_m ** 2 + 1275.52130 * checkdepth_m + 632315.12640 ) * 1E-6
2101
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_SMALL :
2102
+ self .C1well = (0.28977 * checkdepth_m ** 2 + 882.15067 * checkdepth_m + 680562.50150 ) * 1E-6
2067
2103
elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_LARGE :
2068
- self .C1well = (0.2553 * checkdepth_m ** 2 + 1716.7157 * checkdepth_m + 500867. ) * 1E-6
2069
-
2104
+ self .C1well = (0.25528 * checkdepth_m ** 2 + 1716.71568 * checkdepth_m + 500866.89110 ) * 1E-6
2105
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_SMALL_INT1 :
2106
+ self .C1well = (0.13710 * checkdepth_m ** 2 + 129.61033 * checkdepth_m + 1205587.57100 ) * 1E-6
2107
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_LARGE_INT1 :
2108
+ self .C1well = (0.18927 * checkdepth_m ** 2 + 293.45174 * checkdepth_m + 1326526.31300 ) * 1E-6
2109
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_SMALL_INT1 :
2110
+ self .C1well = (0.15340 * checkdepth_m ** 2 + 120.31700 * checkdepth_m + 1431801.54400 ) * 1E-6
2111
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_LARGE_INT1 :
2112
+ self .C1well = (0.19950 * checkdepth_m ** 2 + 296.13011 * checkdepth_m + 1697867.70900 ) * 1E-6
2113
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_SMALL_INT2 :
2114
+ self .C1well = (0.00804 * checkdepth_m ** 2 + 455.60507 * checkdepth_m + 921007.68680 ) * 1E-6
2115
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_LARGE_INT2 :
2116
+ self .C1well = (0.00315 * checkdepth_m ** 2 + 782.69676 * checkdepth_m + 983620.25270 ) * 1E-6
2117
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_SMALL_INT2 :
2118
+ self .C1well = (0.00854 * checkdepth_m ** 2 + 506.08357 * checkdepth_m + 1057330.39000 ) * 1E-6
2119
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_LARGE_INT2 :
2120
+ self .C1well = (0.00380 * checkdepth_m ** 2 + 838.90249 * checkdepth_m + 1181947.04400 ) * 1E-6
2121
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_SMALL_IDEAL :
2122
+ self .C1well = (0.00252 * checkdepth_m ** 2 + 439.44503 * checkdepth_m + 590611.90110 ) * 1E-6
2123
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .VERTICAL_LARGE_IDEAL :
2124
+ self .C1well = (- 0.00240 * checkdepth_m ** 2 + 752.93946 * checkdepth_m + 524337.65380 ) * 1E-6
2125
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_SMALL_IDEAL :
2126
+ self .C1well = (0.00719 * checkdepth_m ** 2 + 455.85233 * checkdepth_m + 753377.73080 ) * 1E-6
2127
+ elif self .wellcorrelation .value == WellDrillingCostCorrelation .DEVIATED_LARGE_IDEAL :
2128
+ self .C1well = (0.00376 * checkdepth_m ** 2 + 762.52696 * checkdepth_m + 765103.07690 ) * 1E-6
2070
2129
# account for adjustment factor
2071
2130
self .C1well = self .ccwelladjfactor .value * self .C1well
2072
2131
0 commit comments