quintel / etmodel

Professional interface of the Energy Transition model.
https://energytransitionmodel.com/
MIT License
26 stars 12 forks source link

Future number of cars should be adjustable #3344

Closed marliekeverweij closed 3 years ago

marliekeverweij commented 4 years ago

At the moment the future number of cars is always the same as the present number of cars, it is not influenced by any slider: the sliders for modal split and total passenger kilometers do not influence the future number of cars. These two sliders now only change the useful demand per vehicle type and the total useful demand, so we assume that "people will travel / drive more" rather than "people will buy more cars". Screenshot 2020-05-08 at 14 33 06

@AlexanderWirtz and I think that this is an issue because the number of cars are used for multiple calculations:

I would be more realistic if the number of cars is dependent on the modal split and passenger kilometer sliders. What do you think? Please let us know if you do not agree!

Big question: how are we going to do that? @antw had told us that this is not easy to do, as the node transport_useful_demand_cars would need information about capacity and (probably) FLH in order to calculate the number of units. I am guessing that that is not the way to go as the capacity and FLH would not really make sense (IMO).

However, this old input statement number_of_cars_present has been made once and seems to be able to adjust the number_of_units of the node transport_useful_demand_cars directly. Maybe we can add update statements to the modal split slider transport_cars_share and transport_useful_demand_passenger_kms to directly update the number_of_units of the node transport_useful_demand_cars. What do you think of this approach @antw? I'll check it out.

antw commented 4 years ago

Maybe we can add update statements to the modal split slider transport_cars_share and transport_useful_demand_passenger_kms to directly update the number_of_units of the node transport_useful_demand_cars. What do you think of this approach @antw? I'll check it out.

You absolutely can set the number_of_units for the transport_useful_demand_cars node, but it means having to calculate that yourself in an input, and then set the value on the node.

If there are multiple sliders which might influence the number of vehicles (kms travelled and share of cars), then you need to account for all of those variables when calculating the NoU, repeating the calculation and UPDATE in all the inputs for those sliders.

ChaelKruip commented 4 years ago

It would be more realistic if the number of cars is dependent on the modal split

That makes sense to me yes.

and passenger kilometer sliders

That depends. Do you believe there is a linear relationship here? I can imagine people driving less but still keeping their (own) cars.

Another thing that comes to ming is car-sharing and autonomous vehicles. If this becomes a big thing, we might need fewer cars in the future. We might consider adding a slider that accounts for that?

michieldenhaan commented 4 years ago

I am guessing that that is not the way to go as the capacity and FLH would not really make sense (IMO).

Not sure if I agree with this. An EV does have a capacity and FLHs can be interpreted as driving hours to a certain extent. In addition, it sounds much simpler than the option with input statements (since there are multiple sliders affecting this as @antw pointed out).

That depends. Do you believe there is a linear relationship here? I can imagine people driving less but still keeping their (own) cars.

I agree with @ChaelKruip, the current sliders do not provide enough information to draw conclusions about the future number of cars. A new slider is definitely worth considering.

antw commented 4 years ago

Not sure if I agree with this. An EV does have a capacity and FLHs can be interpreted as driving hours to a certain extent. In addition, it sounds much simpler than the option with input statements (since there are multiple sliders affecting this as @antw pointed out).

I think what @marliekeverweij is getting at is that it doesn't make much sense for transport_useful_demand_cars to have a capacity or FLH, because that node doesn't represent a single technology, but instead aggregates all demand for driving in cars. The individual technologies do have input_capacity and FLH.

However, the number_of_units is set on the transport_useful_demand_cars node, and is inherited by the individual technologies: if you have 1000 cars in total and share of EVs is 10%, then you get 100 EVs,

That depends. Do you believe there is a linear relationship here? I can imagine people driving less but still keeping their (own) cars.

This was always the way I interpreted these sliders: that people would travel more or less, while keeping the number cars they have. We do have a number_of_cars input which might be of use?

marliekeverweij commented 4 years ago

I think what @marliekeverweij is getting at is that it doesn't make much sense for transport_useful_demand_cars to have a capacity or FLH, because that node doesn't represent a single technology, but instead aggregates all demand for driving in cars. The individual technologies do have input_capacity and FLH.

Yes exactly!

We could choose to calculate the number of units in each individual car technology instead of setting it in the transport_useful_demand_cars node. However, then we would need to research capacities and FLH for each technology... πŸ˜…

marliekeverweij commented 4 years ago

I see three different ways to go:

  1. Make the number of cars dependent on the modal split and/or passenger kilometer sliders. We could do this by calculating the future number of cars in an input statement (based on the slider settings) and updating the number_of_units of the transport_useful_demand_cars node.
  2. Let ETEngine calculate the number_of_units for each individual car technology based on the FLH and capacity of that technology. For this we would need to change the current implementation where the number of units of individual technologies is inherited from the transport_useful_demand_cars node. This would mean that the modal split and passenger kilometer sliders will both influence the number of units as these sliders change the demand in the transport_useful_demand_cars node and therefore the demand of the individual car technologies.
  3. Add a slider that sets the future number of cars. This is the most transparent and easy option! However, I am not sure if users know what to choose here. Maybe we could instead add a slider with which the change in number of cars (as a %/year) can be set, but that's less transparent than a #-slider. Another minor thing is that it's maybe a little strange to only add a slider for cars, as we model more transport vehicles, but we could explain why (-> important for flex and cost calculation).

Are there more options?

ChaelKruip commented 4 years ago

This would mean that the modal split and passenger kilometer sliders will both influence the number of units as these sliders change the demand in the transport_useful_demand_cars node and therefore the demand of the individual car technologies.

Not necessarily. I think we also have technologies that adjust their FLHs when the demand changes.

Add a slider that sets the future number of cars.

I like this option although I agree with your reservations and worries. Curious to hear other's opinions!

antw commented 4 years ago

I think we also have technologies that adjust their FLHs when the demand changes.

We do – DemandDrivenConverterApi – however it's highly specific to space-heating and hot water technologies.

One small issue I have with options 1 and 2 is that changing the number of cars will also affect the capacity of EV available for flexibility. It might be confusing for a user to decrease the distance travelled by cars, only to find that this results in less EV flexibility.

AlexanderWirtz commented 4 years ago

Not necessarily. I think we also have technologies that adjust their FLHs when the demand changes.

I think to do so for cars would make things unnecessarily complicated. I like option 3

marliekeverweij commented 4 years ago

@AlexanderWirtz , @ChaelKruip & @michieldenhaan just had a meeting about this issue and concluded that fixing this issue will become too time-consuming to do non-billable. Preferably we would fix this within a project, so putting it 'On hold' for now.

Short explanation why:

Feel free to add in case I forgot something

github-actions[bot] commented 3 years ago

This issue has had no activity for 60 days and will be closed in 7 days. Removing the "Stale" label or posting a comment will prevent it from being closed automatically. You can also add the "Pinned" label to ensure it isn't marked as stale in the future.