pypsa-eur
pypsa-eur copied to clipboard
initial dsm implementation for the heating sector
Closes # (if applicable).
Changes proposed in this Pull Request
adding demand side response for the heating sector
Checklist
- [x] I tested my contribution locally and it works as intended.
- [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
config/config.default.yaml. - [x] Changes in configuration options are documented in
doc/configtables/*.csv. - [x] Sources of newly added data are documented in
doc/data_sources.rst. - [x] A release note
doc/release_notes.rstis added.
The default setting sets heat dsm to be restricted between 9am and 9pm (taken from a study by SmartEn - https://smarten.eu/wp-content/uploads/2022/09/SmartEN-DSF-benefits-2030-Report_DIGITAL.pdf, APPENDIX A – Detailed Methodology Description, 1.1.2.5. Residential electric heating), meaning that heating demand can only be shifted between 9am and 9pm, and between 9pm and 9am.
These are some initial results (default config with 2H time resolution, 59 nodes, Co2L0.0 and I only modelled 2 weeks in January for testing):
For comparison, that's how the default transport DSM profiles looks like (the legend is of course not heating but transport, I just didnt change it... oops):
Validator Report
I am the Validator. Download all artifacts here. I'll be back and edit this comment for each new commit.
General
Plots comparison
| Main branch | Feature branch |
|---|---|
Files comparison
| Status | NRMSE | MAE (norm) | |
|---|---|---|---|
| market_values.csv | :warning:Changed | 0.000 | 0.10 |
| weighted_prices.csv | :warning:Changed | 0.538 | 0.44 |
| curtailment.csv | :warning:Changed | 0.000 | 0.11 |
| price_statistics.csv | :warning:Changed | 0.000 | 0.18 |
| metrics.csv | :warning:Changed | 0.000 | 0.10 |
| cfs.csv | :warning:Changed | 0.027 | 0.08 |
| nodal_cfs.csv | :white_check_mark: Almost equal | 0.077 | 0.02 |
| supply.csv | :white_check_mark: Almost equal | 0.000 | 0.03 |
| nodal_costs.csv | :white_check_mark: Almost equal | 0.003 | 0.00 |
| nodal_capacities.csv | :white_check_mark: Almost equal | 0.000 | 0.00 |
| prices.csv | :white_check_mark: Almost equal | 0.000 | 0.04 |
| nodal_supply_energy.csv | :white_check_mark: Almost equal | 0.000 | 0.00 |
| costs.csv | :white_check_mark: Almost equal | 0.000 | 0.01 |
| capacities.csv | :white_check_mark: Almost equal | 0.000 | 0.03 |
| supply_energy.csv | :white_check_mark: Almost equal | 0.000 | 0.03 |
| energy.csv | :white_check_mark: Almost equal | 0.000 | 0.03 |
NRMSE: Normalized (combined-min-max) Root Mean Square Error MAE (norm): Mean Absolute Error on normalized data (min-max) Status Threshold: MAE (norm) > 0.05 and NRMSE > 0.3
Model Metrics
Benchmarks
Comparing heat_dsm (bdf0a5c) with master (52b8179).
Branch is 8 commits ahead and 0 commits behind.
Last updated on 2024-11-05 10:40:19 CET.
closing in light of #1857