From 7910cda4fcac9f05b8bd4411baef8d4d57b8f30e Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Wed, 6 Mar 2024 09:38:42 -0800 Subject: [PATCH 01/11] Increase MC test to 3 iterations --- .../MC_GEOPHIRES_Settings_file-2.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/geophires_monte_carlo_tests/MC_GEOPHIRES_Settings_file-2.txt b/tests/geophires_monte_carlo_tests/MC_GEOPHIRES_Settings_file-2.txt index 850c4090..34fc53a1 100644 --- a/tests/geophires_monte_carlo_tests/MC_GEOPHIRES_Settings_file-2.txt +++ b/tests/geophires_monte_carlo_tests/MC_GEOPHIRES_Settings_file-2.txt @@ -6,4 +6,4 @@ OUTPUT, Project NPV OUTPUT, Total capital costs OUTPUT, Average Production Temperature OUTPUT, Reservoir hydrostatic pressure -ITERATIONS, 2 +ITERATIONS, 3 From e8f77f8b1a49156453c539b7be368ce91d8ab94f Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Wed, 6 Mar 2024 10:56:34 -0800 Subject: [PATCH 02/11] Print blank line before case report --- src/geophires_x/GEOPHIRESv3.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/geophires_x/GEOPHIRESv3.py b/src/geophires_x/GEOPHIRESv3.py index 92757fdc..9662d307 100644 --- a/src/geophires_x/GEOPHIRESv3.py +++ b/src/geophires_x/GEOPHIRESv3.py @@ -73,6 +73,7 @@ def main(enable_geophires_logging_config=True): outputfile = sys.argv[2] with open(outputfile, 'r', encoding='UTF-8') as f: + sys.stdout.write('\n') content = f.readlines() # store all output in one long list # Now write each line to the screen From 97aac4ee3b1efde22b5b757f56e3f91a8284b224 Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:05:10 -0800 Subject: [PATCH 03/11] Don't force fallback to simple well cost correlation for depths >7km - log warning informing user correlation may be invalid consider using fixed cost or simple correlation with per-meter cost https://github.com/NREL/GEOPHIRES-X/issues/147 --- src/geophires_x/Economics.py | 43 ++++--- ...Closed-Loop_Geothermal_Energy_Recovery.out | 110 +++++++++--------- tests/examples/example_SHR-2.out | 94 +++++++-------- 3 files changed, 131 insertions(+), 116 deletions(-) diff --git a/src/geophires_x/Economics.py b/src/geophires_x/Economics.py index 7ef6a1fe..d9477df3 100644 --- a/src/geophires_x/Economics.py +++ b/src/geophires_x/Economics.py @@ -1974,17 +1974,33 @@ def Calculate(self, model: Model) -> None: self.C1well = self.ccwellfixed.value self.Cwell.value = self.C1well * (model.wellbores.nprod.value + model.wellbores.ninj.value) else: - # if depth is > 7000 m, we don't have a correlation for it, so we must use the SIMPLE logic - checkdepth = model.reserv.depth.quantity().to('m').magnitude - if ((checkdepth > 7000.0 or checkdepth < 500) and - not self.wellcorrelation.value == WellDrillingCostCorrelation.SIMPLE): - msg = (f'Invalid cost correlation specified for drilling depth <500 or >7000 m ({checkdepth}m), ' - f'falling back to simple user-specified cost ' - f'({self.Vertical_drilling_cost_per_m.value} per meter)') - model.logger.warning(msg) + # Check if well depth is out of standard bounds for cost correlation + checkdepth_m = model.reserv.depth.quantity().to('m').magnitude + + correlations_min_valid_depth_m = 500. + correlations_max_valid_depth_m = 7000. + + if (checkdepth_m < correlations_min_valid_depth_m + and not self.wellcorrelation.value == WellDrillingCostCorrelation.SIMPLE): + self.wellcorrelation.value = WellDrillingCostCorrelation.SIMPLE + model.logger.warning( + f'Invalid cost correlation specified ({self.wellcorrelation.value}) for drilling depth ' + f'<{correlations_min_valid_depth_m}m ({checkdepth_m}m). ' + f'Falling back to simple user-specified cost ' + f'({self.Vertical_drilling_cost_per_m.value} per meter)' + ) + + if (checkdepth_m > correlations_max_valid_depth_m + and not self.wellcorrelation.value == WellDrillingCostCorrelation.SIMPLE): + model.logger.warning( + f'{self.wellcorrelation.value} may be invalid for drilling depth ' + f'>{correlations_max_valid_depth_m}m ({checkdepth_m}m). ' + f'Consider using {WellDrillingCostCorrelation.SIMPLE} (per-meter cost) or ' + f'{self.ccwellfixed.Name} (fixed cost per well) instead.' + ) + - # use SIMPLE approach if user has specified it if self.wellcorrelation.value == WellDrillingCostCorrelation.SIMPLE: # using the "Configuration" keywords means we are doing an AGS calculation if hasattr(model.wellbores, 'Configuration'): @@ -2009,18 +2025,17 @@ def Calculate(self, model: Model) -> None: 'm').magnitude * 1E-6 elif self.wellcorrelation.value == WellDrillingCostCorrelation.VERTICAL_SMALL: - self.C1well = ((0.3021 * checkdepth ** 2 + 584.9112 * checkdepth + 751368.) + self.C1well = ((0.3021 * checkdepth_m ** 2 + 584.9112 * checkdepth_m + 751368.) * 1E-6) # well drilling and completion cost in M$/well elif self.wellcorrelation.value == WellDrillingCostCorrelation.DEVIATED_SMALL: - self.C1well = (0.2898 * checkdepth ** 2 + 822.1507 * checkdepth + 680563.) * 1E-6 + self.C1well = (0.2898 * checkdepth_m ** 2 + 822.1507 * checkdepth_m + 680563.) * 1E-6 elif self.wellcorrelation.value == WellDrillingCostCorrelation.VERTICAL_LARGE: - - self.C1well = (0.2818 * checkdepth ** 2 + 1275.5213 * checkdepth + 632315.) * 1E-6 + self.C1well = (0.2818 * checkdepth_m ** 2 + 1275.5213 * checkdepth_m + 632315.) * 1E-6 elif self.wellcorrelation.value == WellDrillingCostCorrelation.DEVIATED_LARGE: - self.C1well = (0.2553 * checkdepth ** 2 + 1716.7157 * checkdepth + 500867.) * 1E-6 + self.C1well = (0.2553 * checkdepth_m ** 2 + 1716.7157 * checkdepth_m + 500867.) * 1E-6 # account for adjustment factor self.C1well = self.ccwelladjfactor.value * self.C1well 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 a8d8173f..2014c835 100644 --- a/tests/examples/Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery.out +++ b/tests/examples/Wanju_Yuan_Closed-Loop_Geothermal_Energy_Recovery.out @@ -4,17 +4,17 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.4.15 + GEOPHIRES Version: 3.4.16 GEOPHIRES Build Date: 2024-03-05 - Simulation Date: 2024-03-05 - Simulation Time: 09:59 - Calculation Time: 1.652 sec + Simulation Date: 2024-03-06 + Simulation Time: 11:00 + Calculation Time: 1.692 sec ***SUMMARY OF RESULTS*** End-Use Option: Electricity Average Net Electricity Production: 1.10 MW - Electricity breakeven price: 44.08 cents/kWh + Electricity breakeven price: 120.05 cents/kWh Number of production wells: 1 Number of injection wells: 0 Flowrate per production well: 110.0 kg/sec @@ -28,11 +28,11 @@ Simulation Metadata Accrued financing during construction: 0.00 Project lifetime: 40 yr Capacity factor: 90.0 % - Project NPV: -45.16 MUSD + Project NPV: -134.74 MUSD Project IRR: 0.00 % - Project VIR=PI=PIR: -0.02 - Project MOIC: -0.72 - Project Payback Period: N/A + Project VIR=PI=PIR: -0.06 + Project MOIC: -0.89 + Project Payback Period: N/A ***ENGINEERING PARAMETERS*** @@ -74,22 +74,22 @@ The AGS models contain an intrinsic reservoir model that doesn't expose values t ***CAPITAL COSTS (M$)*** - Drilling and completion costs: 20.48 MUSD - Drilling and completion costs per well: 20.48 MUSD + Drilling and completion costs: 68.08 MUSD + Drilling and completion costs per well: 68.08 MUSD Stimulation costs: 0.00 MUSD Surface power plant costs: 6.74 MUSD Field gathering system costs: 0.51 MUSD Total surface equipment costs: 7.24 MUSD - Exploration costs: 16.36 MUSD - Total capital costs: 44.08 MUSD + Exploration costs: 51.40 MUSD + Total capital costs: 126.72 MUSD ***OPERATING AND MAINTENANCE COSTS (M$/yr)*** - Wellfield maintenance costs: 0.27 MUSD/yr + Wellfield maintenance costs: 0.75 MUSD/yr Power plant maintenance costs: 0.30 MUSD/yr Water costs: 0.00 MUSD/yr - Total operating and maintenance costs: 0.57 MUSD/yr + Total operating and maintenance costs: 1.05 MUSD/yr ***SURFACE EQUIPMENT SIMULATION RESULTS*** @@ -211,43 +211,43 @@ Year Electricity | Heat | Since Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | OPEX Net Rev. Net Cashflow Start (cents/kWh)(MUSD/yr) (MUSD) |(cents/kWh) (MUSD/yr) (MUSD) |(cents/kWh) (MUSD/yr) (MUSD) |(USD/tonne) (MUSD/yr) (MUSD) |(MUSD/yr) (MUSD/yr) (MUSD) ________________________________________________________________________________________________________________________________________________________________________________________ - 1 5.50 -44.08 0.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.00 -44.08 -44.08 - 2 5.50 0.09 0.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 0.09 -43.98 - 3 5.50 -0.05 1.19 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.05 -44.03 - 4 5.50 -0.03 1.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.03 -44.06 - 5 5.50 -0.06 2.24 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.06 -44.12 - 6 5.50 -0.05 2.75 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.05 -44.18 - 7 5.50 -0.07 3.25 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.07 -44.25 - 8 5.50 -0.07 3.75 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.07 -44.32 - 9 5.50 -0.08 4.24 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.08 -44.40 - 10 5.50 -0.08 4.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.08 -44.48 - 11 5.50 -0.09 5.21 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.09 -44.57 - 12 5.50 -0.09 5.70 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.09 -44.65 - 13 5.50 -0.09 6.18 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.09 -44.75 - 14 5.50 -0.09 6.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.09 -44.84 - 15 5.50 -0.10 7.13 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.10 -44.94 - 16 5.50 -0.10 7.60 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.10 -45.03 - 17 5.50 -0.10 8.07 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.10 -45.13 - 18 5.50 -0.10 8.54 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.10 -45.23 - 19 5.50 -0.10 9.01 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.10 -45.34 - 20 5.50 -0.10 9.48 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.10 -45.44 - 21 5.50 -0.11 9.94 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -45.55 - 22 5.50 -0.11 10.40 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -45.65 - 23 5.50 -0.11 10.87 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -45.76 - 24 5.50 -0.11 11.33 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -45.87 - 25 5.50 -0.11 11.79 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -45.98 - 26 5.50 -0.11 12.24 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -46.10 - 27 5.50 -0.11 12.70 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -46.21 - 28 5.50 -0.12 13.16 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.12 -46.33 - 29 5.50 -0.11 13.61 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -46.44 - 30 5.50 -0.12 14.06 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.12 -46.56 - 31 5.50 -0.11 14.52 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -46.67 - 32 5.50 -0.12 14.97 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.12 -46.80 - 33 5.50 -0.12 15.42 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.12 -46.91 - 34 5.50 -0.12 15.87 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.12 -47.04 - 35 5.50 -0.12 16.32 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.12 -47.15 - 36 5.50 -0.13 16.77 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.13 -47.28 - 37 5.50 -0.11 17.22 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -47.39 - 38 5.50 -0.13 17.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.13 -47.53 - 39 5.50 -0.11 18.12 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.11 -47.64 - 40 5.50 -0.15 18.54 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.57 -0.15 -47.79 + 1 5.50 -126.72 0.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.00 -126.72 -126.72 + 2 5.50 -0.38 0.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.38 -127.10 + 3 5.50 -0.52 1.19 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.52 -127.62 + 4 5.50 -0.50 1.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.50 -128.13 + 5 5.50 -0.54 2.24 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.54 -128.67 + 6 5.50 -0.53 2.75 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.53 -129.20 + 7 5.50 -0.55 3.25 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.55 -129.75 + 8 5.50 -0.54 3.75 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.54 -130.29 + 9 5.50 -0.56 4.24 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.56 -130.85 + 10 5.50 -0.55 4.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.55 -131.41 + 11 5.50 -0.56 5.21 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.56 -131.97 + 12 5.50 -0.56 5.70 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.56 -132.53 + 13 5.50 -0.57 6.18 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.57 -133.10 + 14 5.50 -0.57 6.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.57 -133.67 + 15 5.50 -0.57 7.13 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.57 -134.24 + 16 5.50 -0.57 7.60 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.57 -134.81 + 17 5.50 -0.58 8.07 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -135.39 + 18 5.50 -0.58 8.54 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -135.97 + 19 5.50 -0.58 9.01 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -136.55 + 20 5.50 -0.58 9.48 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -137.13 + 21 5.50 -0.58 9.94 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -137.71 + 22 5.50 -0.58 10.40 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -138.29 + 23 5.50 -0.58 10.87 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.58 -138.88 + 24 5.50 -0.59 11.33 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -139.46 + 25 5.50 -0.59 11.79 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -140.05 + 26 5.50 -0.59 12.24 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -140.64 + 27 5.50 -0.59 12.70 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -141.23 + 28 5.50 -0.59 13.16 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -141.82 + 29 5.50 -0.59 13.61 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -142.41 + 30 5.50 -0.59 14.06 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -143.00 + 31 5.50 -0.59 14.52 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -143.60 + 32 5.50 -0.60 14.97 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.60 -144.19 + 33 5.50 -0.59 15.42 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -144.78 + 34 5.50 -0.60 15.87 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.60 -145.38 + 35 5.50 -0.59 16.32 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -145.98 + 36 5.50 -0.60 16.77 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.60 -146.58 + 37 5.50 -0.59 17.22 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -147.17 + 38 5.50 -0.61 17.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.61 -147.78 + 39 5.50 -0.59 18.12 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.59 -148.37 + 40 5.50 -0.63 18.54 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.05 -0.63 -148.99 diff --git a/tests/examples/example_SHR-2.out b/tests/examples/example_SHR-2.out index aa28f9a5..58ecb307 100644 --- a/tests/examples/example_SHR-2.out +++ b/tests/examples/example_SHR-2.out @@ -4,17 +4,17 @@ Simulation Metadata ---------------------- - GEOPHIRES Version: 3.4.15 + GEOPHIRES Version: 3.4.16 GEOPHIRES Build Date: 2024-03-05 - Simulation Date: 2024-03-05 - Simulation Time: 09:59 - Calculation Time: 0.604 sec + Simulation Date: 2024-03-06 + Simulation Time: 11:00 + Calculation Time: 0.620 sec ***SUMMARY OF RESULTS*** End-Use Option: Electricity Average Net Electricity Production: 30.58 MW - Electricity breakeven price: 2.15 cents/kWh + Electricity breakeven price: 3.92 cents/kWh Number of production wells: 2 Number of injection wells: 2 Flowrate per production well: 55.0 kg/sec @@ -29,11 +29,11 @@ Simulation Metadata Accrued financing during construction: 0.00 Project lifetime: 30 yr Capacity factor: 90.0 % - Project NPV: 196.21 MUSD - Project IRR: 21.15 % - Project VIR=PI=PIR: 3.22 - Project MOIC: 5.24 - Project Payback Period: 6.18 yr + Project NPV: 115.21 MUSD + Project IRR: 11.74 % + Project VIR=PI=PIR: 1.72 + Project MOIC: 2.42 + Project Payback Period: 9.54 yr ***ENGINEERING PARAMETERS*** @@ -89,23 +89,23 @@ Simulation Metadata ***CAPITAL COSTS (M$)*** - Drilling and completion costs: 31.50 MUSD - Drilling and completion costs per well: 7.88 MUSD + Drilling and completion costs: 92.95 MUSD + Drilling and completion costs per well: 23.24 MUSD Stimulation costs: 3.02 MUSD Surface power plant costs: 44.77 MUSD Field gathering system costs: 1.93 MUSD Total surface equipment costs: 46.70 MUSD - Exploration costs: 7.08 MUSD - Total capital costs: 88.30 MUSD - Annualized capital costs: 4.42 MUSD + Exploration costs: 18.39 MUSD + Total capital costs: 161.06 MUSD + Annualized capital costs: 8.05 MUSD ***OPERATING AND MAINTENANCE COSTS (M$/yr)*** - Wellfield maintenance costs: 0.81 MUSD/yr + Wellfield maintenance costs: 1.42 MUSD/yr Power plant maintenance costs: 2.09 MUSD/yr Water costs: 0.06 MUSD/yr - Total operating and maintenance costs: 0.74 MUSD/yr + Total operating and maintenance costs: 1.36 MUSD/yr ***SURFACE EQUIPMENT SIMULATION RESULTS*** @@ -206,33 +206,33 @@ Year Electricity | Heat | Since Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | OPEX Net Rev. Net Cashflow Start (cents/kWh)(MUSD/yr) (MUSD) |(cents/kWh) (MUSD/yr) (MUSD) |(cents/kWh) (MUSD/yr) (MUSD) |(USD/tonne) (MUSD/yr) (MUSD) |(MUSD/yr) (MUSD/yr) (MUSD) ________________________________________________________________________________________________________________________________________________________________________________________ - 1 6.00 -88.30 0.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.00 -88.30 -88.30 - 2 6.00 12.98 13.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 12.98 -75.32 - 3 7.20 13.34 27.80 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 13.34 -61.98 - 4 8.40 16.30 44.84 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 16.30 -45.69 - 5 9.60 19.24 64.82 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 19.24 -26.45 - 6 10.00 22.17 87.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 22.17 -4.28 - 7 10.00 23.19 111.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.19 18.91 - 8 10.00 23.24 135.64 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.24 42.15 - 9 10.00 23.29 159.67 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.29 65.44 - 10 10.00 23.32 183.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.32 88.76 - 11 10.00 23.36 207.83 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.36 112.12 - 12 10.00 23.38 231.96 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.38 135.50 - 13 10.00 23.41 256.11 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.41 158.91 - 14 10.00 23.43 280.28 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.43 182.34 - 15 10.00 23.45 304.48 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.45 205.80 - 16 10.00 23.47 328.69 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.47 229.27 - 17 10.00 23.49 352.92 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.49 252.76 - 18 10.00 23.51 377.17 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.51 276.27 - 19 10.00 23.52 401.43 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.52 299.79 - 20 10.00 23.54 425.71 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.54 323.33 - 21 10.00 23.55 450.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.55 346.88 - 22 10.00 23.56 474.31 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.56 370.44 - 23 10.00 23.58 498.62 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.58 394.02 - 24 10.00 23.59 522.95 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.59 417.61 - 25 10.00 23.60 547.29 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.60 441.20 - 26 10.00 23.61 571.64 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.61 464.81 - 27 10.00 23.62 596.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.62 488.43 - 28 10.00 23.63 620.37 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.63 512.06 - 29 10.00 23.64 644.74 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.64 535.69 - 30 10.00 23.64 669.13 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.74 23.64 559.34 + 1 6.00 -161.06 0.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 0.00 -161.06 -161.06 + 2 6.00 12.37 13.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 12.37 -148.69 + 3 7.20 12.72 27.80 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 12.72 -135.97 + 4 8.40 15.68 44.84 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 15.68 -120.29 + 5 9.60 18.62 64.82 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 18.62 -101.67 + 6 10.00 21.56 87.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 21.56 -80.11 + 7 10.00 22.58 111.66 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.58 -57.54 + 8 10.00 22.63 135.64 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.63 -34.91 + 9 10.00 22.67 159.67 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.67 -12.24 + 10 10.00 22.71 183.73 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.71 10.47 + 11 10.00 22.74 207.83 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.74 33.21 + 12 10.00 22.77 231.96 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.77 55.98 + 13 10.00 22.80 256.11 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.80 78.78 + 14 10.00 22.82 280.28 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.82 101.60 + 15 10.00 22.84 304.48 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.84 124.44 + 16 10.00 22.86 328.69 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.86 147.30 + 17 10.00 22.88 352.92 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.88 170.17 + 18 10.00 22.89 377.17 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.89 193.06 + 19 10.00 22.91 401.43 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.91 215.97 + 20 10.00 22.92 425.71 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.92 238.90 + 21 10.00 22.94 450.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.94 261.83 + 22 10.00 22.95 474.31 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.95 284.78 + 23 10.00 22.96 498.62 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.96 307.74 + 24 10.00 22.97 522.95 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.97 330.71 + 25 10.00 22.98 547.29 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.98 353.70 + 26 10.00 22.99 571.64 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 22.99 376.69 + 27 10.00 23.00 596.00 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 23.00 399.69 + 28 10.00 23.01 620.37 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 23.01 422.71 + 29 10.00 23.02 644.74 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 23.02 445.73 + 30 10.00 23.03 669.13 | 2.50 0.00 0.00 | 2.50 0.00 0.00 | 0.00 0.00 0.00 | 1.36 23.03 468.76 From 07e0316ca4edffa231af7a2e15f81ddba3fededf Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:05:43 -0800 Subject: [PATCH 04/11] =?UTF-8?q?Bump=20version:=203.4.16=20=E2=86=92=203.?= =?UTF-8?q?4.17?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- .cookiecutterrc | 2 +- README.rst | 4 ++-- docs/conf.py | 2 +- setup.py | 2 +- src/geophires_x/__init__.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index ba0d73a3..1af6dbac 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.4.16 +current_version = 3.4.17 commit = True tag = True diff --git a/.cookiecutterrc b/.cookiecutterrc index e7bcca3c..a0d98df6 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.4.16 + version: 3.4.17 version_manager: "bump2version" website: "https://github.com/NREL" year_from: "2023" diff --git a/README.rst b/README.rst index 4ba0390a..4620e830 100644 --- a/README.rst +++ b/README.rst @@ -47,9 +47,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.4.16.svg +.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.4.17.svg :alt: Commits since latest release - :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.4.16...main + :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.4.17...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 cec3dff4..9eb3aec1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ year = '2023' author = 'NREL' copyright = f'{year}, {author}' -version = release = '3.4.16' +version = release = '3.4.17' pygments_style = 'trac' templates_path = ['./templates'] diff --git a/setup.py b/setup.py index fe70b384..7894d6b4 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def read(*names, **kwargs): setup( name='geophires-x', - version='3.4.16', + version='3.4.17', license='MIT', description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.', long_description='{}\n{}'.format( diff --git a/src/geophires_x/__init__.py b/src/geophires_x/__init__.py index 8f1bd468..d69e0c4a 100644 --- a/src/geophires_x/__init__.py +++ b/src/geophires_x/__init__.py @@ -1 +1 @@ -__version__ = '3.4.16' +__version__ = '3.4.17' From e1ea005e63868f683d6deb77f27f42d5100ca6f2 Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:46:37 -0800 Subject: [PATCH 05/11] Eliminate some redundant print statements in SurfacePlant and WellBores https://github.com/NREL/GEOPHIRES-X/issues/111 --- src/geophires_x/SurfacePlant.py | 5 ++--- src/geophires_x/WellBores.py | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/geophires_x/SurfacePlant.py b/src/geophires_x/SurfacePlant.py index 98203c1a..831988b0 100644 --- a/src/geophires_x/SurfacePlant.py +++ b/src/geophires_x/SurfacePlant.py @@ -591,7 +591,8 @@ def read_parameters(self, model:Model) -> None: if ParameterToModify.value < 0 or ParameterToModify.value > 10000: if self.setinjectionpressurefixed: ParameterToModify.value = 100 - msg = f'Provided plant outlet pressure outside of range 0-10000. GEOPHIRES will assume default plant outlet pressure ({ParameterToModify.value} kPa)' + msg = (f'Provided plant outlet pressure outside of range 0-10000. GEOPHIRES will ' + f'assume default plant outlet pressure ({ParameterToModify.value} kPa)') print(f'Warning: {msg}') model.logger.warning(msg) else: @@ -607,13 +608,11 @@ def read_parameters(self, model:Model) -> None: self.plant_outlet_pressure.value = 100 msg = (f'No valid plant outlet pressure provided. ' f'GEOPHIRES will assume default plant outlet pressure ({self.plant_outlet_pressure.value} kPa)') - print(f'Warning: {msg}') model.logger.warning(msg) else: self.usebuiltinoutletplantcorrelation.value = True msg = (f'No valid plant outlet pressure provided. GEOPHIRES will calculate plant outlet pressure ' f'based on production wellhead pressure and surface equipment pressure drop of 10 psi') - print(f'Warning: {msg}') model.logger.warning(msg) else: model.logger.info('No parameters read because no content provided') diff --git a/src/geophires_x/WellBores.py b/src/geophires_x/WellBores.py index 6a95fdfb..e2558f6c 100644 --- a/src/geophires_x/WellBores.py +++ b/src/geophires_x/WellBores.py @@ -396,7 +396,6 @@ def ProdPressureDropAndPumpingPowerUsingIndexes( elif pumpdepthfinal_m > 600.0: msg = (f'GEOPHIRES calculates production pump depth to be deeper than 600m ({pumpdepthfinal_m:.2f}m). ' f'Verify reservoir pressure, production well flow rate and production well dimensions') - print(f'Warning: {msg}') model.logger.warning(msg) # calculate production well pumping pressure [kPa] From 883423d6ba5c0dcb34e4e88742e7283fbb33ef99 Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Wed, 6 Mar 2024 12:27:26 -0800 Subject: [PATCH 06/11] =?UTF-8?q?Bump=20version:=203.4.17=20=E2=86=92=203.?= =?UTF-8?q?4.18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- .cookiecutterrc | 2 +- README.rst | 4 ++-- docs/conf.py | 2 +- setup.py | 2 +- src/geophires_x/__init__.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 1af6dbac..dc495184 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.4.17 +current_version = 3.4.18 commit = True tag = True diff --git a/.cookiecutterrc b/.cookiecutterrc index a0d98df6..2fc8c392 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.4.17 + version: 3.4.18 version_manager: "bump2version" website: "https://github.com/NREL" year_from: "2023" diff --git a/README.rst b/README.rst index 4620e830..589284c3 100644 --- a/README.rst +++ b/README.rst @@ -47,9 +47,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.4.17.svg +.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.4.18.svg :alt: Commits since latest release - :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.4.17...main + :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.4.18...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 9eb3aec1..d48502a5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ year = '2023' author = 'NREL' copyright = f'{year}, {author}' -version = release = '3.4.17' +version = release = '3.4.18' pygments_style = 'trac' templates_path = ['./templates'] diff --git a/setup.py b/setup.py index 7894d6b4..dbdb1c88 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def read(*names, **kwargs): setup( name='geophires-x', - version='3.4.17', + version='3.4.18', license='MIT', description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.', long_description='{}\n{}'.format( diff --git a/src/geophires_x/__init__.py b/src/geophires_x/__init__.py index d69e0c4a..e26fde22 100644 --- a/src/geophires_x/__init__.py +++ b/src/geophires_x/__init__.py @@ -1 +1 @@ -__version__ = '3.4.17' +__version__ = '3.4.18' From a49586b062231c8ca7ddea94ce32e4002ef0a519 Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Thu, 7 Mar 2024 07:29:01 -0800 Subject: [PATCH 07/11] Move schema generator test to its own subpackage --- tests/geophires_x_schema_generator_tests/__init__.py | 0 .../test_geophires_x_schema_generator.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/geophires_x_schema_generator_tests/__init__.py rename tests/{ => geophires_x_schema_generator_tests}/test_geophires_x_schema_generator.py (100%) diff --git a/tests/geophires_x_schema_generator_tests/__init__.py b/tests/geophires_x_schema_generator_tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/test_geophires_x_schema_generator.py b/tests/geophires_x_schema_generator_tests/test_geophires_x_schema_generator.py similarity index 100% rename from tests/test_geophires_x_schema_generator.py rename to tests/geophires_x_schema_generator_tests/test_geophires_x_schema_generator.py From 21a889f9a2e802e40bc520f89b6e56ec1259ce48 Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Thu, 7 Mar 2024 07:37:37 -0800 Subject: [PATCH 08/11] Use __name__ instead of root for client logger https://github.com/NREL/GEOPHIRES-X/issues/111#issuecomment-1964462981 --- src/geophires_x_client/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/geophires_x_client/__init__.py b/src/geophires_x_client/__init__.py index aec9bc5d..9e4e0864 100644 --- a/src/geophires_x_client/__init__.py +++ b/src/geophires_x_client/__init__.py @@ -12,7 +12,10 @@ class GeophiresXClient: - def __init__(self, enable_caching=True, logger_name='root'): + def __init__(self, enable_caching=True, logger_name=None): + if logger_name is None: + logger_name = __name__ + self._logger = _get_logger(logger_name=logger_name) self._enable_caching = enable_caching self._cache = {} From 2de4377d62cd32a77a6bea45996edab3d6d1cce0 Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Thu, 7 Mar 2024 07:37:44 -0800 Subject: [PATCH 09/11] =?UTF-8?q?Bump=20version:=203.4.18=20=E2=86=92=203.?= =?UTF-8?q?4.19?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- .cookiecutterrc | 2 +- README.rst | 4 ++-- docs/conf.py | 2 +- setup.py | 2 +- src/geophires_x/__init__.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index dc495184..952f3feb 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.4.18 +current_version = 3.4.19 commit = True tag = True diff --git a/.cookiecutterrc b/.cookiecutterrc index 2fc8c392..6df577fe 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.4.18 + version: 3.4.19 version_manager: "bump2version" website: "https://github.com/NREL" year_from: "2023" diff --git a/README.rst b/README.rst index 589284c3..e103470f 100644 --- a/README.rst +++ b/README.rst @@ -47,9 +47,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.4.18.svg +.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.4.19.svg :alt: Commits since latest release - :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.4.18...main + :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.4.19...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 d48502a5..a18b0107 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ year = '2023' author = 'NREL' copyright = f'{year}, {author}' -version = release = '3.4.18' +version = release = '3.4.19' pygments_style = 'trac' templates_path = ['./templates'] diff --git a/setup.py b/setup.py index dbdb1c88..e4cfe2e5 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def read(*names, **kwargs): setup( name='geophires-x', - version='3.4.18', + version='3.4.19', license='MIT', description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.', long_description='{}\n{}'.format( diff --git a/src/geophires_x/__init__.py b/src/geophires_x/__init__.py index e26fde22..a12cb983 100644 --- a/src/geophires_x/__init__.py +++ b/src/geophires_x/__init__.py @@ -1 +1 @@ -__version__ = '3.4.18' +__version__ = '3.4.19' From 9a215319e3e8a8a3f854a921ee24690321eed83b Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Thu, 7 Mar 2024 09:33:40 -0800 Subject: [PATCH 10/11] Mark HIP-RA as deprecated with HIP-RA-X as successor in READMEs (relevant to https://github.com/NREL/GEOPHIRES-X/issues/109) --- src/hip_ra/README.md | 5 +++++ src/hip_ra_x/README.md | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 src/hip_ra/README.md diff --git a/src/hip_ra/README.md b/src/hip_ra/README.md new file mode 100644 index 00000000..0f19d5e5 --- /dev/null +++ b/src/hip_ra/README.md @@ -0,0 +1,5 @@ +# HIP-RA: Deprecated + +HIP-RA is succeeded by HIP-RA-X as of 2024-03-06. + +See https://github.com/NREL/GEOPHIRES-X/tree/main/src/hip_ra_x diff --git a/src/hip_ra_x/README.md b/src/hip_ra_x/README.md index e5afed87..588b5414 100644 --- a/src/hip_ra_x/README.md +++ b/src/hip_ra_x/README.md @@ -1,5 +1,3 @@ -# HIP-RA-X: Under development +# HIP-RA-X -HIP-RA-X will be the successor version to HIP-RA. -As of 2024-01-31, HIP-RA-X is still under development and should not be used for actual calculations until work is -complete. (This README should be updated or deleted once HIP-RA-X is ready to be used as a replacement for HIP-RA.) +HIP-RA-X is the successor version to HIP-RA. From aed5196530434fa5b7f71441293f870d6e75364d Mon Sep 17 00:00:00 2001 From: softwareengineerprogrammer <4056124+softwareengineerprogrammer@users.noreply.github.com> Date: Thu, 7 Mar 2024 11:05:55 -0800 Subject: [PATCH 11/11] Use __name__ instead of root for client result & common logger https://github.com/NREL/GEOPHIRES-X/issues/111#issuecomment-1964462981 --- src/geophires_x_client/common.py | 5 ++++- src/geophires_x_client/geophires_x_result.py | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/geophires_x_client/common.py b/src/geophires_x_client/common.py index 5460cfe8..dbb076ad 100644 --- a/src/geophires_x_client/common.py +++ b/src/geophires_x_client/common.py @@ -4,13 +4,16 @@ _geophires_x_client_logger = None -def _get_logger(logger_name='root'): +def _get_logger(logger_name=None): global _geophires_x_client_logger if _geophires_x_client_logger is None: sh = logging.StreamHandler(sys.stdout) sh.setLevel(logging.INFO) sh.setFormatter(logging.Formatter(fmt='[%(asctime)s][%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')) + if logger_name is None: + logger_name = __name__ + _geophires_x_client_logger = logging.getLogger(logger_name) _geophires_x_client_logger.addHandler(sh) diff --git a/src/geophires_x_client/geophires_x_result.py b/src/geophires_x_client/geophires_x_result.py index 26e9b03a..523f6892 100644 --- a/src/geophires_x_client/geophires_x_result.py +++ b/src/geophires_x_client/geophires_x_result.py @@ -280,7 +280,9 @@ class GeophiresXResult: 'Reservoir Model', ) - def __init__(self, output_file_path, logger_name='root'): + def __init__(self, output_file_path, logger_name=None): + if logger_name is None: + logger_name = __name__ self._logger = _get_logger(logger_name) self.output_file_path = output_file_path