@@ -638,6 +638,8 @@ class Outputs:
638
638
This class handles all the outputs for the GEOPHIRESv3 model.
639
639
"""
640
640
641
+ VERTICAL_WELL_DEPTH_OUTPUT_NAME = 'Well depth'
642
+
641
643
def __init__ (self , model :Model , output_file :str = 'HDR.out' ):
642
644
model .logger .info (f'Init { __class__ !s} : { __name__ } ' )
643
645
self .ParameterDict = {}
@@ -860,7 +862,7 @@ def PrintOutputs(self, model: Model):
860
862
summary .append (OutputTableItem ('Number of injection wells' , '{0:10.0f}' .format (model .wellbores .ninj .value )))
861
863
summary .append (OutputTableItem ('Flowrate per production well' , '{0:10.1f}' .format (model .wellbores .prodwellflowrate .value ),
862
864
model .wellbores .prodwellflowrate .CurrentUnits .value ))
863
- summary .append (OutputTableItem ('Well depth (or total length, if not vertical)' ,
865
+ summary .append (OutputTableItem (Outputs . VERTICAL_WELL_DEPTH_OUTPUT_NAME ,
864
866
'{0:10.1f}' .format (model .reserv .depth .value ),
865
867
model .reserv .depth .CurrentUnits .value ))
866
868
@@ -926,7 +928,7 @@ def PrintOutputs(self, model: Model):
926
928
927
929
engineering_parameters .append (OutputTableItem ('Number of Production Wells' , '{0:10.0f}' .format (model .wellbores .nprod .value )))
928
930
engineering_parameters .append (OutputTableItem ('Number of Injection Wells' , '{0:10.0f}' .format (model .wellbores .ninj .value )))
929
- engineering_parameters .append (OutputTableItem ('Well depth (or total length, if not vertical)' ,
931
+ engineering_parameters .append (OutputTableItem (Outputs . VERTICAL_WELL_DEPTH_OUTPUT_NAME ,
930
932
'{0:10.1f}' .format (model .reserv .depth .value ),
931
933
model .reserv .depth .CurrentUnits .value ))
932
934
engineering_parameters .append (OutputTableItem ('Water loss rate' , '{0:10.1f}' .format (model .reserv .waterloss .value * 100 ),
@@ -1613,7 +1615,7 @@ def PrintOutputs(self, model: Model):
1613
1615
f .write (f' Number of production wells: { model .wellbores .nprod .value :10.0f} ' + NL )
1614
1616
f .write (f' Number of injection wells: { model .wellbores .ninj .value :10.0f} ' + NL )
1615
1617
f .write (f' Flowrate per production well: { model .wellbores .prodwellflowrate .value :10.1f} ' + model .wellbores .prodwellflowrate .CurrentUnits .value + NL )
1616
- f .write (f' Well depth (or total length, if not vertical): { model .reserv .depth .value :10.1f} ' + model .reserv .depth .CurrentUnits .value + NL )
1618
+ f .write (f' { Outputs . _field_label ( Outputs . VERTICAL_WELL_DEPTH_OUTPUT_NAME , 49 ) } { model .reserv .depth .value :10.1f} ' + model .reserv .depth .CurrentUnits .value + NL )
1617
1619
1618
1620
if model .reserv .numseg .value == 1 :
1619
1621
f .write (f' Geothermal gradient: { model .reserv .gradient .value [0 ]:10.4g} ' + model .reserv .gradient .CurrentUnits .value + NL )
@@ -1669,7 +1671,7 @@ def PrintOutputs(self, model: Model):
1669
1671
f .write (NL )
1670
1672
f .write (f' Number of Production Wells: { model .wellbores .nprod .value :10.0f} ' + NL )
1671
1673
f .write (f' Number of Injection Wells: { model .wellbores .ninj .value :10.0f} ' + NL )
1672
- f .write (f' Well depth (or total length, if not vertical): { model .reserv .depth .value :10.1f} ' + model .reserv .depth .CurrentUnits .value + NL )
1674
+ f .write (f' { Outputs . _field_label ( Outputs . VERTICAL_WELL_DEPTH_OUTPUT_NAME , 49 ) } { model .reserv .depth .value :10.1f} ' + model .reserv .depth .CurrentUnits .value + NL )
1673
1675
f .write (f' Water loss rate: { model .reserv .waterloss .value * 100 :10.1f} ' + model .reserv .waterloss .CurrentUnits .value + NL )
1674
1676
f .write (f' Pump efficiency: { model .surfaceplant .pump_efficiency .value :10.1f} ' + model .surfaceplant .pump_efficiency .CurrentUnits .value + NL )
1675
1677
f .write (f' Injection temperature: { model .wellbores .Tinj .value :10.1f} ' + model .wellbores .Tinj .CurrentUnits .value + NL )
@@ -1809,7 +1811,7 @@ def PrintOutputs(self, model: Model):
1809
1811
elif econ .cost_lateral_section .value > 0.0 :
1810
1812
f .write (f' Drilling and completion costs per vertical production well: { econ .cost_one_production_well .value :10.2f} ' + econ .cost_one_production_well .CurrentUnits .value + NL )
1811
1813
f .write (f' Drilling and completion costs per vertical injection well: { econ .cost_one_injection_well .value :10.2f} ' + econ .cost_one_injection_well .CurrentUnits .value + NL )
1812
- f .write (f' Drilling and completion costs per non-vertical sections: { econ .cost_lateral_section .value :10.2f} ' + econ .cost_lateral_section .CurrentUnits .value + NL )
1814
+ f .write (f' Drilling and completion costs per non-vertical section: { econ .cost_lateral_section .value :10.2f} ' + econ .cost_lateral_section .CurrentUnits .value + NL )
1813
1815
else :
1814
1816
f .write (f' Drilling and completion costs per well: { model .economics .Cwell .value / (model .wellbores .nprod .value + model .wellbores .ninj .value ):10.2f} ' + model .economics .Cwell .CurrentUnits .value + NL )
1815
1817
f .write (f' Stimulation costs: { model .economics .Cstim .value :10.2f} ' + model .economics .Cstim .CurrentUnits .value + NL )
@@ -1822,7 +1824,7 @@ def PrintOutputs(self, model: Model):
1822
1824
f .write (f' of which Peaking Boiler Cost: { model .economics .peakingboilercost .value :10.2f} ' + model .economics .peakingboilercost .CurrentUnits .value + NL )
1823
1825
f .write (f' Field gathering system costs: { model .economics .Cgath .value :10.2f} ' + model .economics .Cgath .CurrentUnits .value + NL )
1824
1826
if model .surfaceplant .piping_length .value > 0 :
1825
- f .write (f' Transmission pipeline cost { model .economics .Cpiping .value :10.2f} ' + model .economics .Cpiping .CurrentUnits .value + NL )
1827
+ f .write (f' Transmission pipeline cost: { model .economics .Cpiping .value :10.2f} ' + model .economics .Cpiping .CurrentUnits .value + NL )
1826
1828
if model .surfaceplant .plant_type .value == PlantType .DISTRICT_HEATING :
1827
1829
f .write (f' District Heating System Cost: { model .economics .dhdistrictcost .value :10.2f} ' + model .economics .dhdistrictcost .CurrentUnits .value + NL )
1828
1830
f .write (f' Total surface equipment costs: { (model .economics .Cplant .value + model .economics .Cgath .value ):10.2f} ' + model .economics .Cplant .CurrentUnits .value + NL )
@@ -2163,3 +2165,7 @@ def o(output_param: OutputParameter):
2163
2165
2164
2166
2165
2167
model .logger .info (f'Complete { __class__ !s} : { sys ._getframe ().f_code .co_name } ' )
2168
+
2169
+ @staticmethod
2170
+ def _field_label (field_name :str , print_width_before_value : int ) -> str :
2171
+ return f'{ field_name } :{ " " * (print_width_before_value - len (field_name ) - 1 )} '
0 commit comments