EnergySystemsModellingLab / MUSE_OS

Welcome to the MUSE-OS repository
https://muse-os.readthedocs.io/en/latest/
GNU General Public License v3.0
22 stars 8 forks source link

Meaning of "fixed" vs "flexible" level is unclear #263

Closed tsmbland closed 5 days ago

tsmbland commented 2 months ago

The documentation mentions that the "Level" parameter in the technodata and commodities files can be "fixed" or "flexible", but the meaning of these two options isn't adequately explained.

Sections to look at: 9.3.3 Techno-data (docs/inputs/technodata.rst) 9.3.5 Commodities (docs/inputs/commodities_io.rst)

Update: #374 has changed the technodata files (and documentation) to no longer include the Level parameter as it wasn't being used

tsmbland commented 1 week ago

I've been digging into the code to try and work out what the Level parameter (fixed vs flexible) is doing.

For input commodities, it's used in the consumption function in quantities.py, where it's chosing amongst the different flexible inputs based on the price. So, for example, a boiler would get to choose between two different types of fuel based on which one was cheapest at the time. I don't think the calculation is necessarily correct (for example, what if fuel A is cheaper per unit than fuel B, but less efficient so you have to use more of it?), but does that sound about right as the intended meaning of this parameter? @ahawkes @dalonsoa

(As a side note, I think the calculation of fuel costs in LCOE needs to change as it's adding all the flexible inputs together when it should be selecting just one of them, or normalising in some way)

For output commodities, this parameter doesn't appear to be used at all (outputs with Level="flexible" end up being ignored in all the calculations). In this case, it's probably best to remove this column from the CommOut file.

ahawkes commented 1 week ago

Yes that sounds like the intention (and yes the investor should be choosing based on cost of outputs, which are in turn a function of cost on inputs). Also yes LCOE calculation could be off - but if this is the LCOE calculation to determine investment then it might be OK (i.e. it would be hard to justify singling out one commodity output if there are several). Note that flexible processes are mainly used for refineries (that have flexible output), and a bit in transport (e.g. flexible fuel like % ethanol), and as you've noted some heat techs.

tsmbland commented 1 week ago

Ok thanks. So a flexible output would mean that a technology could choose between multiple outputs (with the same inputs?), based on which output commodity has the highest market value at the time?

(At least is that the intention? - it's not actually doing that...)

ahawkes commented 1 week ago

Along those lines yes - assuming there will be demand for the output commodities - the technology can adjust the amount of output of each to match demand. Also - yes - if there are other technologies that can produce these commodities it will (should!) prefer the cheaper one. Similar logic applies when the flexible commodities are on the input side - it will (should!) use the cheaper ones.


From: Tom Bland @.> Sent: Wednesday, June 26, 2024 1:00:31 PM To: EnergySystemsModellingLab/MUSE_OS @.> Cc: Hawkes, Adam D @.>; Mention @.> Subject: Re: [EnergySystemsModellingLab/MUSE_OS] Meaning of "fixed" vs "flexible" level is unclear (Issue #263)

This email from @.*** originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders listhttps://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address.

Ok thanks. So a flexible output would mean that a technology could choose between multiple outputs (with the same inputs?), based on which output has the highest market value at the time?

(At least is that the intention? - it's not actually doing that...)

— Reply to this email directly, view it on GitHubhttps://github.com/EnergySystemsModellingLab/MUSE_OS/issues/263#issuecomment-2191513732, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC37JLPSFGE3OVFGJ7ELQG3ZJKUN7AVCNFSM6AAAAABGLMDXSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJRGUYTGNZTGI. You are receiving this because you were mentioned.Message ID: @.***>

dalonsoa commented 6 days ago

Nope, the LCOE used in investments is this other one defined in objectives.py.

Again, like with the discussion on the supply we have in #335, I have the suspicion that the LCOE linked by @tsmbland above is not really used with the scipy solver, but only with the adhoc solver, as the scipy solver does the investment and the dispatch in one go by solving the matrix.