Storage technology generates and consumes carrier by itself #524
Replies: 2 comments
-
Deleting geothermal storage's loss solves most of the problem in the test buildingI delete the storage_loss constraint, now it looks much better: However, a storage with no loss is not realistic, so some other workaround should be implemented. Storage still have self-generation and consumptionHowever, in the beginning of the year, there's still noises from geothermal storage, and this noise changes when I set different initial storage state. This might be still because of the cyclic_storage constraint. I am wondering if this cyclic_storage can be further relaxed, as mentioned in #523, where I tried to set a relax only on cyclic storage, but couldn't find how to set it. I will continue exploring and share my updates. |
Beta Was this translation helpful? Give feedback.
-
This is an interesting set-up that you have @yiqiaowang-arch. I quite like the approach although, as you've found, it is quite sensitive to how you constrain the model. You're correct that storage loss would lead to the case of the storage device charging and discharging simultaneously. We have made a constraint available to help deal with that, see here. It adds a binary variable to the timeseries dimension, so may make your model too computationally complex. Free technologies also lead to strange results. See our paper that explores this issue a bit more. Even just a very small "dummy" cost for operating your boreholes and cooling component of the GSHP could help things. I would say that the cyclic storage is maybe not worth applying for the borehole. You don't really care that as much heat is injected into the ground as is removed from it. OK, in reality you do care for long-term operation of the GSHP but the model doesn't require it. You may find that it acts weirdly because there just isn't a good balance available between heat demand in winter and cooling demand in summer to make it possible to inject as much heat as is removed. I would look into having the ground as two separate technologies: a supply tech that provides borehole heat to the heating component of the GSHP and an "infinite" demand tech ( |
Beta Was this translation helpful? Give feedback.
-
First of all, dear calliope developers, thank you very much for your work! This framework is easy to start with and intuitive, which helps greatly with our project!
Model Description
I am currently trying to model a ground source heat pump technology, which works with borehole storage. Because boreholes often operates on low temperature (around 15°C), so I defined a special energy carrier called "geothermal storage".
When GSHP is heating, it needs to take heat from ground; when it's cooling, it needs to inject (waste) heat back into ground. Since under this definition the conversion_plus technology doesn't work (see #521), I devided GSHP into GSHP_heat and GSHP_cooling, and a storage technology called "geothermal_boreholes", just as it's shown in the graph. The corresponding .yaml setting is below:
code for GSHP and storage
Issues when optimizing
During the optimization, I set one building's GSHP purchase and cap cost to be zero, because it already has GSHP installed and doesn't need to buy it again. Basically, I'm trying to promote this building to use GSHP. However, with the presense of a more expensive ASHP (the building needs to buy it), optimizer never chooses GSHP_heat, but chooses GSHP_cooling. Only when I disabled ASHP, optimizer started to choose GSHP_heat.
Setup of my ASHP:
ASHP
```yaml # ASHP, consumes electricity to produce heat, with a COP of 2.4 ASHP: essentials: name: 'ASHP SH/SC' color: '#676767' carrier_in: electricity carrier_out: [heat, cooling] primary_carrier_out: heat parent: conversion_plus constraints: energy_eff: 1 energy_cap_min: 1 # kW carrier_ratios: carrier_out: {heat: 2.4, cooling: 3} lifetime: 25 costs: monetary: interest_rate: 0.05 purchase: 19128 # USD per device energy_cap: 167 # USD per kW om_annual: 11 # USD per kW, annual maintenance cost based on energy (power) capacity ```As shown in the graph, the outflow and inflow of geothermal borehles (red and blue curves) are much higher than what was produced by GSHP_cooling (yellow) and GSHP_heat (green), showing that the storage is producing and consuming energy on itself.
Also, even though GSHP_heat is used, it doesn't work in the winter. In the winter the heating demand is satisfied by wood boilers. I don't understand where does the extra heat produced by GSHP_heat goes.
Possible solutions
A few possible issues and corresponding solutions are yet to try out:
I will post updates if I have new findings.
Beta Was this translation helpful? Give feedback.
All reactions