quintel / etmoses

Online decision support tool to create local energy situations for neighbourhoods, cities and regions with a time resolution of 15 minutes created and maintained by Quintel – Not maintained
https://moses.energytransitionmodel.com
MIT License
11 stars 3 forks source link

How to add solar boiler #1504

Open ThomBuijs opened 7 years ago

ThomBuijs commented 7 years ago

For my scenario I want to add a solar boiler technology. I am struggeling to think of a way to add this in ETMoses. I can use the profile of a PV panel and was thinking of applying this profile to a heatpump but this is not possible.

Do you have any thoughts on how I can implement a solar boiler in ETMoses. Because it generates heat from the Sun it should have first priority to meet the heat demand.

What I want to do is have a scenario where the heat demand of a building is fulfilled firstly with the solar boiler, then with the heat pump, and lastly with the gasboiler. So if the demand for heat is of such a magnitude that all three technologies are needed, the solar boiler and the heatpump will be used at full capacity and the gasboiler will be used for the last bit. I hope I am clear and that you can help me out with an idea.

ChaelKruip commented 7 years ago

For my scenario I want to add a solar boiler technology.

I think https://github.com/quintel/etmoses/issues/1415 would go a long way towards solving this once implemented.

Do you have any thoughts on how I can implement a solar boiler in ETMoses. Because it generates heat from the Sun it should have first priority to meet the heat demand.

I think that I would try to (ab)use the district heating sources to do this. You can specify a must-run source to represent the solar heater and upload a solar profile to be used there. If you also connect a hybrid heat pump to the same end-point (as the district heater), I think you would have the desired effect.

Let me know if you need more assistance here!

ThomBuijs commented 7 years ago

Thank you, I'll try that :D

ThomBuijs commented 7 years ago

Hey I am trying to use the district heating sources for my solar boiler, but the problem is that the district heating has a buffer volume. Therefore the output of the district heating, doesn't correspond with the solar boiler profile that I gave it. In my LES I am not using a buffer therefor I don't want this effect to happen. Is there a possibility to work around this or any other solution?

ChaelKruip commented 7 years ago

I think #1415 would go a long way towards solving this once implemented.

@antw @grdw how much time would you estimate this would need?

An other approach would be to give the user the possibility to change the buffer capacity of the heat network (currently 10kWh per connection) with a slider or a input field. @antw @grdw how much time would you estimate this would take?

antw commented 7 years ago

I think #1415 would go a long way towards solving this once implemented.

1415 is trivial, but I don't think it solves this. "Other" is a standalone technology which has its own profile; it cannot belong to a buffer.

It is also not possible for a technology to simultaneously belong to a heat buffer and have an individual profile, so it is not trivial for us to add a custom technology for solar boilers.

An other approach would be to give the user the possibility to change the buffer capacity of the heat network (currently 10kWh per connection) with a slider or a input field.

1 day.

ChaelKruip commented 7 years ago

An other approach would be to give the user the possibility to change the buffer capacity of the heat network (currently 10kWh per connection) with a slider or a input field.

Would this be helpful to you @ThomBuijs? If so, we can see if we can find the time to do this.

ThomBuijs commented 7 years ago

If the buffervolume could be set to 0, will ETMoses automatically scale the heat profile according to the maximum output of each solar boiler per building. So if Building 1 has a solar boiler energy production of 10 kWh a year with a output capacity of 5 kW and buidling 2 has a solar boiler energy production of 5 kWh a year with a output capacity of 2.5 kW. I will specify a total profile for the generic must run of 15 kWh. 2/3 of this profile will be assigned to building 1 and 1/3 to building 2, correct? In that case, I guess this would be a solution to my problem :).

antw commented 7 years ago

@ThomBuijs You can now find this feature on the ETMoses test site. Click "Edit LES" then "General", and you'll find the setting just above the "Save" buttons:

screen shot 2016-10-24 at 17 36 17

Hopefully this solves your problem, so I'll close this issue; if not please feel free to reopen it.

ThomBuijs commented 7 years ago

Thank you for your help. I see you already changed a few things on the beta server. I am working with this LES on the pro server. How can I easily put my TechTable, Topology and Market Model to the beta server? Also for my gas asset list, however I can enter this one manually since it isn't so large. For me, I don't know how to transfer the topology I use, since the build up of the topology is different on the beta server as it is on the pro server.

antw commented 7 years ago

I am working with this LES on the pro server.

I've now added the change to that server, so you should be able to continue using your LES there.

ThomBuijs commented 7 years ago

When I use the district heating, assign a heat profile to the generic must run equal to the profile of a PV profile it doens't correspond to the profile of a PV panel. I enter the maximum heat production for the heat source to be equal to the maximum yearly output. heat network

So in my case the total heat production of the solar boiler equals 11149.97344 kWh and the output capacity is equal to 9.376 kW. As you can see in my techtable I enter a solar panel which has the same profile (PV arnhem and PV wageningen are the same, I just gave them different names) and the same output capacity.

tech table

I expect the graph of the pv panel and the solar boiler to be exactly the same ( I set the value of the output capacity of the PV panel to positive so that they overlap eachother).

Everything looks fine for the whole year and the first week of januari

jaaroverzicht eerste week januari warmte output zonneboiler vergelijk met elektriciteit output pv

But if i look at the first week of july I get a mismatch:

eerste week juli

And if I look at the heat load the mismatch is present the whole year: heat load vergelijking januari

heat load vergelijking juli

I tried restarting ETMoses, deleting the district heating and heat source and adding it again after loggin out and in again, but it didn't work.

I'm using this LES.

My last try to see what happens is to make a new LES, because maybe the LES I'm using right now is corrupted. Maybe if you have time can have a look at it.

ChaelKruip commented 7 years ago

And if I look at the heat load the mismatch is present the whole year:

Could it be that you missed a factor of 1000 somewhere? Your heat demand is in MW but your total production is in kWh. If you look closely, there is a but of production in your plots but is is just too small.

ChaelKruip commented 7 years ago

But if i look at the first week of july I get a mismatch:

@antw Could you have a look if this is a display issue? It seems that the first week of January of the heat profile is shown even if a week in July is selected...

antw commented 7 years ago

@ThomBuijs This should now be fixed.

ThomBuijs commented 7 years ago

Sadly, when I look at the first week of July it still looks strange in the sense that the solar boiler starts later with producing :(

strange behaviour

antw commented 7 years ago

The profile used on the heat buffer has no demand during those periods:

screen shot 2016-10-26 at 12 06 57 screen shot 2016-10-26 at 12 07 48
ThomBuijs commented 7 years ago

Oh, thank you for seeing that :D. Then the issue is solved!

ThomBuijs commented 7 years ago

I am trying to test in this LES if it is possible to assign different buffers on the same heat network in such a way that the total produced heat by the heat network is divided by each end node (three in this LES), with respect to their maximum capacity output. But I don't succeed at doing this and I don't know if the model is capable of such a distribution.

ChaelKruip commented 7 years ago

...with respect to their maximum capacity output.

The capacity output of what exactly? The end-points? The must-run source only has a total production (not a capacity).

ThomBuijs commented 7 years ago

Oh I meant the capacity output of the district heating technology as specified in the technology table. My apologies for not making this clear. The district heating technologies represent the solar boilers.

ChaelKruip commented 7 years ago

The must-run sources for the heat network only have a total production (not a capacity). When you have a profile and a yearly production, the maximum capacity is fixed by those two parameters.

What happens now if you connect multiple end-points to the network is that the solar boiler will satisfy the total heat demand. It will not limit its flow to any end-point. What you might try to do, however, is set the capacity of the district heat connection itself: etmoses This will limit the amount of heat that end-point will be consuming.

ThomBuijs commented 7 years ago

Yes that is what I meant. However if I try to make such a LES, ETMoses crashes. I scale my LES from ETM, then I choose the default topology (3 end nodes) and market model. I name my LES, let it calculate the LES for a year and get no error. Then I delete the technologies in the technolgy table step by step and only leave the buffer for space heating and household space heater combined network gas in the technology table. Then I add the household space heater district heating on the households 1. And let the LES be calculated for a year. I put the Central heat buffer capacity per connection to be equal to zero, and let it calculate for a year. But when I delete the dispatchable heat sources or change the heat production of the must run sources, I get the pop up that my LES cannot be calculated. I don't understand why this is the case. I am using this LES