Skip to content

Releases: NREL/REopt_API

Bug fixes to /v2, minor updates to /dev

29 Jun 03:40
Compare
Choose a tag to compare

What's Changed

  • Add stable easiur_costs endpoint to job by @indu-manogaran in #454
  • ERP/multiple outages - various minor changes/fixes by @hdunham in #453
  • Add AbsorptionChiller models, absorption_chiller_defaults/ endpoint to job/ app by @zolanaj in #424
  • Fix: merge migrations by @zolanaj in #458
  • Create v3 easuir_costs endpoint by @hdunham in #457
  • 427 summary endpoint for job app by @Bill-Becker in #464
  • Fix simulated_load error when supplying monthly energy by @hdunham in #456
  • Erp fixes by @hdunham in #465
  • absorption chiller; minor multiple outages changes/fixes; ERP calculation fixes; v3/easiur_costs; v3/summary; simulated_load bug by @hdunham in #455
  • Fix PV tilt defaulting for rooftop fixed by @hdunham in #466
  • ERP BESS SOC discretization improvement; peak_load_outage_times bug fix by @hdunham in #467
  • ERP BESS SOC discretization improvement; peak_load_outage_times bug fix; PV tilt default fix by @hdunham in #468
  • replace develop with new version num by @hdunham in #470
  • Fuel loads profile input fix by @Bill-Becker in #469
  • Hot fix: Fuel loads profile input by @Bill-Becker in #471

Full Changelog: v2.11.0...v2.11.1

Add Hybrid GHP

30 Mar 21:20
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.10.1...v2.11.0

v2.11.0

Minor Updates

Added
  • Enabled hybrid GHX sizing within the GHP model through the hybrid_ghx_sizing_method variable
    • User is able to select "Automatic" (REopt sizes GHX based on the smaller of the heating or cooling load), "Fractional" (GHX size is a user-defined fraction of the non-hybrid GHX size), or "None" (non-hybrid)
    • Auxiliary heater and cooler are both currently only electric
    • Outputs added to track the thermal production, electrical consumption, and size of the auxiliary unit
Changed
  • Updated default value init_sizing_factor_ft_per_peak_ton from 246.1 to 75 for the /ghpghx endpoint

hot fix: ERP max_outage_duration bug

24 Mar 18:22
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.10.0...v2.10.1

Stochastic/Multi-Outages: add Outages outputs and CHP; CHP defaults fixes

24 Mar 18:21
Compare
Choose a tag to compare

What's Changed

  • Integrate missing outages outputs from REopt.jl by @hdunham in #442
  • default ERP max_outage_duration to max in outage_durations by @hdunham in #444
  • Stochastic/Multi-Outages: add Outages outputs and CHP; CHP defaults fixes; by @Bill-Becker in #443

Full Changelog: v2.9.1...v2.10.0

Add v3 emissions_profile endpoint

18 Mar 19:46
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.9.0...v2.9.1

Added
  • In job/ app (v3): emissions_profile endpoint and view function that returns the emissions data for a location

Energy Resilience Performance tool, IRA defaults updates, CHP defaults, other minor

17 Mar 17:03
Compare
Choose a tag to compare

What's Changed

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 (calls ERPJob())
    • /erp/<run_uuid>/results endpoint that GETs the results of an ERP job (calls erp_results())
    • /erp/help endpoint that GETs the ERP input field info (calls erp_help())
    • /erp/chp_defaults endpoint that GETs ERP CHP/prime generator input defaults based on parameters prime_mover, is_chp, and size_kw (calls erp_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 of existing_boiler_production_type to hot_water_or_steam
    • CHP.size_class starting at 0 for average of other size_classes
    • CHP.max_size calculated based on heating load or electric load
  • 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 to scalar_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.

v2.8.0: IRA tax incentive and GhpGhx.jl updates

01 Feb 17:43
Compare
Choose a tag to compare

What's Changed

  • Use GhpGhx.jl in v2 by @Bill-Becker in #411
  • Tax incentives updates from passage of Inflation Reduction Act in v2 by @adfarth in #404
  • master <- dev: IRA incentives and GhpGhx.jl updates to v2 by @adfarth in #412

Full Changelog: v2.7.1...v2.8.0

v2.7.1

13 Jan 22:00
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.6.0...v2.7.1

Error passing from REopt.jl and Add Thermal Storages to job app (/dev)

04 Jan 20:03
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.5.0...v2.6.0

v2.6.0

Minor Updates

Added

  1. REoptjlMessageOutputs model to capture errors and warnings returned by REoptjl during input processing and post optimization
  2. Missing output fields for ExistingBoilerOutputs model
  3. API test job\test\posts\all_inputs_test.json to include all input models in a single API test
  • added HotThermalStorageInputs model
  • added HotThermalStorageOutputs model
  • added ColdThermalStorageInputs model
  • added ColdThermalStorageOutputs model
  • add HotThermalStorageOutputs
  • add ColdThermalStorageOutputs
  • 0012_coldthermalstorageinputs.... file used to add new models to the db

Changed

  1. Default values for the following fields were changed to align them with REopt API v2 (i.e. stable, and REopt.jl) defaults. As-is, these values are aligned with REopt v1 defaults. Units were unchanged.
  • FinancialInputs.elec_cost_escalation_rate_fraction from 0.023 to 0.019
  • FinancialInputs.offtaker_discount_rate_fraction from 0.083 to 0.0564
  • FinancialInputs.owner_discount_rate_fraction from 0.083 to 0.0564
  • PVInputs.installed_cost_per_kw from 1600 to 1592
  • PVInputs.om_cost_per_kw from 16 to 17
  • WindInputs.om_cost_per_kw from 16 to 35
  • ElectricStorageInputs.installed_cost_per_kw from 840 to 775
  • ElectricStorageInputs.installed_cost_per_kwh from 420 to 388
  • ElectricStorageInputs.replace_cost_per_kw from 410 to 440
  • ElectricStorageInputs.replace_cost_per_kwh from 200 to 220
  1. Modified julia_src\http.jl and julia_src\cbc\http.jl to return status 400 when REopt responds with an error
  2. Updated r["Messages"] in views.py to include REoptjlMessageOutputs errors and warnings

Add Cooling and Heating Load Outputs to job app (/dev -> /v3)

20 Dec 02:55
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.4.0...v2.5.0

v2.5.0

Minor Updates

Added
  • 0011_coolingloadinputs.... file used to add new models to the db
    In job/models.py:
  • added ExistingChillerInputs model
  • added ExistingChillerOutputs model
  • added CoolingLoadInputs model
  • added CoolingLoadOutputs model
  • added HeatingLoadOutputs model
    In job/process_results.py:
  • add ExistingChillerOutputs
  • add CoolingLoadOutputs
  • add HeatingLoadOutputs
    In `job/validators.py:
  • add time series length validation on CoolingLoadInputs->thermal_loads_ton and CoolingLoadInputs->per_time_step_fractions_of_electric_load
    In job/views.py:
  • add new input/output models to properly save the inputs/outputs