Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 3.15.3
current_version = 3.16.0
commit = True
tag = True

Expand Down
2 changes: 1 addition & 1 deletion .cookiecutterrc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ default_context:
sphinx_doctest: "no"
sphinx_theme: "sphinx-py3doc-enhanced-theme"
test_matrix_separate_coverage: "no"
version: 3.15.3
version: 3.16.0
version_manager: "bump2version"
website: "https://github.com/NREL"
year_from: "2023"
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ Changelog
GEOPHIRES v3 (2023-2026)
------------------------

3.16
^^^^

3.16: `Fix Beckers_et_al_2023_Tabulated_Database_Coaxial_sCO2_heat and CLGS Pump Power unit display <https://github.com/NREL/GEOPHIRES-X/pull/515>`__ | `release <https://github.com/NREL/GEOPHIRES-X/releases/tag/v3.16.0>`__

3.15
^^^^

Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ Run commands in a terminal with View → Tool Windows → Terminal
2. Install package dependencies (from ``setup.py``)::

pip install -e .
pip install -e ".[development]"

(PyCharm may prompt you to install dependencies, making this step unnecessary to run on the command line)

Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ Free software: `MIT license <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.15.3.svg
.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.16.0.svg
:alt: Commits since latest release
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.15.3...main
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.16.0...main

.. |docs| image:: https://readthedocs.org/projects/GEOPHIRES-X/badge/?style=flat
:target: https://softwareengineerprogrammer.github.io/GEOPHIRES
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
year = '2025'
author = 'NREL'
copyright = f'{year}, {author}'
version = release = '3.15.3'
version = release = '3.16.0'

pygments_style = 'trac'
templates_path = ['./templates']
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def read(*names, **kwargs):

setup(
name='geophires-x',
version='3.15.3',
version='3.16.0',
license='MIT',
description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.',
long_description='{}\n{}'.format(
Expand Down Expand Up @@ -96,6 +96,7 @@ def read(*names, **kwargs):
'bumpversion',
'sphinx_py3doc_enhanced_theme',
'opencv-python', # generate_fervo_project_red_2026_docs
'jinja2', # generate_fervo_project_cape_5_md
],
},
)
11 changes: 9 additions & 2 deletions src/geophires_x/AGSOutputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,16 @@ def PrintOutputs(self, model: Model):
f.write(' * POWER GENERATION PROFILE *\n')
f.write(' ******************************\n')
if model.surfaceplant.enduse_option.value == EndUseOptions.ELECTRICITY: # only electricity
pump_units = f'({model.wellbores.PumpingPower.CurrentUnits.value})'
net_units = f'({model.surfaceplant.NetElectricityProduced.CurrentUnits.value})'
f.write(
' YEAR THERMAL GEOFLUID PUMP NET FIRST LAW\n')
f.write(
' DRAWDOWN TEMPERATURE POWER POWER EFFICIENCY\n')
f.write(
" (" + model.wellbores.ProducedTemperature.CurrentUnits.value + ") (" + model.wellbores.PumpingPower.CurrentUnits.value + ") (" + model.surfaceplant.NetElectricityProduced.CurrentUnits.value + ") (%)\n")
' '
f'({model.wellbores.ProducedTemperature.CurrentUnits.value})'
f'{pump_units:>19}{net_units:>18}' + f'{"(%)":>21}' + NL)
for i in range(0, model.surfaceplant.plant_lifetime.value):
f.write(
' {0:2.0f} {1:8.4f} {2:8.2f} {3:8.4f} {4:8.4f} {5:8.4f}'.format(
Expand All @@ -153,7 +157,10 @@ def PrintOutputs(self, model: Model):
elif model.surfaceplant.enduse_option.value == EndUseOptions.HEAT: # only direct-use
f.write(' YEAR THERMAL GEOFLUID PUMP NET\n')
f.write(' DRAWDOWN TEMPERATURE POWER HEAT\n')
f.write(' (deg C) (MW) (MW)\n')
pump_units = f'({model.wellbores.PumpingPower.CurrentUnits.value})'
heat_units = f'({model.surfaceplant.HeatProduced.CurrentUnits.value})'
f.write(' (deg C)'
f'{pump_units:>20}{heat_units:>19}' + NL)
for i in range(0, model.surfaceplant.plant_lifetime.value - 1):
f.write(
' {0:2.0f} {1:8.4f} {2:8.2f} {3:8.4f} {4:8.4f}'.format(
Expand Down
6 changes: 6 additions & 0 deletions src/geophires_x/SurfacePlantAGS.py
Original file line number Diff line number Diff line change
Expand Up @@ -732,7 +732,13 @@ def Calculate(self, model: Model) -> None:
# Now transfer the results to the GEOPHIRES-X arrays: Deep Copy the Arrays
model.wellbores.ProducedTemperature.value = self.Linear_production_temperature.copy()
self.TenteringPP.value = model.wellbores.ProducedTemperature.value
# Annual_pumping_power is pumping energy per year, not power (see calculatepumpingpower), so relabel
# the parameter to match - otherwise AGS outputs report kWh/yr under a MW heading. Preferred and
# current units are set together to keep UnitsMatch true and avoid a bogus conversion in Outputs.
model.wellbores.PumpingPower.value = self.Annual_pumping_power.copy()
model.wellbores.PumpingPower.UnitType = Units.ENERGYFREQUENCY
model.wellbores.PumpingPower.PreferredUnits = EnergyFrequencyUnit.KWhPERYEAR
model.wellbores.PumpingPower.CurrentUnits = EnergyFrequencyUnit.KWhPERYEAR
self.HeatExtracted.value = self.Instantaneous_heat_production.copy()
# convert to MW because that is what GEOPHIRES expects
self.HeatExtracted.value = self.HeatExtracted.value / 1000.0
Expand Down
2 changes: 1 addition & 1 deletion src/geophires_x/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '3.15.3'
__version__ = '3.16.0'
Loading