Energy Resilience Performance tool, IRA defaults updates, CHP defaults, other minor
What's Changed
- Add db index for MessageModel and PVModel by @Bill-Becker in #420
- change ubuntu-18.04 to ubuntu-latest in github actions by @hdunham in #433
- Multiple outages by @hdunham in #381
- TES MACRS by @adfarth in #432
- IRA tax updates to PV, WIND, CHP, ELECTRIC STORAGE, & THERMAL STORAGE by @bpulluta in #434
- Return has_stacktrace true/false value by @rathod-b in #429
- Add /dev/schedule_stats endpoint by @Bill-Becker in #436
- Energy Performance and Reliability Tool by @hdunham in #365
- Chp defaults mods; add and change outputs (v3); bug fix (v2) by @Bill-Becker in #440
- add and change outputs (v3); bug fix (v2) by @adfarth in #435
- Energy Resilience Performance tool, IRA defaults updates, CHP defaults, other minor by @Bill-Becker in #438
New Contributors
Full Changelog: v2.8.0...v2.9.0
From CHANGELOG.md:
v2.9.0
Minor Updates
Added
- Energy Resilience and Performance Tool:
- Uses functionality added to the REopt Julia package in v0.27.0 to calculate outage survival reliability metrics for a DER scenario, which can be based on the results of a REopt optimization
- Django models ERPMeta, ERPGeneratorInputs, ERPPrimeGeneratorInputs, ERPElectricStorageInputs, ERPPVInputs, ERPOutageInputs, ERPOutputs
/erp
endpoint to which users POST ERP inputs (callsERPJob()
)/erp/<run_uuid>/results
endpoint that GETs the results of an ERP job (callserp_results()
)/erp/help
endpoint that GETs the ERP input field info (callserp_help()
)/erp/chp_defaults
endpoint that GETs ERP CHP/prime generator input defaults based on parametersprime_mover
,is_chp
, andsize_kw
(callserp_chp_prime_gen_defaults()
)- Tests in
resilience+stats/tests/test_erp.py
- In job/ app (v3), added Financial year_one_om_costs_before_tax_bau, lifecycle_om_costs_after_tax_bau
- Added field production_factor_series to Django models WindOutputs and PVOutputs
- In REoptjlMessageOutputs added a has_stacktrace field to denote if response has a stacktrace error or not. Default is False.
- Added access to the multiple outage stochastic/robust modeling capabilities in REopt.jl. Not all inputs and outputs are exposed, but the following are:
- SiteInputs: min_resil_time_steps
- ElectricUtilityInputs: outage_start_time_steps, outage_durations, outage_probabilities
- OutageOutputs: expected_outage_cost, max_outage_cost_per_outage_duration, unserved_load_series, unserved_load_per_outage, microgrid_upgrade_capital_cost, generator_fuel_used_per_outage
- Added test using multiple outage modeling
- Add /dev/schedule_stats endpoint
Changed
- Update REopt.jl to v0.28.0 for job app (/dev -> v3)
/job/chp_defaults
endpoint updated to take optional electric load metrics for non-heating CHP (Prime Generator in UI)- Changed
/chp_defaults
input ofexisting_boiler_production_type
tohot_water_or_steam
CHP.size_class
starting at 0 for average of other size_classesCHP.max_size
calculated based on heating load or electric load
- Changed
- In job/ app (v3), changed Financial breakeven_cost_of_emissions_reduction_per_tonnes_CO2 to breakeven_cost_of_emissions_reduction_per_tonne_CO2
- In job/ app (v3), changed default ElectricLoad year to 2022 if user provides load data and 2017 if using CRBD
- Changed
scalar_to_vector
helper function toscalar_or_monthly_to_8760
- Changed GeneratorInputs fields fuel_slope_gal_per_kwh and fuel_intercept_gal_per_hr to electric_efficiency_full_load and electric_efficiency_half_load to represent the same fuel burn curve in a different way consistent with CHPInputs
- Updated the following default values to job/ app (v3):
- federal_itc_fraction to 0.3 (30%) in models PVInputs, WindInputs, and CHPInputs
- total_itc_fraction to 0.3 (30%) in models HotWaterStorageInputs, ColdWaterStorageInputs, and ElectricStorageInputs
- *macrs_bonus_fraction to 0.8 (80%) in models PVInputs, WindInputs, CHPInputs, PV, HotWaterStorageInputs, ColdWaterStorageInputs, and ElectricStorageInputs
- macrs_option_years to 7 years in models HotWaterStorageInputs and ColdWaterStorageInputs
- In
reo/nested_inputs.py
v2 inputs (defaults_dict[2]
), updated the following default values in models ColdThermalStorageInputs, HotThermalStorageInputs- macrs_option_years to 7 (years)
- macrs_bonus_pct to 0.8 (80%)
- In
reo/nested_inputs.py
v2 inputs (defaults_dict[2]
), updated the following default values:- ColdTES, HotTES: macrs_option_years to 7 (years)
- ColdTES, HotTES: *macrs_bonus_pct to 0.8 (80%)
- Updated the following default values to job/ app (v3):
- PV, Wind, Storage, CHP, Hot Water Storage, Cold Water Storage, Electric Storage: federal_itc_fraction(PV,Wind,CHP) and total_itc_fraction(Hot Water Storage, Cold Water Storage, Electric Storage) to 0.3 (30%)
- PV, Wind, Storage, CHP, Hot Water Storage, Cold Water Storage, Electric Storage: *macrs_bonus_fraction to 0.8 (80%)
- Hot Water Storage and Cold Water Storage: macrs_option_years to 7 years
Use TransactionTestCase instead of TestCase (this avoids whole test being wrapped in a transaction which leads to a TransactionManagementError when doing a database query in the middle)
- Updated ubuntu-18.04 to ubuntu-latest in GitHub push/pull tests because 18.04 was deprecated in GitHub Actions
Fixed
- In reo (v2), calculation of
net_capital_costs_plus_om
was previously missing addition sign for fuel charges. Corrected this equation.