From a65b86cc142fd9406195ed2533b5cc419277f9f6 Mon Sep 17 00:00:00 2001 From: Bill Becker <42586683+Bill-Becker@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:21:03 -0700 Subject: [PATCH 1/3] Fix version numbers to be consistent with release tags --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abfe93ed2..203af3443 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,7 +27,7 @@ Classify the change according to the following categories: ### Patches -## v3.3.0 +## v3.4.0 ### Minor Updates #### Added - Added the following BAU outputs: lifecycle_chp_standby_cost_after_tax, lifecycle_elecbill_after_tax, lifecycle_production_incentive_after_tax, lifecycle_outage_cost, lifecycle_MG_upgrade_and_fuel_cost @@ -37,6 +37,10 @@ Classify the change according to the following categories: - Fixed setting of default Generator `installed_cost_per_kw` so that user inputs are not overridden - Avoid /summary endpoint error with off-grid runs where there is no ElectricTariff +## v3.3.0 +### Changed +- Updates to REopt.jl for passing API key + ## v3.2.3 ### Minor Updates ##### Changed From 2c0858ba1e905a99b3559020b0be489027d1cb1a Mon Sep 17 00:00:00 2001 From: bill-becker Date: Wed, 10 Jan 2024 19:25:20 -0700 Subject: [PATCH 2/3] Hot Fix check on year_one_bill_ is None --- reoptjl/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reoptjl/views.py b/reoptjl/views.py index 34ba57016..2884a5638 100644 --- a/reoptjl/views.py +++ b/reoptjl/views.py @@ -855,7 +855,7 @@ def queryset_for_summary(api_metas,summary_dict:dict): ) if len(tariffOuts) > 0: for m in tariffOuts: - if len(tariffInputs) > 0: + if (m.year_one_bill_before_tax_bau is not None) and (m.year_one_bill_before_tax is not None): summary_dict[str(m.meta.run_uuid)]['year_one_savings_us_dollars'] = m.year_one_bill_before_tax_bau - m.year_one_bill_before_tax else: summary_dict[str(m.meta.run_uuid)]['year_one_savings_us_dollars'] = 0.0 From 3aa88d10a06215fbe7a642c3a0e5b562835fc585 Mon Sep 17 00:00:00 2001 From: bill-becker Date: Wed, 17 Jan 2024 10:54:47 -0700 Subject: [PATCH 3/3] Add focus value of off-grid Return null for N/A values --- reoptjl/views.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/reoptjl/views.py b/reoptjl/views.py index 2884a5638..1438c6db9 100644 --- a/reoptjl/views.py +++ b/reoptjl/views.py @@ -830,7 +830,17 @@ def queryset_for_summary(api_metas,summary_dict:dict): summary_dict[str(m.meta.run_uuid)]['focus'] = "Financial" else: summary_dict[str(m.meta.run_uuid)]['focus'] = "Resilience" - + + # Use settings to find out if it is an off-grid evaluation + settings = Settings.objects.filter(meta__run_uuid__in=run_uuids).only( + 'meta__run_uuid', + 'off_grid_flag' + ) + if len(settings) > 0: + for m in settings: + if m.off_grid_flag: + summary_dict[str(m.meta.run_uuid)]['focus'] = "Off-grid" + tariffInputs = ElectricTariffInputs.objects.filter(meta__run_uuid__in=run_uuids).only( 'meta__run_uuid', 'urdb_rate_name' @@ -858,7 +868,7 @@ def queryset_for_summary(api_metas,summary_dict:dict): if (m.year_one_bill_before_tax_bau is not None) and (m.year_one_bill_before_tax is not None): summary_dict[str(m.meta.run_uuid)]['year_one_savings_us_dollars'] = m.year_one_bill_before_tax_bau - m.year_one_bill_before_tax else: - summary_dict[str(m.meta.run_uuid)]['year_one_savings_us_dollars'] = 0.0 + summary_dict[str(m.meta.run_uuid)]['year_one_savings_us_dollars'] = None load = ElectricLoadInputs.objects.filter(meta__run_uuid__in=run_uuids).only( 'meta__run_uuid', @@ -880,7 +890,10 @@ def queryset_for_summary(api_metas,summary_dict:dict): ) if len(fin) > 0: for m in fin: - summary_dict[str(m.meta.run_uuid)]['npv_us_dollars'] = m.npv + if m.npv is not None: + summary_dict[str(m.meta.run_uuid)]['npv_us_dollars'] = m.npv + else: + summary_dict[str(m.meta.run_uuid)]['npv_us_dollars'] = None summary_dict[str(m.meta.run_uuid)]['net_capital_costs'] = m.initial_capital_costs_after_incentives batt = ElectricStorageOutputs.objects.filter(meta__run_uuid__in=run_uuids).only(