@@ -749,17 +749,17 @@ def __init__(self, model: Model):
749
749
CurrentUnits = LengthUnit .INCHES ,
750
750
Required = True ,
751
751
ErrMessage = "assume default injection well diameter (8 inch)" ,
752
- ToolTipText = "Inner diameter of production wellbore (assumed constant along the wellbore) to calculate \
753
- frictional pressure drop and wellbore heat transmission with Rameys model"
752
+ ToolTipText = "Inner diameter of production wellbore (assumed constant along the wellbore) to calculate "
753
+ " frictional pressure drop and wellbore heat transmission with Rameys model"
754
754
)
755
755
self .rameyoptionprod = self .ParameterDict [self .rameyoptionprod .Name ] = boolParameter (
756
756
"Ramey Production Wellbore Model" ,
757
757
DefaultValue = True ,
758
758
UnitType = Units .NONE ,
759
759
Required = True ,
760
760
ErrMessage = "assume default production wellbore model (Ramey model active)" ,
761
- ToolTipText = "Select whether to use Rameys model to estimate the geofluid temperature drop in the \
762
- production wells"
761
+ ToolTipText = "Select whether to use Rameys model to estimate the geofluid temperature drop in the "
762
+ " production wells"
763
763
)
764
764
self .tempdropprod = self .ParameterDict [self .tempdropprod .Name ] = floatParameter (
765
765
"Production Wellbore Temperature Drop" ,
@@ -796,16 +796,20 @@ def __init__(self, model: Model):
796
796
)
797
797
self .impedance = self .ParameterDict [self .impedance .Name ] = floatParameter (
798
798
"Reservoir Impedance" ,
799
+
800
+ # Note default/input value units are converted as a special case in read_parameters; see
801
+ # https://github.com/NREL/GEOPHIRES-X/blob/d51eb8d1dc8b21c7a79c4d35f296d740347658e0/src/geophires_x/WellBores.py#L1280-L1282
799
802
DefaultValue = 1000.0 ,
803
+
800
804
Min = 1E-4 ,
801
805
Max = 1E4 ,
802
806
UnitType = Units .IMPEDANCE ,
803
807
PreferredUnits = ImpedanceUnit .GPASPERM3 ,
804
808
CurrentUnits = ImpedanceUnit .GPASPERM3 ,
805
809
ErrMessage = "assume default reservoir impedance (0.1 GPa*s/m^3)" ,
806
- ToolTipText = "Reservoir resistance to flow per well-pair. For EGS-type reservoirs when the injection well \
807
- is in hydraulic communication with the production well, this parameter specifies the overall pressure drop \
808
- in the reservoir between injection well and production well (see docs)"
810
+ ToolTipText = "Reservoir resistance to flow per well-pair. For EGS-type reservoirs when the injection well "
811
+ " is in hydraulic communication with the production well, this parameter specifies the overall "
812
+ "pressure drop in the reservoir between injection well and production well (see docs)"
809
813
)
810
814
self .wellsep = self .ParameterDict [self .wellsep .Name ] = floatParameter (
811
815
"Well Separation" ,
@@ -839,8 +843,8 @@ def __init__(self, model: Model):
839
843
PreferredUnits = PressureUnit .KPASCAL ,
840
844
CurrentUnits = PressureUnit .KPASCAL ,
841
845
ErrMessage = "calculate reservoir hydrostatic pressure using built-in correlation" ,
842
- ToolTipText = "Reservoir hydrostatic far-field pressure. Default value is calculated with built-in modified \
843
- Xie-Bloomfield-Shook equation (DOE, 2016)."
846
+ ToolTipText = "Reservoir hydrostatic far-field pressure. Default value is calculated with built-in modified "
847
+ " Xie-Bloomfield-Shook equation (DOE, 2016)."
844
848
)
845
849
self .ppwellhead = self .ParameterDict [self .ppwellhead .Name ] = floatParameter (
846
850
"Production Wellhead Pressure" ,
@@ -862,8 +866,8 @@ def __init__(self, model: Model):
862
866
PreferredUnits = InjectivityIndexUnit .KGPERSECPERBAR ,
863
867
CurrentUnits = InjectivityIndexUnit .KGPERSECPERBAR ,
864
868
ErrMessage = "assume default injectivity index (10 kg/s/bar)" ,
865
- ToolTipText = "Injectivity index defined as ratio of injection well flow rate over injection well outflow \
866
- pressure drop (flowing bottom hole pressure - hydrostatic reservoir pressure)."
869
+ ToolTipText = "Injectivity index defined as ratio of injection well flow rate over injection well outflow "
870
+ " pressure drop (flowing bottom hole pressure - hydrostatic reservoir pressure)."
867
871
)
868
872
self .PI = self .ParameterDict [self .PI .Name ] = floatParameter (
869
873
"Productivity Index" ,
@@ -874,8 +878,8 @@ def __init__(self, model: Model):
874
878
PreferredUnits = ProductivityIndexUnit .KGPERSECPERBAR ,
875
879
CurrentUnits = ProductivityIndexUnit .KGPERSECPERBAR ,
876
880
ErrMessage = "assume default productivity index (10 kg/s/bar)" ,
877
- ToolTipText = "Productivity index defined as ratio of production well flow rate over production well inflow \
878
- pressure drop (see docs)"
881
+ ToolTipText = "Productivity index defined as ratio of production well flow rate over production well inflow "
882
+ " pressure drop (see docs)"
879
883
)
880
884
self .maxdrawdown = self .ParameterDict [self .maxdrawdown .Name ] = floatParameter (
881
885
"Maximum Drawdown" ,
@@ -886,10 +890,10 @@ def __init__(self, model: Model):
886
890
PreferredUnits = PercentUnit .TENTH ,
887
891
CurrentUnits = PercentUnit .TENTH ,
888
892
ErrMessage = "assume default maximum drawdown (1)" ,
889
- ToolTipText = "Maximum allowable thermal drawdown before redrilling of all wells into new reservoir \
890
- (most applicable to EGS-type reservoirs with heat farming strategies). E.g. a value of 0.2 means that \
891
- all wells are redrilled after the production temperature (at the wellhead) has dropped by 20% of \
892
- its initial temperature"
893
+ ToolTipText = "Maximum allowable thermal drawdown before redrilling of all wells into new reservoir "
894
+ " (most applicable to EGS-type reservoirs with heat farming strategies). E.g. a value of 0.2 "
895
+ "means that all wells are redrilled after the production temperature (at the wellhead) has "
896
+ "dropped by 20% of its initial temperature"
893
897
)
894
898
self .IsAGS = self .ParameterDict [self .IsAGS .Name ] = boolParameter (
895
899
"Is AGS" ,
@@ -946,7 +950,8 @@ def __init__(self, model: Model):
946
950
PreferredUnits = PressureUnit .KPASCAL ,
947
951
CurrentUnits = PressureUnit .KPASCAL ,
948
952
Required = False ,
949
- ErrMessage = "assume there is not an injection reservoir, so there is no injection reservoir initial pressure" ,
953
+ ErrMessage = "assume there is not an injection reservoir, so there is no injection reservoir initial "
954
+ "pressure" ,
950
955
ToolTipText = "enter the depth of the injection reservoir initial pressure (use lithostatic pressure)"
951
956
)
952
957
self .injection_reservoir_inflation_rate = self .ParameterDict [self .injection_reservoir_inflation_rate .Name ] = floatParameter (
@@ -956,7 +961,8 @@ def __init__(self, model: Model):
956
961
CurrentUnits = Inflation_RateUnit .KPASCALPERYEAR ,
957
962
Required = False ,
958
963
ErrMessage = "assume there is not an injection reservoir, so there is no injection reservoir inflation rate" ,
959
- ToolTipText = "enter the rate at which the pressure increases per year in the injection reservoir (1000 kPa/yr)"
964
+ ToolTipText = "enter the rate at which the pressure increases per year in the injection reservoir "
965
+ "(1000 kPa/yr)"
960
966
)
961
967
# This is a alias for "Well Geometry Configuration" - putting it here for backwards compatibility
962
968
self .Configuration = self .ParameterDict [self .Configuration .Name ] = intParameter (
@@ -1275,7 +1281,8 @@ def read_parameters(self, model: Model) -> None:
1275
1281
# impedance: impedance per well pair (input as GPa*s/m^3 and converted to KPa/kg/s
1276
1282
# (assuming 1000 for density; density will be corrected for later))
1277
1283
elif ParameterToModify .Name == "Reservoir Impedance" :
1278
- # shift it by a constant to make the units right, per line 619 of GEOPHIRES 2
1284
+ # shift it by a constant to make the units right, per line 619 of GEOPHIRES 2:
1285
+ # https://github.com/NREL/GEOPHIRES-v2/blob/08485b98ae02aeb7a5acd972f906b2ea81ae2647/GEOPHIRESv2.py#L610-L619
1279
1286
self .impedance .value = self .impedance .value * (1E6 / 1E3 )
1280
1287
self .impedancemodelused .value = True
1281
1288
if self .impedance .Provided is False :
0 commit comments