Skip to content

Error when calculating commodity prices for technologies with multiple outputs #551

@tsmbland

Description

@tsmbland

MUSE uses levelized cost to calculate commodity prices. For a technology that produces a single output commodity this makes sense, as this is the price that needs to be charged so that the technology can break even. E.g. If a refinery produces 200 units of gasoline in a year at a total running cost (fuel costs + environmental costs + fixed/variable costs + annualized capital costs) of $1000, they would need to charge $5 ($1000/200) per unit of gasoline to break even.

However, it's less clear what to do for technologies that produce multiple outputs. Let's say the refinery also produces 100 units of diesel (on top of the 200 units of gasoline). Currently, MUSE will ignore this when calculating commodity prices and will still calculate $5 for the price of gasoline (and $10 for diesel). But in reality I think you'd expect lower prices as it doesn't need to charge so much to break even.

In fact, it's not really clear to me what the price of gasoline and diesel should be in these circumstances, as there are many combinations that would work. You could charge $3.30 for both, but equally you could charge $2 for gasoline and $6 for diesel, and in both cases the technology would break even.

I guess a solution might be calculate production costs for each commodity in turn, subtracting any potential revenues from side products at their current price, and then if you run this for each commodity over multiple iterations you should get some kind of convergence. (Or possibly you'd get some horrible instability, or negative commodity prices, not sure...)

@ahawkes, any thoughts about this?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions