This PR implements multi-investment period / multi-horizon optimization with perfect foresight. Changes are made to the network to create one monolithic multi-investment period model in the add_demand, add_electricity, and add_extra_components. As part of these changes, all opts were updates to be compatible to set different constraints for different planning horizons.
The following tasks were completed for #303 :
[x] Set n.investment_period_weightings
[x] Added lifetime and build_years to generators
[x] created demand files for each planning horizon in build_demand
[x] Modified add_demand to add forecasted demand to the loads_t table for each investment period
[x] Updates add_extra_components to create new generators for each build year and corresponding capital costs
[x] Update plot_results for multi-horizon solutions
[x] Implement multi-horizon compatibility for SAFER, RPS, and RCo2L opts
[x] Update validation plots for multi-horizon indexing compatability
Other changes in this PR:
Removed old ADS code in add_electricity
Restructured costs data folders
Checklist
[x] I tested my contribution locally and it seems to work fine.
[x] Code and workflow changes are sufficiently documented.
[x] Changed dependencies are added to envs/environment.yaml.
[x] Changes in configuration options are added in all of config.default.yaml.
[x] Changes in configuration options are also documented in doc/configtables/*.csv.
Closes #186 #322 #303 #244 #317 #319
Changes proposed in this Pull Request
This PR implements multi-investment period / multi-horizon optimization with perfect foresight. Changes are made to the network to create one monolithic multi-investment period model in the
add_demand
,add_electricity
, andadd_extra_components
. As part of these changes, all opts were updates to be compatible to set different constraints for different planning horizons.The following tasks were completed for #303 :
add_extra_components
to create new generators for each build year and corresponding capital costsplot_results
for multi-horizon solutionsOther changes in this PR:
Checklist
envs/environment.yaml
.config.default.yaml
.doc/configtables/*.csv
.