Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
674 commits
Select commit Hold shift + click to select a range
f7a2d28
update authors
hdunham Dec 23, 2024
37d32e1
typo
hdunham Dec 23, 2024
d3889bb
Merge pull request #454 from NREL/norm-scale-load
Bill-Becker Dec 26, 2024
59b21f3
Make Solar Dataset "intl" test same as others
Bill-Becker Dec 26, 2024
ec30fa8
Update CHANGELOG.md for v0.49.0
Bill-Becker Dec 26, 2024
56afa4a
Merge pull request #467 from NREL/develop
Bill-Becker Dec 26, 2024
495d242
Update Project.toml with new version
Bill-Becker Dec 26, 2024
273796b
Hot Fix: Remove error throw with inconsistent load year between elect…
Bill-Becker Dec 27, 2024
4afa4bf
Merge pull request #468 from NREL/develop
Bill-Becker Dec 27, 2024
2744f7e
Update Changelog and patch version in Project.toml
Bill-Becker Dec 27, 2024
f70e6e1
Merge branch 'master' of https://github.com/NREL/REopt.jl
Bill-Becker Dec 27, 2024
8d8cf6e
Add test note about force_dispatch for cooling
Bill-Becker Jan 3, 2025
fd2a0da
Merge branch 'develop' into after-tax-savings
Bill-Becker Jan 3, 2025
db4228b
Fix handling of leap year for urdb rate tariff - truncate last day of…
Bill-Becker Jan 4, 2025
e82348b
Fix leap year timestep adjustments for demand charges
Bill-Becker Jan 6, 2025
cc70963
Merge branch 'develop' into gridRE-dev
Jan 6, 2025
c51e442
Merge branch 'develop' into avert-update
Jan 6, 2025
4b58f6a
Update expected test LCC result value with a leap year analysis
Bill-Becker Jan 6, 2025
b94a25e
Update CHANGELOG.md
Jan 6, 2025
418c422
Add tests for leap year energy and demand charge alignment with load …
Bill-Becker Jan 7, 2025
7b116c7
Improve test description, avoid using Dates.jl in runtests.jl
Bill-Becker Jan 7, 2025
5511ac2
Improve test description, avoid using Dates.jl in runtests.jl
Bill-Becker Jan 7, 2025
3a620f5
Add leap year test input file
Bill-Becker Jan 7, 2025
780dde3
Add leap year test input file
Bill-Becker Jan 7, 2025
a381abe
Fix input file path formatting
Bill-Becker Jan 7, 2025
fdcdd6a
Fix input file path formatting
Bill-Becker Jan 7, 2025
210ec72
rm inaccurate note in docstring
hdunham Jan 8, 2025
b7f4590
Update changelog for leap year fix
Bill-Becker Jan 8, 2025
d6f7d4f
Include 2023 and 2024 years for all new tests
Bill-Becker Jan 8, 2025
fc9208b
Include 2023 and 2024 years for all new tests
Bill-Becker Jan 8, 2025
196e37d
Merge pull request #470 from NREL/leap-year-fix
Bill-Becker Jan 8, 2025
dd13bed
Update year input for HeatingLoad
Bill-Becker Jan 9, 2025
60376db
Add year input for CoolingLoad
Bill-Becker Jan 9, 2025
f472f9a
Remove year=2017 requirement for ElectricLoad
Bill-Becker Jan 9, 2025
160ed67
Avoid passing year twice to constructors, make load consistency requi…
Bill-Becker Jan 9, 2025
93fac74
Shift CRB load profiles to match the starting day of the input year, …
Bill-Becker Jan 9, 2025
a6c42ca
Fix leap year handling for helper function get_monthly_energy for sim…
Bill-Becker Jan 9, 2025
b244565
Update simulated_load() for year input and alignment across loads
Bill-Becker Jan 9, 2025
d3b5c60
Add tests for load alignment based on year input
Bill-Becker Jan 9, 2025
64b54a0
Merge branch 'develop' into load-year-align
Bill-Becker Jan 9, 2025
5384b5f
Update changelog for load align fix
Bill-Becker Jan 9, 2025
7406353
Merge branch 'develop' into max-ashp-output
zolanaj Jan 9, 2025
be8197c
small text updates
Jan 9, 2025
7af1601
Require year input, in particular with ElectricLoad.loads_kw input
Bill-Becker Jan 10, 2025
c100eee
Add year input to fix tests with loads_kw
Bill-Becker Jan 10, 2025
a4e0fd9
add ASHP test case for force_dispatch=true, min_ton=0.0
zolanaj Jan 10, 2025
9d2ea82
small update to normalize explanation
Jan 10, 2025
2b10ede
Change CRB profile year alignment strategy
Bill-Becker Jan 13, 2025
77abfc0
fix typo
hdunham Jan 13, 2025
e5a55e3
Add more updates to Changelog.
Bill-Becker Jan 13, 2025
c91743c
Merge branch 'load-year-align' of https://github.com/NREL/REopt.jl in…
Bill-Becker Jan 13, 2025
6a922dc
clarify comment
hdunham Jan 13, 2025
4836ea3
update comment
hdunham Jan 13, 2025
5745957
Merge branch 'develop' into avert-update
Jan 13, 2025
e812def
Merge branch 'avert-update' of https://github.com/NREL/REopt.jl into …
Jan 13, 2025
c9c1aaa
Merge branch 'develop' into gridRE-dev
Jan 13, 2025
cdcd928
Fix test input for doe_reference_name
Bill-Becker Jan 13, 2025
5f46a78
Update test with get_monthly_energy() now that it's consistent with l…
Bill-Becker Jan 13, 2025
d62ef0e
updating CoolingLoad help text
Jan 13, 2025
5d700be
Update changelog for required year for heating and cooling load profi…
Bill-Becker Jan 14, 2025
74d362d
Make ElectricTariff.year = nothing by default, passed from ElectricLo…
Bill-Becker Jan 14, 2025
375289e
Include industrial_reference_names for process heat default year of 2017
Bill-Becker Jan 14, 2025
f67b06c
Merge branch 'load-year-align' of https://github.com/NREL/REopt.jl in…
Bill-Becker Jan 14, 2025
2e4b8e3
Merge pull request #472 from NREL/load-year-align
Bill-Becker Jan 14, 2025
9bdfe18
Merge branch 'master' into develop
Bill-Becker Jan 14, 2025
f57e86d
Merge branch 'develop' into max-ashp-output
zolanaj Jan 17, 2025
04cdfaf
suppress log to console in ASHP tests
zolanaj Jan 17, 2025
0a0983a
allow nothing as input for max_ton so default is used
zolanaj Jan 17, 2025
cb86bb2
adjust big M's for max system size to allow storage
zolanaj Jan 17, 2025
46363d9
reduce max system size for big-M management if very large number is p…
zolanaj Jan 17, 2025
d5983c4
Update CHANGELOG.md
zolanaj Jan 17, 2025
64f9732
Merge pull request #462 from NREL/max-ashp-output
zolanaj Jan 17, 2025
d216c9d
set ASHP default force_dispatch = true
zolanaj Jan 19, 2025
90b4d58
update force_dispatch in ASHP tests
zolanaj Jan 19, 2025
907d43a
Update docs to reflect default force_dispatch=true
Bill-Becker Jan 21, 2025
1332d08
Change default min_allowable_peak_capacity_fraction to 0.25
Bill-Becker Jan 21, 2025
e2c8e3c
Merge pull request #474 from NREL/ashp-force-dispatch-true
Bill-Becker Jan 21, 2025
3dfbb76
Update CHANGELOG for pending v0.50.0
Bill-Becker Jan 21, 2025
159ceb8
Merge pull request #473 from NREL/develop
Bill-Becker Jan 21, 2025
838dace
Update version # for Jan 2025 updates
Bill-Becker Jan 21, 2025
3dcbc13
Merge branch 'avert-update' into gridRE-dev
Jan 23, 2025
7b161a7
function name update
Jan 23, 2025
3c0004b
Update CHANGELOG.md
Jan 23, 2025
a399b08
Merge branch 'develop' into gridRE-dev
Jan 23, 2025
4b60d68
Update runtests.jl
Jan 23, 2025
06e4366
remove TODO
Jan 23, 2025
0653de3
fix merge issues, simplify results code
Jan 24, 2025
af1c35a
Merge remote-tracking branch 'origin/gridRE-dev' into reconcile-total…
zolanaj Jan 28, 2025
bc1ea5f
rm electric heater and ASHP from surplus calculation
zolanaj Jan 28, 2025
1d257d1
add new electric load result that includes converted thermal loads
zolanaj Jan 28, 2025
a901eb2
update RE fraction tests
zolanaj Jan 28, 2025
94615d0
update new result annual_kwh_with_thermal_conversion
zolanaj Jan 28, 2025
c9a68f0
rm result annual_kwh_with_thermal_conversion
zolanaj Jan 29, 2025
ba03fb1
new result Site.electric_load_converted_from_thermal_kwh
zolanaj Jan 29, 2025
756dd7a
update RE tests
zolanaj Jan 29, 2025
0f3173f
Update Project.toml
Jan 30, 2025
2ba6c06
Merge branch 'develop' into gridRE-dev
Jan 30, 2025
3458e38
update julia version in workflows
Jan 30, 2025
a30e347
Update Manifest.toml
Jan 31, 2025
85dc3e6
change just github workflows to 1.10
Feb 5, 2025
c8b1855
Update CI.yml
Feb 5, 2025
413ccf6
Update CI.yml
Feb 6, 2025
6ff55cd
julia 1.10
Feb 6, 2025
76a385f
manifest and project updates
zolanaj Feb 7, 2025
75cbde1
rm supplementary thermal from RE calc (double-counted)
zolanaj Feb 7, 2025
136dbc4
Let AnnualREHeatkWh and AnnualHeatkWh be expressions in all cases
zolanaj Feb 7, 2025
ce694d9
adjust site electric load for cooling
zolanaj Feb 7, 2025
ae5dfd2
update sets of RE Heat to be only fuel-burnign techs
zolanaj Feb 7, 2025
1499d3c
update comments to describe end-use consumed heat
zolanaj Feb 7, 2025
f8d1115
update RE Heat calc to include accounting of storage losses
zolanaj Feb 7, 2025
8bd8c93
include cooling loads in converted values
zolanaj Feb 7, 2025
b16e4ff
make expressions in site results model objects
zolanaj Feb 7, 2025
d89da90
fix storage loss calcs
zolanaj Feb 7, 2025
0bc9ad7
change new results field to annual_electric_load_with_thermal_convers…
zolanaj Feb 10, 2025
efca6e2
use if statements to avoid NaN values when storage loss = 0
zolanaj Feb 10, 2025
067c389
update tests to use new results measure
zolanaj Feb 10, 2025
4fc40d6
rm commented TODO on reconciliation of electrified thermal loads
zolanaj Feb 10, 2025
426c872
Update CHANGELOG.md
zolanaj Feb 10, 2025
10beca4
add attribute num_hours to HotSensibleTes
zolanaj Feb 11, 2025
9e60305
use num_hours to enforce proportion of kw to kwh for HotSensibleTes
zolanaj Feb 11, 2025
efe8bed
add new attribute ElectricUtility.transmission_limit_kw
zolanaj Feb 11, 2025
be74d5f
Update docstrings in site.jl
zolanaj Feb 11, 2025
3ed47ce
Update docstrings in site.jl
zolanaj Feb 11, 2025
5e527d6
move total elec to ElectricLoad and describe outputs
Feb 11, 2025
9894d82
Merge branch 'gridRE-dev' into reconcile-total-site-load
Feb 11, 2025
0d31aa9
no annual_electric_load_with_thermal_conversions_kwh for multinode
Feb 11, 2025
9f8e9b0
add constraint to limit hourly imports and exports
zolanaj Feb 11, 2025
1757936
allow steam turbine to waste heat
zolanaj Feb 12, 2025
ab11e69
increase max benefits for wholesale
zolanaj Feb 12, 2025
d454556
Merge pull request #456 from NREL/reconcile-total-site-load
zolanaj Feb 12, 2025
d2a7098
Merge branch 'add-cst-step1' into merge-develop-to-step1
zolanaj Feb 12, 2025
d34191e
Merge branch 'develop' into after-tax-savings
Bill-Becker Feb 13, 2025
0bc4634
separate TES charge and discharge hours
zolanaj Feb 14, 2025
bdd2563
use stored energy for thermal decay of HotSensibleTES
zolanaj Feb 14, 2025
f4c74c2
rm area input to call_pvwatts_api
zolanaj Feb 14, 2025
1ec3da0
uncomment PV production
zolanaj Feb 14, 2025
6ca58b8
fix hot sensible TES storage charge/discharge constraint
zolanaj Feb 14, 2025
d07dfd6
Fix incomplete lifecycle capital cost result metric
Bill-Becker Feb 17, 2025
40a1b07
Fix tests after adding CapEx expressions to lifecycle_capital_costs a…
Bill-Becker Feb 18, 2025
d63e488
Change where assigning zero to model objects not in multi-node
Bill-Becker Feb 19, 2025
cb626a8
Remove combined AvoidedCost for ASHPSpaceHeater and ASHPWaterHeater b…
Bill-Becker Feb 19, 2025
38164c9
Add financial year_one fuel cost before and after tax
Bill-Becker Feb 19, 2025
d66746a
Remove duplicative subtraction of avoided costs
Bill-Becker Feb 19, 2025
608c4e9
Merge pull request #426 from NREL/gridRE-dev
adfarth Feb 19, 2025
7cb0659
changelog and project.toml
Feb 19, 2025
e1fbf41
rm superfluous techs from tech_renewable_energy_fraction keys
zolanaj Feb 19, 2025
ea4f117
update tech_renewable_energy_fraction sets in BAUInputs
zolanaj Feb 20, 2025
34c7b77
add warning for inaccurate RE fractions with steam turbine included
zolanaj Feb 20, 2025
0c3ad3f
Update CHANGELOG.md
zolanaj Feb 20, 2025
789bee7
Fix CoolingLoad monthly_fractions input
Bill-Becker Feb 21, 2025
7c98191
Remove extra/unneeded check for cooling load doe ref name in simulate…
Bill-Becker Feb 21, 2025
d0e1d95
Avoid converting intentional Vector{String} types to Vector{Float64} …
Bill-Becker Feb 21, 2025
eaaba68
Merge branch 'develop' into merge-develop-to-step1
zolanaj Feb 21, 2025
ac41e80
revert to develop projecct and manifest toml files
zolanaj Feb 21, 2025
480ffd7
add argument b to function add_hot_thermal_storage_dispatch_constraints
zolanaj Feb 21, 2025
1b76b8a
fix assignment of cooling_cf for ExistingChiller
zolanaj Feb 24, 2025
258c922
move sam folder to original location
zolanaj Feb 24, 2025
d20dd3d
change directory path to SAM from CST module
zolanaj Feb 24, 2025
189bd3f
add tech notes
Feb 24, 2025
5309d04
generalize import/export constraint name for multinode
zolanaj Feb 24, 2025
5f6400e
Update generator.jl
Feb 25, 2025
42826b1
rm print statements from SSC CST processing
zolanaj Feb 25, 2025
8e84116
Merge pull request #478 from NREL/develop
adfarth Feb 26, 2025
2619847
rm repeated offgrid techs from merge conflict resolution
zolanaj Feb 27, 2025
cc71ab1
fix pbi initial commit
Feb 27, 2025
992b0e7
add parameter to steam turbine for sending heat to ambient environment
zolanaj Feb 27, 2025
68a7b3d
refactoring, rm print statements and old TODO
zolanaj Feb 27, 2025
682149e
Update new capital_costs.._without_macrs to also include present-valu…
Bill-Becker Feb 28, 2025
bcd8880
Add standby charges to proforma metrics calcs
Bill-Becker Mar 2, 2025
c0362eb
Add year_one_total_cost and savings metrics to Financial results
Bill-Becker Mar 3, 2025
795668c
Add test for after-tax savings and new capital cost metrics for alt p…
Bill-Becker Mar 3, 2025
516fe7c
Add new after-tax cost outputs to doc strings
Bill-Becker Mar 3, 2025
44ff7f1
Merge branch 'develop' into after-tax-savings
Bill-Becker Mar 3, 2025
e3aa384
add test
Mar 3, 2025
0388b81
Update runtests.jl
adfarth Mar 3, 2025
7171648
Remove space(s) between doc string and struct or function so that doc…
Bill-Becker Mar 4, 2025
523045d
Update @refs in Scenario doc string so that it refers to an active ob…
Bill-Becker Mar 4, 2025
2ecc74b
Update runtests.jl
adfarth Mar 4, 2025
1d79d81
Update install instructions
Bill-Becker Mar 4, 2025
da35db7
Update examples.md for docs with HiGHS and clarify
Bill-Becker Mar 4, 2025
c7dc293
Update inputs.md, add CoolingLoad
Bill-Becker Mar 4, 2025
55fd9e3
Make docs/Project.toml consistent with REopt.jl for Julia version compat
Bill-Becker Mar 4, 2025
7d5792d
Update runtests.jl
adfarth Mar 4, 2025
7dc82c1
update docs clarity
hdunham Mar 5, 2025
07f1215
remove () after run_reopt in docs to fix broken ref
hdunham Mar 5, 2025
6e6eff5
correct (env) in instructions
hdunham Mar 5, 2025
844c370
Update CHANGELOG.md
Bill-Becker Mar 5, 2025
68c6a79
Merge pull request #483 from NREL/docs-update-march25
Bill-Becker Mar 5, 2025
99a509a
Merge branch 'develop' into fix-pbi
adfarth Mar 5, 2025
66fc49d
Merge branch 'develop' into fix-tech-set-for-re-fraction
adfarth Mar 5, 2025
28a393a
Update CHANGELOG.md
hdunham Mar 5, 2025
cc3abd0
include Generator renewable energy fraction in BAU case
zolanaj Mar 5, 2025
0ce4f17
add attribute fuel_renewable_energy_fraction to boiler
zolanaj Mar 5, 2025
03d5f38
populate tech_renewable_eenrgy_fraction one tech at a time (start wit…
zolanaj Mar 5, 2025
a4331e0
Merge branch 'fix-tech-set-for-re-fraction' of https://github.com/NRE…
zolanaj Mar 5, 2025
a853c7c
Merge branch 'develop' into fix-tech-set-for-re-fraction
zolanaj Mar 5, 2025
beca4b4
Update CHANGELOG.md
zolanaj Mar 5, 2025
8accbf3
default by fuel type
adfarth Mar 5, 2025
219096f
rm superfluous population of boiler prod. factor
zolanaj Mar 5, 2025
bb7e370
Merge branch 'fix-tech-set-for-re-fraction' of https://github.com/NRE…
zolanaj Mar 5, 2025
753fcf9
fix fuel default
adfarth Mar 6, 2025
3353a69
use get() function for boiler RE default
zolanaj Mar 6, 2025
51494c8
Merge branch 'fix-tech-set-for-re-fraction' of https://github.com/NRE…
zolanaj Mar 6, 2025
c8a050c
exclude turbine in RE electricity calc
zolanaj Mar 6, 2025
07489f2
allow turbine to curtail in backpressure stem turbine test
zolanaj Mar 6, 2025
fb5211b
Revert "allow turbine to curtail in backpressure stem turbine test"
zolanaj Mar 6, 2025
be7077a
Merge pull request #479 from NREL/fix-tech-set-for-re-fraction
zolanaj Mar 7, 2025
9d1df3e
Merge branch 'develop' into fix-pbi
adfarth Mar 7, 2025
f50951e
Merge branch 'develop' into merge-develop-to-step1
zolanaj Mar 7, 2025
aadc8a8
Merge branch 'develop' into after-tax-savings
adfarth Mar 10, 2025
f8a9fed
rm outdated statements
adfarth Mar 10, 2025
8ca0d41
fix changelog
hdunham Mar 10, 2025
215a653
Merge branch 'add-cst-step1' into merge-develop-to-step1
zolanaj Mar 11, 2025
488393e
Move AvoidedCost terms to front of initial_capex
Bill-Becker Mar 11, 2025
f9ca995
Update discount rate for battery replacement in new CapEx result metric
Bill-Becker Mar 11, 2025
1ef6112
Name changes and docs updates
Bill-Becker Mar 11, 2025
9d68275
Add after-tax-savings updates to CHANGELOG
Bill-Becker Mar 11, 2025
8d9223a
Complete total_operating_cost name changes
Bill-Becker Mar 11, 2025
b04f0a8
Fix Multiple Site tests by adding *_n
Bill-Becker Mar 11, 2025
7ffbb20
doc string updates
adfarth Mar 12, 2025
dacc1dd
Update proforma.jl
adfarth Mar 12, 2025
cc89042
Update financial.jl
adfarth Mar 12, 2025
24eadda
update help text
adfarth Mar 12, 2025
103eb44
Merge branch 'develop' into after-tax-savings
adfarth Mar 12, 2025
bf52772
Merge pull request #477 from NREL/after-tax-savings
Bill-Becker Mar 12, 2025
5a1a9d0
Update CHANGELOG.md
Bill-Becker Mar 12, 2025
dd18be8
Update Project.toml to v0.51.1
Bill-Becker Mar 12, 2025
0ad2199
Create cst.json
zolanaj Mar 12, 2025
b4d3ead
Update README.md to be consistent with Docs updates, center around op…
Bill-Becker Mar 12, 2025
e24d5f2
Minor updates to README.md
Bill-Becker Mar 12, 2025
304c54e
add CST test
zolanaj Mar 12, 2025
ce10fb2
Merge branch 'master' into develop
Bill-Becker Mar 21, 2025
2834f6a
Merge branch 'develop' into fix-pbi
adfarth Apr 2, 2025
7bd220e
add more pbi tests
zolanaj Apr 3, 2025
8624dc6
add pbi attributes to SteamTurbine
zolanaj Apr 3, 2025
a1c9b3d
update pbi attribute docstrings for electric techs
zolanaj Apr 3, 2025
8145f6f
Update CHANGELOG.md
zolanaj Apr 4, 2025
e1c0561
Merge pull request #482 from NREL/fix-pbi
adfarth Apr 15, 2025
d15112a
Merge branch 'develop' into merge-develop-to-step1
zolanaj Apr 16, 2025
02ec5f1
Merge branch 'add-cst-step1' into merge-develop-to-step1
zolanaj Apr 16, 2025
fdeb80a
Merge pull request #490 from NREL/merge-develop-to-step1
zolanaj Apr 18, 2025
3648c23
Merge remote-tracking branch 'origin/add-cst-reopt' into update-cst-r…
zolanaj Apr 19, 2025
bec86a7
move SAM files to common folder
zolanaj Apr 30, 2025
5f72e94
rm extra default files
zolanaj Apr 30, 2025
b07538b
add function check_api_email
zolanaj Apr 30, 2025
3074192
use developer email in NSRDB request
zolanaj Apr 30, 2025
fdfc0c4
add NREL_DEVELOPER_EMAIL to env, docs
zolanaj Apr 30, 2025
4bc35eb
Merge remote-tracking branch 'origin/add-cst-reopt' into update-cst-r…
zolanaj Apr 30, 2025
f1a0c4c
Update CHANGELOG.md
zolanaj May 1, 2025
0c04ea8
add CST to docs
zolanaj May 1, 2025
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 .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
julia-version: ['1.8']
julia-version: ['1.10']
julia-arch: [x64]
os: [windows-latest]

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@latest
with:
version: '1.8'
version: '1.10'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
Expand Down
128 changes: 123 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Guidelines
- When making a Pull Request into `develop` start a new double-hash header for "Develop - YYYY-MM-DD"
- When working in feature branch, start a new double-hash header with the name of the branch and record changes under that
- When merging `develop` into a feature branch, keep the feature branch section and the "Develop" section separate to simplify merge conflicts
- When making a Pull Request into `develop`, merge the feature branch section into the "Develop" section (if it exists), else rename the feature branch header to "Develop"
- When making a Pull Request into `master` change "Develop" to the next version number

### Formatting
Expand All @@ -23,16 +25,132 @@ Classify the change according to the following categories:
### Deprecated
### Removed

## Develop 2024-08-19

## fix-pbi
### Fixed
- Fix implementation of production-based incentives
### Added
- Added the fields `production_incentive_per_kwh`, `production_incentive_max_benefit`, `production_incentive_years`, and `production_incentive_max_kw` to the **SteamTurbine** struct.

## v0.51.1
### Added
- Added the following output fields: `year_one_fuel_cost_after_tax` for `ExistingBoiler`, `CHP`, `Generator`, and `Boiler`; `ElectricTariff`: `year_one_bill_after_tax` and `year_one_export_benefit_after_tax`, `Financial`: `capital_costs_after_non_discounted_incentives`, `year_one_total_operating_cost_savings_before_tax`, `year_one_total_operating_cost_savings_after_tax`, `year_one_total_operating_cost_before_tax`, `year_one_total_operating_cost_after_tax`, `year_one_fuel_cost_before_tax`, `year_one_fuel_cost_after_tax`, `year_one_chp_standby_cost_after_tax`, `year_one_chp_standby_cost_after_tax`, `GHP.avoided_capex_by_ghp_present_value`
- Add a warning so that when **SteamTurbine** is included, renewable energy fractions may not be accurate.
- Added new attribute **fuel_renewable_energy_fraction** to the technology **Boiler**.
### Changed
- Updated and fixed some `docs` pages: improved setup, using HiGHS solver, fixed docstrings
- Changed the name of the following output fields: `Financial.capital_costs_after_incentives_without_macrs` to `Financial.capital_costs_after_non_discounted_incentives_without_macrs`
### Fixed
- Update the **REoptInputs** parameter **tech_renewable_energy_fraction** so that only electricity-producing and fuel-burning heating technologies are included (instead of all technologies).
- Included the following in the `Financial.lifecycle_capital_costs` and `Financial.initial_capital_costs`: `m[Symbol("OffgridOtherCapexAfterDepr"*_n)] - m[Symbol("AvoidedCapexByGHP"*_n)] - m[Symbol("ResidualGHXCapCost"*_n)] - m[Symbol("AvoidedCapexByASHP"*_n)]`

## v0.51.0
### Added
- Add the following inputs to account for the clean or renewable energy fraction of grid-purchased electricity:
- **ElectricUtility** **cambium_cef_metric** to utilize clean energy data from NREL's Cambium database
- **ElectricUtility** **renewable_energy_fraction_series** to supply a custom grid clean or renewable energy scalar or series
- **Site** **include_grid_renewable_fraction_in_RE_constraints** - to allow user to choose whether to include grid RE in min max constraints
- Add the following outputs:
- **ElectricUtility** **annual_renewable_electricity_supplied_kwh**
- **Site** **onsite_and_grid_renewable_electricity_fraction_of_elec_load**
- **Site** **onsite_and_grid_renewable_energy_fraction_of_total_load**
- **ElectricLoad** **annual_electric_load_with_thermal_conversions_kwh** which calculates end-use electrical load after including electric consumption by heaters and chillers
- Add input option **optimize_soc_init_fraction** (defaults to false) to **ElectricStorage**, which makes the optimization choose the inital SOC (equal to final SOC) instead of using soc_init_fraction. The initial SOC is also constrained to equal the final SOC, which eliminates the "free energy" issue. We currently do not fix SOC when soc_init_fraction is used because this has caused infeasibility.
### Changed
- Change name of the following inputs:
- **ElectricUtility** input **cambium_metric_col** changed to **cambium_co2_metric**
- Change name of the following outputs:
- **ElectricUtility** **cambium_emissions_region** changed to **cambium_region**
- **Site** **annual_renewable_electricity_kwh** changed to **annual_onsite_renewable_electricity_kwh**
- **Site** **renewable_electricity_fraction** changed to **onsite_renewable_electricity_fraction_of_elec_load**
- **Site** **total_renewable_energy_fraction** changed to **onsite_renewable_energy_fraction_of_total_load**
- Change name of function (also available as endpoint through REopt API) from **cambium_emissions_profile** to **cambium_profile**
- Update AVERT emissions data to v4.3, which uses Regional Data Files for year 2023 for CONUS. For Alaska and Hawaii (regions AKGD, HIMS, HIOA), updated eGRID data to eGRID2022 datafile, adjusted to CO2e values. Emissions profiles are saved in `data/emissions/AVERT_Data`.
- Update Cambium API call for CO2e emissions within CONUS to Cambium 2023 dataset. This includes updates to the default values and valid options for the following **ElectricUtility** inputs: **cambium_scenario**, **cambium_location_type**, and **cambium_start_year**
- Update EMISSIONS_DECREASE_DEFAULTS from 0.02163 to 0.0459 based on Cambium 2023 data
- Update Julia version
### Fixed
- Make **ElectricTariff** **export_rate_beyond_net_metering_limit** and **wholesale_rate** with sub-hour time step work
- Update the expression `m[:AnnualEleckWh]` to include electrified thermal loads
- Update expressions `m[:AnnualREHeatkWh]` and `m[:AnnualHeatkWh]` so that only non-electrified thermal loads are included and storage losses are proportional to the contribution of fuel-burning technologies to charging storage

## v0.50.0
### Added
- New parameter `force_dispatch` in the **ASHPSpaceHeater** and **ASHPWaterHeater** technologies (default = `true`). When kept at `true`, the ASHP's thermal output will be the minimum of the site load(s) served and the system size (adjusted for timestep-specific capacity factor) in each period. If set to `false`, ASHP will do economic dispatch considering COP and CF along with electricity prices.
### Fixed
- Align heating and cooling load profiles based on electric load year input, if using custom electric load profile with simulated (CRB or schedule-based flatloads) heating/cooling loads
- Handling of leap years for `ElectricLoad.loads_kw` inputs to align with URDB rate structures
### Changed
- Make `year` input required with any custom load profile input (e.g. `ElectricLoad.loads_kw`, `SpaceHeatingLoad.fuel_loads_mmbtu_per_hour`)
- Shift and adjust CRB load profiles (i.e. with `doe_reference_name` input) based on the `year` input


## v0.49.1
### Changed
- Swap an error for a warning with inconsistent load-year between electric and heating

## v0.49.0
### Added
- Ability to normalize and scale a custom load profile input to annual or monthly energy input values, for all load types
### Changed
- Internal refactoring of the three types of heating loads into a single `HeatingLoad` struct
- Moved the annual_[energy] data from the load src files into the /data/load_profiles folder
### Fixed
- Constrained export to grid in the NEM bin (`dvProductionToGrid"*_n)][t, :NEM, ts`) to be 0 when system is sized over NEM limit (i.e., when binNEM =0)

## v0.48.2
### Added
- Battery residual value if choosing replacement strategy for degradation
- Add new **ElectricStorage** parameters **max_duration_hours** and **min_duration_hours** to bound the energy duration of battery storage
### Changed
- Revised the battery degradation model, refactoring some methods to increase model-building efficiency and reformulating indicator constraints as big-M constraints with smaller big-M's to reduce solve time.
- Edited several documentation entries and docstrings for clarity.
### Removed
- 80% scaling of battery maintenance costs when using augmentation strategy
### Fixed
- Fixed conditions for which a warning is presented indicating that the wholesale benefit threshold is met.
- When setting **thermal_production_series_mmbtu_per_hour** output in **ExistingBoiler**, sum over heating loads instead of time steps

## v0.48.1
### Changed
- Replace all `1/p.s.settings.time_steps_per_hour` with `p.hours_per_time_step` for simplicity/consistency
- Rename function `add_storage_sum_constraints` to `add_storage_sum_grid_constraints` for clarity
### Added
- Constraints to prevent simultaneous charge/discharge of storage
- Specify in docstrings that **PV** **max_kw** and **size_kw** are kW-DC
- Add the Logging package to `test/Project.toml` because it is used in `runtests.jl`
### Fixed
- Force **ElectricLoad** **critical_load_kw** to be _nothing_ when **off_grid_flag** is _true_ (**critical_load_fraction** was already being forced to 1, but the user was still able to get around this by providing **critical_load_kw**)
- Removed looping over storage name in functions `add_hot_thermal_storage_dispatch_constraints` and `add_cold_thermal_storage_dispatch_constraints` because this loop is already done when calling these functions and storage name is passed in as argument `b`
- Remove extraneous line of code in `results/wind.jl`
- Change type of **value_of_lost_load** in **FinancialInputs** struct to fix convert error when user provides an _Int_
- Change international location in "Solar Dataset" test set from Cameroon to Oulu because the locations in the NSRDB have been expanded significantly so there is now an NSRDB point at Cameroon
- Handle edge case where the values of **outage_start_time_steps** and **outage_durations** makes an outage extend beyond the end of the year. The outage will now wrap around to the beginning of the year.
- Enforce minimum allowable sizes for ASHP technologies by introducing improved big-M values for segmented size constraints.
- Removed default values from ASHP functions that calculate minimum allowable size and performance.

## v0.48.0
### Added
- Added new file `src/core/ASHP.jl` with new technology **ASHP**, which uses electricity as input and provides heating and/or cooling as output; load balancing and technology-specific constraints have been updated and added accordingly
- In `src/core/existing_chiller.jl`, Added new atttribute **retire_in_optimal** to the **ExistingChiller** struct
- Financial output **initial_capital_costs_after_incentives_without_macrs** which has "net year one" CapEx after incentives except for MACRS, which helps with users defining their own "simple payback period"

### Changed
- Improve the full test suite reporting with a verbose summary table, and update the structure to reflect long-term open-source solver usage
- Removed MacOS from the runner list and just run with Windows OS, since MacOS commonly freezes and gets cancelled. We have not seen Windows OS pass while other OS's fail. .
- Suppress JuMP warning messages from 15-minute and multiple PVs test scenarios to avoid flooding the test logs with those warnings
- Improve the full test suite reporting with a verbose summary table, and update the structure to reflect long-term open-source solver usage.
- Removed MacOS from the runner list and just run with Windows OS, since MacOS commonly freezes and gets cancelled. We have not seen Windows OS pass while other OS's fail.
- Suppress JuMP warning messages from 15-minute and multiple PVs test scenarios to avoid flooding the test logs with those warnings.
- Updated/specified User-Agent header of "REopt.jl" for PVWatts and Wind Toolkit API requests; default before was "HTTP.jl"; this allows specific tracking of REopt.jl usage which call PVWatts and Wind Toolkit through api.data.gov.
- Improves DRY coding by replacing multiple instances of the same chunks of code for MACRS deprecation and CHP capital cost into functions that are now in financial.jl.
- Simplifies the CHP sizing test to avoid a ~30 minute solve time, by avoiding the fuel burn y-intercept binaries which come with differences between full-load and part-load efficiency.
- For third party analysis proforma.jl metrics, O&M cost for existing Generator is now kept with offtaker, not the owner/developer
### Fixed
- Proforma calcs including "simple" payback and IRR for thermal techs/scenarios.
- The operating costs of fuel and O&M were missing for all thermal techs such as ExistingBoiler, CHP, and others; this adds those sections of code to properly calculate the operating costs.
- Added a test to validate the simple payback calculation with CHP (and ExistingBoiler) and checks the REopt result value against a spreadsheet proforma calculation (see Bill's spreadsheet).
- Added a couple of missing techs for the initial capital cost calculation in financial.jl.
- An issue with setup_boiler_inputs in reopt_inputs.jl.
- Fuel costs in proforma.jl were not consistent with the optimization costs, so that was corrected so that they are only added to the offtaker cashflows and not the owner/developer cashflows for third party.


## v0.47.2
### Fixed
Expand Down
Loading
Loading