price-formation
Price Formation in 100% Variable Renewable Energy Systems
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.9%) to scientific vocabulary
Repository
Price Formation in 100% Variable Renewable Energy Systems
Basic Info
- Host: GitHub
- Owner: fneum
- License: mit
- Language: Jupyter Notebook
- Default Branch: master
- Size: 4.56 MB
Statistics
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
- Releases: 2
Metadata Files
README.md
Price formation without fuel costs: the interaction of elastic demand with storage bidding
Link to preprint: https://arxiv.org/TBC (in preparation)
Link to data: https://zenodo.org/records/12759248
Abstract
Studies looking at electricity market design for very high shares of wind and solar often conclude that the energy-only market will break down. Without fuel costs, it is said that there is nothing to set prices. Symptoms of breakdown include long phases of zero prices, scarcity prices too high to be politically acceptable, prices that collapse under small perturbations of capacities from the long-term equilibrium, cost recovery that is impossible due to low market values, high variability of revenue between different weather years, and difficulty operating long-term storage with limited foresight. We argue that all these problems are an artefact of modeling with perfectly inelastic demand. Even with a small amount of short-term elasticity representing today's flexible demand (-5\%), the problems are significantly reduced. The combined interaction of demand willingness to pay and storage opportunity costs is enough to produce stable pricing. Considering a simplified model with just wind, solar, batteries, and hydrogen-based storage, the price duration curve is significantly smoothed with a piecewise linear demand curve. This removes high price peaks, reduces the fraction of zero-price hours from 90\% to around 30\%, and guarantees more price stability for perturbations of capacity and different weather years. Fuels derived from green hydrogen take over the role of fossil fuels as the backup of final resort. Furthermore, we show that with elastic demand, the long-term model exactly reproduces the prices of the short-term model with the same capacities. We can then use insights from the long-term model to derive simple bidding strategies for storage so that we can also run the short-term model with limited operational foresight. We demonstrate this short-term operation in a model trained on 35 years of weather data and tested on another 35 years of unseen data. We conclude that the energy-only market can still play a key role in coordinating dispatch and investment in the future.
Data Sources
The solar and wind time series for 1950-2020 are taken from from Bloomfield and Brayshaw (2021).
The techno-economic assumptions about costs and efficiencies are taken from
technology-data
(v0.8.1), which largely
come from the Danish Energy
Agency.
The assumptions about demand elasticity are taken from Hirth et al. (2024) and Arnold (2023).
Installation
Use conda environment manager:
sh
conda update conda
conda env create -f workflow/envs/environment.fixed.yaml
conda activate price-formation
The main dependencies are:
- pypsa (v0.27.1)
- linopy (v0.3.8)
- snakemake (v8.5)
- gurobi (v11.0.2)
Run
From root of repository:
sh
snakemake -call --use-conda --conda-frontend conda
Or with specific scenario configuration file:
sh
snakemake -call --use-conda --conda-frontend conda --configfile config/config.foo.yaml
Cluster
On HPC cluster, run:
sh
snakemake -call --profile slurm --use-conda --conda-frontend conda
Compress Results
Use tar to run (excluding report directory):
sh
tar -cJf price-formation-results.tar.xz \
config data figures results resources workflow \
.gitignore .pre-commit-config.yaml .syncignore-receive \
.syncignore-receive CITATION.cff LICENSE matplotlibrc README.md
License
The code in this repository is MIT licensed, see ./LICENSE.
Owner
- Name: Fabian Neumann
- Login: fneum
- Kind: user
- Location: Berlin
- Company: TU Berlin
- Website: https://fneum.org/
- Twitter: fneum_
- Repositories: 34
- Profile: https://github.com/fneum
Energy System Modeller at Technische Universität Berlin
Citation (CITATION.cff)
cff-version: 1.2.0
message: "price-formation"
title: "Price formation without fuel costs: the interaction of elastic demand with storage bidding"
repository: https://github.com/fneum/price-formation
version: 0.1.0
doi: "N/A"
date-released: "N/A"
license: MIT
authors:
- family-names: Brown
given-names: Tom
- family-names: Neumann
given-names: Fabian
- family-names: Riepin
given-names: Iegor
GitHub Events
Total
- Release event: 1
- Push event: 12
- Pull request event: 2
- Fork event: 1
- Create event: 1
Last Year
- Release event: 1
- Push event: 12
- Pull request event: 2
- Fork event: 1
- Create event: 1
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 4
- Average time to close issues: N/A
- Average time to close pull requests: about 2 months
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 3
Past Year
- Issues: 0
- Pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: 4 months
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
Pull Request Authors
- pre-commit-ci[bot] (4)
- fneum (1)