Conversation
* fix for heat_dsm_profile for leap year * add fneum code suggestion * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
euronion
left a comment
There was a problem hiding this comment.
Thanks @lprieto1409 . I have a few questions and a few improvement suggestions, see the comments below.
|
@lprieto1409 The |
c2d1a3f to
6cdbfc4
Compare
|
Thanks for the PR. For getting it reviewed here, could you prepare:
Thank you! |
Thanks @euronion, I fixed it and also address the conflicts, let me know if you have any additional comments |
|
Thanks a lot for the updated figures @lprieto1409 , this helps discussion the PR impacts! I'm not fully happy with the PR results.
Related to 1. and 2.: Related to 3. I would argue that we should have |
Thanks for your comments @euronion, to look even further at points 1 and 2, I run the same test on hourly resolution from January to March (3 months) here are some of the results comparing both: |
Rename config and restructure config. Add directionality option.
|
I'm happy with the results now. @martacki and @lprieto1409 feel free to have another look. I'd consider it RTM then |
Thanks @euronion it does look good to me, I only saw a minor typo in sector.csv but other than that looks great :) |
fneum
left a comment
There was a problem hiding this comment.
Approved in principle! Nice feature, just a few editorial things to clean up. Takes 10 minutes. Then, RTM!
doc/supply_demand.rst
Outdated
|
|
||
| *Thermal characteristics* | ||
|
|
||
| Thermal losses in the building thermal mass are modeled using the same standing loss rates as decentralized water tank storage, which provides a reasonable proxy for the thermal inertia of building envelopes. The storage is cyclic, meaning the state of charge at the end of the optimization period must equal that at the beginning. |
There was a problem hiding this comment.
I think the standing losses in a hot water storage are likely much higher than in a building.
|
Tests are failing because Zenodo retrieval for |
Good but then it's unrelated to this PR. |














Closes # (if applicable).
Changes proposed in this Pull Request
This PR introduces residential heat demand-side management (DSM) for electric heat pumps based on the smartEn / DNV methodology.
It enables flexible heat demand that shifts within configurable intraday periods, improving renewable integration and reducing system costs.
The new formulation models building thermal mass as an energy-storage resource, allowing load shifting within user-defined windows (default = 12 h) via the
restriction_time parameter,while maintaining thermal comfort.Implementation
residential_heatsection inconfig/config.default.yamlwithdsm,restriction_value, andrestriction_timeparameters (restriction_valuereflects projected EC heat-pump rollout, ≈ 27% by 2030)heat_dsm_profile()inscripts/build_hourly_heat_demand.pyand DSM stores inscripts/prepare_sector_network.pyrules/build_sector.smk, documentation (doc/configtables/sector.csv,doc/supply_demand.rst),and release notes
Validation & Impact Analysis
The following analysis demonstrates the flexibility feature is working correctly using a test scenario (EU27, TY: 2030, 38 clusters). Comparison: Baseline (No DSM) vs. With DSM.
1. DSM Dispatch & Renewable Response
The plot validates dynamic optimization: DSM shifts from wind-following in winter to solar-driven midday charging in summer, confirming responsiveness to renewable availability.
2. Heat Pump Efficiency Improvement
DSM improves heat pump efficiency by shifting operation to higher COP periods. The time series shows consistently higher COP for DSM, particularly in summer, with the distribution revealing more frequent operation at higher efficiency levels.
3. Generation Mix Changes
The flexibility provided by DSM dynamically shifts the optimal generation mix, leading to the largest proportional increases in solar thermal and biogas dispatch:
4. Generation Dispatch Patterns
The bottom panel shows DSM's net impact on generation. During summer, DSM reduces generation through better COP utilization and solar alignment. In winter, it increases generation due to thermal storage losses and pre-heating during high-wind periods.
5. Renewable Curtailment
DSM reduces offshore wind curtailment by absorbing surplus generation, but increases onshore wind curtailment due to higher capacity deployment driven by storage losses.
6. System Cost Impact
Heat DSM reduces total system cost by 1.3 billion EUR (0.22%). Generator capacity investment remains unchanged at 156 B€, while storage and link investments decrease slightly due to improved system flexibility.
Definition of done
masterand resolve the merge conflictChecklist
envs/environment.yaml.config/config.default.yaml.doc/configtables/*.csv.doc/data_sources.rst.doc/release_notes.rstis added.