diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 5e85f5fa..abe21e9a 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.7.0 +current_version = 3.7.3 commit = True tag = True diff --git a/.cookiecutterrc b/.cookiecutterrc index 659adb46..8d23c40b 100644 --- a/.cookiecutterrc +++ b/.cookiecutterrc @@ -54,7 +54,7 @@ default_context: sphinx_doctest: "no" sphinx_theme: "sphinx-py3doc-enhanced-theme" test_matrix_separate_coverage: "no" - version: 3.7.0 + version: 3.7.3 version_manager: "bump2version" website: "https://github.com/NREL" year_from: "2023" diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f0c3b4e6..418a4002 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,6 +12,8 @@ GEOPHIRES-X (2023-2025) "Well depth (or total length, if not vertical)" output field renamed to "Well depth" per https://github.com/NREL/GEOPHIRES-X/issues/321 +3.7.3: Heat to Power Conversion Efficiency output added. + 3.6 ^^^ diff --git a/README.rst b/README.rst index 693f17d8..16b643f5 100644 --- a/README.rst +++ b/README.rst @@ -56,9 +56,9 @@ Free software: `MIT license `__ :alt: Supported implementations :target: https://pypi.org/project/geophires-x -.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.7.0.svg +.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.7.3.svg :alt: Commits since latest release - :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.7.0...main + :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.7.3...main .. |docs| image:: https://readthedocs.org/projects/GEOPHIRES-X/badge/?style=flat :target: https://nrel.github.io/GEOPHIRES-X diff --git a/docs/conf.py b/docs/conf.py index 9fd7d385..006089bf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ year = '2024' author = 'NREL' copyright = f'{year}, {author}' -version = release = '3.7.0' +version = release = '3.7.3' pygments_style = 'trac' templates_path = ['./templates'] diff --git a/setup.py b/setup.py index 8d089863..a6e3821b 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def read(*names, **kwargs): setup( name='geophires-x', - version='3.7.0', + version='3.7.3', license='MIT', description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.', long_description='{}\n{}'.format( diff --git a/src/geophires_x/Outputs.py b/src/geophires_x/Outputs.py index 75fa7156..1a5ce3af 100644 --- a/src/geophires_x/Outputs.py +++ b/src/geophires_x/Outputs.py @@ -23,7 +23,6 @@ PlantType from geophires_x.GeoPHIRESUtils import UpgradeSymbologyOfUnits, render_default, InsertImagesIntoHTML from geophires_x.Parameter import Parameter -from geophires_x.Units import convertible_unit, Units, PercentUnit NL = '\n' validFilenameChars = "-_.() %s%s" % (string.ascii_letters, string.digits) @@ -1912,6 +1911,11 @@ def PrintOutputs(self, model: Model): f.write(f' Average Pumping Power: {np.average(model.wellbores.PumpingPower.value):10.2f} {model.wellbores.PumpingPower.CurrentUnits.value}{NL}') + if model.surfaceplant.heat_to_power_conversion_efficiency.value is not None: + hpce = model.surfaceplant.heat_to_power_conversion_efficiency + f.write(f' {Outputs._field_label(hpce.Name, 50)}' + f'{hpce.value:10.2f} {model.surfaceplant.heat_to_power_conversion_efficiency.CurrentUnits.value}\n') + f.write(NL) f.write(' ************************************************************\n') f.write(' * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE *\n') diff --git a/src/geophires_x/Parameter.py b/src/geophires_x/Parameter.py index 5f3f2aaa..086f2f42 100644 --- a/src/geophires_x/Parameter.py +++ b/src/geophires_x/Parameter.py @@ -63,8 +63,8 @@ class OutputParameter(HasQuantity): """ Name: str = "" - value: int = 0 - ToolTipText: str = "This is ToolTip Text" + value: Any = 0 + ToolTipText: str = "" UnitType: IntEnum = Units.NONE PreferredUnits: Enum = Units.NONE # set to PreferredUnits by default assuming that the current units are the preferred units - diff --git a/src/geophires_x/SurfacePlant.py b/src/geophires_x/SurfacePlant.py index a6514c22..149bd0d7 100644 --- a/src/geophires_x/SurfacePlant.py +++ b/src/geophires_x/SurfacePlant.py @@ -2,6 +2,7 @@ import os import numpy as np +from .GeoPHIRESUtils import quantity from .OptionList import EndUseOptions, PlantType from .Parameter import floatParameter, intParameter, strParameter, OutputParameter, ReadParameter, \ coerce_int_params_to_enum_values @@ -486,7 +487,16 @@ def __init__(self, model: Model): Name="First Law Efficiency", UnitType=Units.PERCENT, PreferredUnits=PercentUnit.PERCENT, - CurrentUnits=PercentUnit.PERCENT + CurrentUnits=PercentUnit.PERCENT, # FIXME default values are actually in tenths, not percent. + ToolTipText='Net electricity produced divided by heat extracted towards electricity' + ) + self.heat_to_power_conversion_efficiency = self.OutputParameterDict[self.heat_to_power_conversion_efficiency.Name] = OutputParameter( + Name='Heat to Power Conversion Efficiency', + value=None, + UnitType=Units.PERCENT, + PreferredUnits=PercentUnit.PERCENT, + CurrentUnits=PercentUnit.PERCENT, + ToolTipText='First law efficiency average over project lifetime' ) self.HeatExtracted = self.OutputParameterDict[self.HeatExtracted.Name] = OutputParameter( Name="Heat Extracted", @@ -636,4 +646,20 @@ def Calculate(self, model: Model) -> None: # All calculations are handled in subclasses of this class, so this function is empty. + # Subclasses should call _calculate_derived_outputs at the end of their Calculate methods. + self._calculate_derived_outputs(model) + model.logger.info(f'Complete {self.__class__.__name__}: {__name__}') + + def _calculate_derived_outputs(self, model: Model) -> None: + """ + Subclasses should call _calculate_derived_outputs at the end of their Calculate methods to populate output + values that are derived from subclass-calculated outputs. + """ + + if self.FirstLawEfficiency is not None: + fle_unit = PercentUnit.TENTH # See FIXME on self.FirstLawEfficiency re: CurrentUnit being incorrect. + avg_efficiency = quantity(np.average(model.surfaceplant.FirstLawEfficiency.value), fle_unit).to( + convertible_unit(self.heat_to_power_conversion_efficiency.CurrentUnits)).magnitude + if avg_efficiency > 0: # 0 is presumed to mean N/A + self.heat_to_power_conversion_efficiency.value = avg_efficiency diff --git a/src/geophires_x/SurfacePlantAGS.py b/src/geophires_x/SurfacePlantAGS.py index eb35e2d6..ee666e01 100644 --- a/src/geophires_x/SurfacePlantAGS.py +++ b/src/geophires_x/SurfacePlantAGS.py @@ -783,4 +783,5 @@ def Calculate(self, model: Model) -> None: print(f'Error: {class_file_info_msg}. Exiting....') raise RuntimeError(base_msg) + self._calculate_derived_outputs(model) model.logger.info(f"complete {str(__class__)}: {sys._getframe().f_code.co_name}") diff --git a/src/geophires_x/SurfacePlantAbsorptionChiller.py b/src/geophires_x/SurfacePlantAbsorptionChiller.py index a382dc99..faf17757 100644 --- a/src/geophires_x/SurfacePlantAbsorptionChiller.py +++ b/src/geophires_x/SurfacePlantAbsorptionChiller.py @@ -141,4 +141,6 @@ def Calculate(self, model: Model) -> None: # calculate reservoir heat content self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) + + self._calculate_derived_outputs(model) model.logger.info(f"complete {self.__class__.__name__}: {__name__}") diff --git a/src/geophires_x/SurfacePlantDistrictHeating.py b/src/geophires_x/SurfacePlantDistrictHeating.py index 0851ff62..a4a9e8b4 100644 --- a/src/geophires_x/SurfacePlantDistrictHeating.py +++ b/src/geophires_x/SurfacePlantDistrictHeating.py @@ -249,6 +249,7 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) + self._calculate_derived_outputs(model) model.logger.info(f"Complete {self.__class__.__name__}: {__name__}") # district heating routines below diff --git a/src/geophires_x/SurfacePlantDoubleFlash.py b/src/geophires_x/SurfacePlantDoubleFlash.py index 238067d5..1b40822e 100644 --- a/src/geophires_x/SurfacePlantDoubleFlash.py +++ b/src/geophires_x/SurfacePlantDoubleFlash.py @@ -133,4 +133,5 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) + self._calculate_derived_outputs(model) model.logger.info(f'complete {self.__class__.__name__}: {__name__}') diff --git a/src/geophires_x/SurfacePlantHeatPump.py b/src/geophires_x/SurfacePlantHeatPump.py index 34f72e1c..35741df8 100644 --- a/src/geophires_x/SurfacePlantHeatPump.py +++ b/src/geophires_x/SurfacePlantHeatPump.py @@ -131,4 +131,5 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) - model.logger.info("complete " + str(__class__) + ": " + inspect.currentframe().f_code.co_name) + self._calculate_derived_outputs(model) + model.logger.info(f"complete {str(__class__)}: {inspect.currentframe().f_code.co_name}") diff --git a/src/geophires_x/SurfacePlantIndustrialHeat.py b/src/geophires_x/SurfacePlantIndustrialHeat.py index 5059f26c..d8a12a9e 100644 --- a/src/geophires_x/SurfacePlantIndustrialHeat.py +++ b/src/geophires_x/SurfacePlantIndustrialHeat.py @@ -98,4 +98,5 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) - model.logger.info("complete " + self.__class__.__name__ + ": " + __name__) + self._calculate_derived_outputs(model) + model.logger.info(f"complete {self.__class__.__name__}: {__name__}") diff --git a/src/geophires_x/SurfacePlantSUTRA.py b/src/geophires_x/SurfacePlantSUTRA.py index a985091a..441e2a6d 100644 --- a/src/geophires_x/SurfacePlantSUTRA.py +++ b/src/geophires_x/SurfacePlantSUTRA.py @@ -204,5 +204,6 @@ def Calculate(self, model: Model) -> None: # calculate maximum auxiliary boiler demand self.max_peaking_boiler_demand.value = max(self.AnnualAuxiliaryHeatProduced.value) + self._calculate_derived_outputs(model) model.logger.info(f"complete {self.__class__.__name__}: {self.__init__.__name__}") diff --git a/src/geophires_x/SurfacePlantSingleFlash.py b/src/geophires_x/SurfacePlantSingleFlash.py index bd845ab7..497b0d89 100644 --- a/src/geophires_x/SurfacePlantSingleFlash.py +++ b/src/geophires_x/SurfacePlantSingleFlash.py @@ -122,7 +122,7 @@ def Calculate(self, model: Model) -> None: self.NetElectricityProduced.value = self.ElectricityProduced.value - model.wellbores.PumpingPower.value self.FirstLawEfficiency.value = self.NetElectricityProduced.value/HeatExtractedTowardsElectricity - # Calculate annual electricity, pum;ping, and heat production + # Calculate annual electricity, pumping, and heat production self.HeatkWhExtracted.value, self.PumpingkWh.value, self.TotalkWhProduced.value, self.NetkWhProduced.value, self.HeatkWhProduced.value = \ SurfacePlant.annual_electricity_pumping_power(self, self.plant_lifetime.value, self.enduse_option.value, self.HeatExtracted.value, model.economics.timestepsperyear.value, self.utilization_factor.value, @@ -133,4 +133,5 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) - model.logger.info("complete " + str(__class__) + ": " + sys._getframe().f_code.co_name) + self._calculate_derived_outputs(model) + model.logger.info(f"complete {str(__class__)}: {sys._getframe().f_code.co_name}") diff --git a/src/geophires_x/SurfacePlantSubcriticalORC.py b/src/geophires_x/SurfacePlantSubcriticalORC.py index 3ce80f50..f1c481a8 100644 --- a/src/geophires_x/SurfacePlantSubcriticalORC.py +++ b/src/geophires_x/SurfacePlantSubcriticalORC.py @@ -131,4 +131,5 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) - model.logger.info("complete " + self.__class__.__name__ + ": " + __name__) + self._calculate_derived_outputs(model) + model.logger.info(f"complete {self.__class__.__name__}: {__name__}") diff --git a/src/geophires_x/SurfacePlantSupercriticalORC.py b/src/geophires_x/SurfacePlantSupercriticalORC.py index 8a115521..e418165d 100644 --- a/src/geophires_x/SurfacePlantSupercriticalORC.py +++ b/src/geophires_x/SurfacePlantSupercriticalORC.py @@ -130,4 +130,5 @@ def Calculate(self, model: Model) -> None: self.RemainingReservoirHeatContent.value = SurfacePlant.remaining_reservoir_heat_content( self, model.reserv.InitialReservoirHeatContent.value, self.HeatkWhExtracted.value) - model.logger.info("complete " + self.__class__.__name__ + ": " + __name__) + self._calculate_derived_outputs(model) + model.logger.info(f"complete {self.__class__.__name__}: {__name__}") diff --git a/src/geophires_x/__init__.py b/src/geophires_x/__init__.py index 8c3336cc..87c08592 100644 --- a/src/geophires_x/__init__.py +++ b/src/geophires_x/__init__.py @@ -1 +1 @@ -__version__ = '3.7.0' +__version__ = '3.7.3' diff --git a/src/geophires_x_client/geophires_x_result.py b/src/geophires_x_client/geophires_x_result.py index b6457de3..9b547f9e 100644 --- a/src/geophires_x_client/geophires_x_result.py +++ b/src/geophires_x_client/geophires_x_result.py @@ -277,9 +277,10 @@ class GeophiresXResult: 'Maximum Peaking Boiler Heat Production', 'Average Peaking Boiler Heat Production', 'Minimum Peaking Boiler Heat Production', + 'Initial pumping power/net installed power', + 'Heat to Power Conversion Efficiency', # AGS/CLGS 'Surface Plant Cost', - 'Initial pumping power/net installed power', # SUTRA 'Average RTES Heating Production', 'Average Auxiliary Heating Production', diff --git a/src/geophires_x_schema_generator/__init__.py b/src/geophires_x_schema_generator/__init__.py index fe4485b1..12707379 100644 --- a/src/geophires_x_schema_generator/__init__.py +++ b/src/geophires_x_schema_generator/__init__.py @@ -112,7 +112,7 @@ def generate_json_schema(self) -> dict: 'type': param['json_parameter_type'], 'units': units_val, 'category': param['parameter_category'], - 'default': param['DefaultValue'], + 'default': _fix_floating_point_error(param['DefaultValue']), 'minimum': min_val, 'maximum': max_val, } @@ -168,13 +168,15 @@ def get_input_params_table(category_params, category_name) -> str: # if param['Required']: # TODO designate required params + default_value = _fix_floating_point_error(_get_key(param, 'DefaultValue')) + min_val, max_val = _get_min_and_max(param) input_rst += f"""\n * - {param['Name']} - {_get_key(param, 'ToolTipText')} - {_get_key(param, 'PreferredUnits')} - {_get_key(param, 'json_parameter_type')} - - {_get_key(param, 'DefaultValue')} + - {default_value} - {min_val} - {max_val}""" @@ -210,6 +212,7 @@ def get_output_params_table_rst(self, output_params_json) -> str: :header-rows: 1 * - Name + - Description - Preferred Units - Default Value Type""" @@ -223,6 +226,7 @@ def get_key(k): return '' output_rst += f"""\n * - {param['Name']} + - {get_key('ToolTipText')} - {get_key('PreferredUnits')} - {get_key('json_parameter_type')}""" @@ -245,7 +249,14 @@ def _get_min_and_max(param: dict, default_val='') -> Tuple: min_val = min(param['AllowableRange']) max_val = max(param['AllowableRange']) - return (min_val, max_val) + return _fix_floating_point_error(min_val), _fix_floating_point_error(max_val) + + +def _fix_floating_point_error(val: Any) -> Any: + if '.0000' in str(val): + return format(float(val), '.1f') + + return val class HipRaXSchemaGenerator(GeophiresXSchemaGenerator): diff --git a/src/geophires_x_schema_generator/geophires-request.json b/src/geophires_x_schema_generator/geophires-request.json index 0db11c3f..395fa8d6 100644 --- a/src/geophires_x_schema_generator/geophires-request.json +++ b/src/geophires_x_schema_generator/geophires-request.json @@ -726,7 +726,7 @@ "category": "Well Bores", "default": 1.0, "minimum": 0.0, - "maximum": 1.000001 + "maximum": "1.0" }, "Is AGS": { "description": "Set to true if the model is for an Advanced Geothermal System (AGS)", @@ -2086,7 +2086,7 @@ "type": "number", "units": "%", "category": "Economics", - "default": 7.00, + "default": "7.0", "minimum": 0.0, "maximum": 100.0 }, diff --git a/tests/example1_addons.csv b/tests/example1_addons.csv index 84e0b1e1..9eb38097 100644 --- a/tests/example1_addons.csv +++ b/tests/example1_addons.csv @@ -98,7 +98,8 @@ SURFACE EQUIPMENT SIMULATION RESULTS,Average Annual Total Electricity Generation SURFACE EQUIPMENT SIMULATION RESULTS,Average Annual Net Electricity Generation,,42.3,GWh SURFACE EQUIPMENT SIMULATION RESULTS,Average Pumping Power,,0.2,MW SURFACE EQUIPMENT SIMULATION RESULTS,Initial pumping power/net installed power,,3.82,% -Simulation Metadata,GEOPHIRES Version,,3.7.0, +SURFACE EQUIPMENT SIMULATION RESULTS,Heat to Power Conversion Efficiency,,10.07,% +Simulation Metadata,GEOPHIRES Version,,3.7.1, POWER GENERATION PROFILE,THERMAL DRAWDOWN,1,1.0, POWER GENERATION PROFILE,THERMAL DRAWDOWN,2,1.0056, POWER GENERATION PROFILE,THERMAL DRAWDOWN,3,1.0073, diff --git a/tests/examples/Fervo_Norbeck_Latimer_2023.out b/tests/examples/Fervo_Norbeck_Latimer_2023.out index 76d5d0a5..3f660769 100644 --- a/tests/examples/Fervo_Norbeck_Latimer_2023.out +++ b/tests/examples/Fervo_Norbeck_Latimer_2023.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.454 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.443 sec ***SUMMARY OF RESULTS*** @@ -129,6 +129,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 17.70 GWh Initial pumping power/net installed power: 28.16 % Average Pumping Power: 0.63 MW + Heat to Power Conversion Efficiency: 9.95 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/Fervo_Project_Cape-2.out b/tests/examples/Fervo_Project_Cape-2.out index 9583bd75..f08e99ae 100644 --- a/tests/examples/Fervo_Project_Cape-2.out +++ b/tests/examples/Fervo_Project_Cape-2.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.685 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.684 sec ***SUMMARY OF RESULTS*** @@ -127,6 +127,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 69.67 GWh Initial pumping power/net installed power: 1.68 % Average Pumping Power: 0.15 MW + Heat to Power Conversion Efficiency: 16.00 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/Fervo_Project_Cape-3.out b/tests/examples/Fervo_Project_Cape-3.out index 10f6cf54..5a94acb3 100644 --- a/tests/examples/Fervo_Project_Cape-3.out +++ b/tests/examples/Fervo_Project_Cape-3.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.915 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.889 sec ***SUMMARY OF RESULTS*** @@ -128,6 +128,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 3171.75 GWh Initial pumping power/net installed power: 13.50 % Average Pumping Power: 53.73 MW + Heat to Power Conversion Efficiency: 14.39 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/Fervo_Project_Cape.out b/tests/examples/Fervo_Project_Cape.out index 6c422551..ad4650e9 100644 --- a/tests/examples/Fervo_Project_Cape.out +++ b/tests/examples/Fervo_Project_Cape.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.688 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.672 sec ***SUMMARY OF RESULTS*** @@ -127,6 +127,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 693.77 GWh Initial pumping power/net installed power: 19.31 % Average Pumping Power: 17.82 MW + Heat to Power Conversion Efficiency: 13.05 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/S-DAC-GT.out b/tests/examples/S-DAC-GT.out index d44e454a..49944183 100644 --- a/tests/examples/S-DAC-GT.out +++ b/tests/examples/S-DAC-GT.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.106 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.107 sec ***SUMMARY OF RESULTS*** @@ -128,6 +128,7 @@ Simulation Metadata Initial Net Heat Production: 14.05 MW Average Annual Heat Production: -4.73 GWh Average Pumping Power: 0.19 MW + Heat to Power Conversion Efficiency: 16.55 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery.out b/tests/examples/Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery.out index a0a12121..71da797a 100644 --- a/tests/examples/Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery.out +++ b/tests/examples/Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 1.659 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 1.658 sec ***SUMMARY OF RESULTS*** @@ -109,6 +109,7 @@ The AGS models contain an intrinsic reservoir model that doesn't expose values t Average Annual Net Electricity Generation: 8.63 GWh Initial pumping power/net installed power: 0.13 % Average Pumping Power: 0.00 MW + Heat to Power Conversion Efficiency: 5.16 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example1.out b/tests/examples/example1.out index f37c0087..f22f32db 100644 --- a/tests/examples/example1.out +++ b/tests/examples/example1.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 1.049 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.829 sec ***SUMMARY OF RESULTS*** @@ -126,6 +126,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 42.28 GWh Initial pumping power/net installed power: 3.82 % Average Pumping Power: 0.20 MW + Heat to Power Conversion Efficiency: 10.07 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example10_HP.out b/tests/examples/example10_HP.out index cf5e652e..92ca0895 100644 --- a/tests/examples/example10_HP.out +++ b/tests/examples/example10_HP.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.6.7 - Simulation Date: 2025-01-14 - Simulation Time: 08:40 - Calculation Time: 0.104 sec + GEOPHIRES Version: 3.7.2 + Simulation Date: 2025-01-22 + Simulation Time: 11:01 + Calculation Time: 0.101 sec ***SUMMARY OF RESULTS*** @@ -18,7 +18,7 @@ Simulation Metadata Number of production wells: 2 Number of injection wells: 2 Flowrate per production well: 70.0 kg/sec - Well depth: 2.1 kilometer + Well depth: 2.1 kilometer Geothermal gradient: 45 degC/km @@ -39,7 +39,7 @@ Simulation Metadata Number of Production Wells: 2 Number of Injection Wells: 2 - Well depth: 2.1 kilometer + Well depth: 2.1 kilometer Water loss rate: 2.0 Pump efficiency: 80.0 % Injection temperature: 83.0 degC diff --git a/tests/examples/example11_AC.out b/tests/examples/example11_AC.out index 4969ad6c..1042b14f 100644 --- a/tests/examples/example11_AC.out +++ b/tests/examples/example11_AC.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.6.7 - Simulation Date: 2025-01-14 - Simulation Time: 08:40 - Calculation Time: 0.103 sec + GEOPHIRES Version: 3.7.2 + Simulation Date: 2025-01-22 + Simulation Time: 11:01 + Calculation Time: 0.099 sec ***SUMMARY OF RESULTS*** @@ -19,7 +19,7 @@ Simulation Metadata Number of production wells: 2 Number of injection wells: 2 Flowrate per production well: 50.0 kg/sec - Well depth: 2.1 kilometer + Well depth: 2.1 kilometer Geothermal gradient: 45 degC/km @@ -40,7 +40,7 @@ Simulation Metadata Number of Production Wells: 2 Number of Injection Wells: 2 - Well depth: 2.1 kilometer + Well depth: 2.1 kilometer Water loss rate: 2.0 Pump efficiency: 80.0 % Injection temperature: 83.0 degC diff --git a/tests/examples/example12_DH.out b/tests/examples/example12_DH.out index dd752b19..20888def 100644 --- a/tests/examples/example12_DH.out +++ b/tests/examples/example12_DH.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.6.7 - Simulation Date: 2025-01-14 - Simulation Time: 08:40 - Calculation Time: 0.581 sec + GEOPHIRES Version: 3.7.2 + Simulation Date: 2025-01-22 + Simulation Time: 11:01 + Calculation Time: 0.567 sec ***SUMMARY OF RESULTS*** @@ -21,7 +21,7 @@ Simulation Metadata Number of production wells: 2 Number of injection wells: 2 Flowrate per production well: 50.0 kg/sec - Well depth: 3.5 kilometer + Well depth: 3.5 kilometer Geothermal gradient: 23.4 degC/km @@ -42,7 +42,7 @@ Simulation Metadata Number of Production Wells: 2 Number of Injection Wells: 2 - Well depth: 3.5 kilometer + Well depth: 3.5 kilometer Water loss rate: 0.0 Pump efficiency: 80.0 % Injection temperature: 50.0 degC diff --git a/tests/examples/example13.out b/tests/examples/example13.out index d24ccc51..6bf27ffa 100644 --- a/tests/examples/example13.out +++ b/tests/examples/example13.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.036 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.035 sec ***SUMMARY OF RESULTS*** @@ -132,6 +132,7 @@ Simulation Metadata Initial Net Heat Production: 19.63 MW Average Annual Heat Production: 108.31 GWh Average Pumping Power: 0.25 MW + Heat to Power Conversion Efficiency: 7.58 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example1_addons.out b/tests/examples/example1_addons.out index c896258f..f7402445 100644 --- a/tests/examples/example1_addons.out +++ b/tests/examples/example1_addons.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.825 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.779 sec ***SUMMARY OF RESULTS*** @@ -127,6 +127,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 42.30 GWh Initial pumping power/net installed power: 3.82 % Average Pumping Power: 0.20 MW + Heat to Power Conversion Efficiency: 10.07 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example1_outputunits.out b/tests/examples/example1_outputunits.out index a86a04f6..23469bd7 100644 --- a/tests/examples/example1_outputunits.out +++ b/tests/examples/example1_outputunits.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.820 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.778 sec ***SUMMARY OF RESULTS*** @@ -126,6 +126,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 42.28 GWh Initial pumping power/net installed power: 3.82 % Average Pumping Power: 0.20 MW + Heat to Power Conversion Efficiency: 10.07 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example2.out b/tests/examples/example2.out index ac59c9ec..1621bb3b 100644 --- a/tests/examples/example2.out +++ b/tests/examples/example2.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.6.7 - Simulation Date: 2025-01-14 - Simulation Time: 08:40 - Calculation Time: 0.218 sec + GEOPHIRES Version: 3.7.2 + Simulation Date: 2025-01-22 + Simulation Time: 11:01 + Calculation Time: 0.208 sec ***SUMMARY OF RESULTS*** @@ -17,7 +17,7 @@ Simulation Metadata Number of production wells: 2 Number of injection wells: 2 Flowrate per production well: 30.0 kg/sec - Well depth: 3.0 kilometer + Well depth: 3.0 kilometer Geothermal gradient: 55 degC/km @@ -38,7 +38,7 @@ Simulation Metadata Number of Production Wells: 2 Number of Injection Wells: 2 - Well depth: 3.0 kilometer + Well depth: 3.0 kilometer Water loss rate: 0.0 Pump efficiency: 80.0 % Injection temperature: 70.0 degC diff --git a/tests/examples/example3.out b/tests/examples/example3.out index f2f42175..fe25911a 100644 --- a/tests/examples/example3.out +++ b/tests/examples/example3.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.120 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.117 sec ***SUMMARY OF RESULTS*** @@ -128,6 +128,7 @@ Simulation Metadata Initial Net Heat Production: 11.67 MW Average Annual Heat Production: 84.33 GWh Average Pumping Power: 0.20 MW + Heat to Power Conversion Efficiency: 16.50 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example4.out b/tests/examples/example4.out index 9549f34a..16b7924e 100644 --- a/tests/examples/example4.out +++ b/tests/examples/example4.out @@ -4,9 +4,9 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 Calculation Time: 0.049 sec ***SUMMARY OF RESULTS*** @@ -124,6 +124,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 54.69 GWh Initial pumping power/net installed power: 15.60 % Average Pumping Power: 1.31 MW + Heat to Power Conversion Efficiency: 7.30 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example5.out b/tests/examples/example5.out index 65b8632a..8b8d0bf7 100644 --- a/tests/examples/example5.out +++ b/tests/examples/example5.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.6.7 - Simulation Date: 2025-01-14 - Simulation Time: 08:40 - Calculation Time: 0.050 sec + GEOPHIRES Version: 3.7.2 + Simulation Date: 2025-01-22 + Simulation Time: 11:01 + Calculation Time: 0.047 sec ***SUMMARY OF RESULTS*** @@ -17,7 +17,7 @@ Simulation Metadata Number of production wells: 2 Number of injection wells: 2 Flowrate per production well: 50.0 kg/sec - Well depth: 3.0 kilometer + Well depth: 3.0 kilometer Geothermal gradient: 45 degC/km @@ -37,7 +37,7 @@ Simulation Metadata Number of Production Wells: 2 Number of Injection Wells: 2 - Well depth: 3.0 kilometer + Well depth: 3.0 kilometer Water loss rate: 2.0 Pump efficiency: 80.0 % Injection temperature: 80.0 degC diff --git a/tests/examples/example8.out b/tests/examples/example8.out index 067fef74..719c8954 100644 --- a/tests/examples/example8.out +++ b/tests/examples/example8.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.6.7 - Simulation Date: 2025-01-14 - Simulation Time: 08:40 - Calculation Time: 0.805 sec + GEOPHIRES Version: 3.7.2 + Simulation Date: 2025-01-22 + Simulation Time: 11:01 + Calculation Time: 0.772 sec ***SUMMARY OF RESULTS*** @@ -17,7 +17,7 @@ Simulation Metadata Number of production wells: 1 Number of injection wells: 1 Flowrate per production well: 40.0 kg/sec - Well depth: 2.8 kilometer + Well depth: 2.8 kilometer Geothermal gradient: 28 degC/km @@ -38,7 +38,7 @@ Simulation Metadata Number of Production Wells: 1 Number of Injection Wells: 1 - Well depth: 2.8 kilometer + Well depth: 2.8 kilometer Water loss rate: 2.0 Pump efficiency: 80.0 % Injection temperature: 30.0 degC diff --git a/tests/examples/example9.out b/tests/examples/example9.out index b661655a..d7b8c3ed 100644 --- a/tests/examples/example9.out +++ b/tests/examples/example9.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:50 - Calculation Time: 0.818 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.796 sec ***SUMMARY OF RESULTS*** @@ -128,6 +128,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 3.67 GWh Initial pumping power/net installed power: 16.55 % Average Pumping Power: 0.08 MW + Heat to Power Conversion Efficiency: 4.64 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_ITC.out b/tests/examples/example_ITC.out index 7b322142..5a99f1a1 100644 --- a/tests/examples/example_ITC.out +++ b/tests/examples/example_ITC.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.819 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.812 sec ***SUMMARY OF RESULTS*** @@ -125,6 +125,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 147.70 GWh Initial pumping power/net installed power: 3.56 % Average Pumping Power: 0.64 MW + Heat to Power Conversion Efficiency: 17.30 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_PTC.out b/tests/examples/example_PTC.out index a5313423..325f2fe8 100644 --- a/tests/examples/example_PTC.out +++ b/tests/examples/example_PTC.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.817 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.772 sec ***SUMMARY OF RESULTS*** @@ -124,6 +124,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 147.70 GWh Initial pumping power/net installed power: 3.56 % Average Pumping Power: 0.64 MW + Heat to Power Conversion Efficiency: 17.30 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_SBT_Hi_T.out b/tests/examples/example_SBT_Hi_T.out index 46b0c205..bab06b21 100644 --- a/tests/examples/example_SBT_Hi_T.out +++ b/tests/examples/example_SBT_Hi_T.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 50.962 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 9.906 sec ***SUMMARY OF RESULTS*** @@ -108,6 +108,7 @@ The AGS models contain an intrinsic reservoir model that doesn't expose values t Average Annual Total Electricity Generation: 75.03 GWh Average Annual Net Electricity Generation: 75.03 GWh Average Pumping Power: 0.00 MW + Heat to Power Conversion Efficiency: 17.15 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_SBT_Lo_T.out b/tests/examples/example_SBT_Lo_T.out index 1e92ccf9..9dc050a5 100644 --- a/tests/examples/example_SBT_Lo_T.out +++ b/tests/examples/example_SBT_Lo_T.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 24.020 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 1.508 sec ***SUMMARY OF RESULTS*** @@ -108,6 +108,7 @@ The AGS models contain an intrinsic reservoir model that doesn't expose values t Average Annual Total Electricity Generation: 0.02 GWh Average Annual Net Electricity Generation: 0.02 GWh Average Pumping Power: 0.00 MW + Heat to Power Conversion Efficiency: 0.27 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_SHR-1.out b/tests/examples/example_SHR-1.out index e7df3d78..9c9c32f7 100644 --- a/tests/examples/example_SHR-1.out +++ b/tests/examples/example_SHR-1.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.820 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.810 sec ***SUMMARY OF RESULTS*** @@ -123,6 +123,7 @@ Simulation Metadata Average Annual Total Electricity Generation: 241.59 GWh Average Annual Net Electricity Generation: 241.59 GWh Average Pumping Power: 0.00 MW + Heat to Power Conversion Efficiency: 20.28 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_SHR-2.out b/tests/examples/example_SHR-2.out index d896bf58..c6557dab 100644 --- a/tests/examples/example_SHR-2.out +++ b/tests/examples/example_SHR-2.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.551 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.543 sec ***SUMMARY OF RESULTS*** @@ -123,6 +123,7 @@ Simulation Metadata Average Annual Total Electricity Generation: 856.31 GWh Average Annual Net Electricity Generation: 856.31 GWh Average Pumping Power: 0.00 MW + Heat to Power Conversion Efficiency: 35.83 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_multiple_gradients-2.out b/tests/examples/example_multiple_gradients-2.out index 9ee8e9c6..09b2eb29 100644 --- a/tests/examples/example_multiple_gradients-2.out +++ b/tests/examples/example_multiple_gradients-2.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:50 - Calculation Time: 0.824 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.797 sec ***SUMMARY OF RESULTS*** @@ -137,6 +137,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 62.72 GWh Initial pumping power/net installed power: 2.05 % Average Pumping Power: 0.19 MW + Heat to Power Conversion Efficiency: 11.89 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_multiple_gradients.out b/tests/examples/example_multiple_gradients.out index e46f09cd..575fed0b 100644 --- a/tests/examples/example_multiple_gradients.out +++ b/tests/examples/example_multiple_gradients.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:49 - Calculation Time: 0.820 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:48 + Calculation Time: 0.831 sec ***SUMMARY OF RESULTS*** @@ -137,6 +137,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 62.72 GWh Initial pumping power/net installed power: 2.05 % Average Pumping Power: 0.19 MW + Heat to Power Conversion Efficiency: 11.89 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_overpressure.out b/tests/examples/example_overpressure.out index d5ba3f63..8931f95d 100644 --- a/tests/examples/example_overpressure.out +++ b/tests/examples/example_overpressure.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.857 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.901 sec ***SUMMARY OF RESULTS*** @@ -127,6 +127,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 40.92 GWh Initial pumping power/net installed power: 3.71 % Average Pumping Power: 0.87 MW + Heat to Power Conversion Efficiency: 8.26 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/examples/example_overpressure2.out b/tests/examples/example_overpressure2.out index f2425b5a..6159684b 100644 --- a/tests/examples/example_overpressure2.out +++ b/tests/examples/example_overpressure2.out @@ -4,10 +4,10 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.7.0 - Simulation Date: 2025-01-20 - Simulation Time: 10:48 - Calculation Time: 0.821 sec + GEOPHIRES Version: 3.7.1 + Simulation Date: 2025-01-22 + Simulation Time: 10:47 + Calculation Time: 0.950 sec ***SUMMARY OF RESULTS*** @@ -127,6 +127,7 @@ Simulation Metadata Average Annual Net Electricity Generation: 41.88 GWh Initial pumping power/net installed power: 3.71 % Average Pumping Power: 0.75 MW + Heat to Power Conversion Efficiency: 8.45 % ************************************************************ * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * diff --git a/tests/regenerate-example-result.ps1 b/tests/regenerate-example-result.ps1 index 8ac41967..41bceb74 100644 --- a/tests/regenerate-example-result.ps1 +++ b/tests/regenerate-example-result.ps1 @@ -31,3 +31,5 @@ cd .. #./tests/regenerate-example-result.ps1 example_SHR-2 #./tests/regenerate-example-result.ps1 Fervo_Norbeck_Latimer_2024 #./tests/regenerate-example-result.ps1 Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery + +# TODO regenerate CSV for example1_addons as in regenerate-example-result.sh diff --git a/tests/regenerate-example-result.sh b/tests/regenerate-example-result.sh index 55b05dba..be7624a7 100755 --- a/tests/regenerate-example-result.sh +++ b/tests/regenerate-example-result.sh @@ -12,3 +12,9 @@ cd "$(dirname "$0")" python -mgeophires_x examples/$1.txt examples/$1.out rm examples/$1.json + +if [[ $1 == "example1_addons" ]] +then + echo "Updating CSV..." + python regenerate_example_result_csv.py +fi diff --git a/tests/regenerate_example_result_csv.py b/tests/regenerate_example_result_csv.py new file mode 100644 index 00000000..0c8319a9 --- /dev/null +++ b/tests/regenerate_example_result_csv.py @@ -0,0 +1,12 @@ +import os + +from geophires_x_client import GeophiresXResult + + +def _get_file_path(file_name: str) -> str: + return os.path.join(os.path.abspath(os.path.dirname(__file__)), str(file_name)) + + +if __name__ == '__main__': + with open(_get_file_path('example1_addons.csv'), 'w', encoding='utf-8') as csvfile: + csvfile.write(GeophiresXResult(_get_file_path('examples/example1_addons.out')).as_csv()) diff --git a/tests/test_geophires_x_client.py b/tests/test_geophires_x_client.py index a5ecd6c1..533cedac 100644 --- a/tests/test_geophires_x_client.py +++ b/tests/test_geophires_x_client.py @@ -456,12 +456,13 @@ def test_input_with_non_default_units(self): def test_csv(self): """ - TODO make this less tedious to update when expected result values change + Note: example1_addons.csv will be updated automatically when `regenerate-example-result.sh example1_addons` is + run. - Current easiest method to update: - 1. set breakpoint on line after `as_csv = result.as_csv()` - 2. debug test, hit break point - 3. copy-paste value of `as_csv` to example1_addons.csv + If needed, example1_addons.csv can also be updated manually with the following steps: + 1. In your IDE, set a breakpoint on the line after `as_csv = result.as_csv()` + 2. Debug this test and hit the break point + 3. Copy-paste the value of `as_csv` (in Threads & Variables tab in PyCharm) to example1_addons.csv """ def assertFileContentsEqual(expected_file_path, actual_file_path, tol=0.01):