quintel / etmodel

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

Scenario stacks: modeling energy situations at different scales #2260

Open ChaelKruip opened 7 years ago

ChaelKruip commented 7 years ago

Background

We are making more and more local/regional/scaled scenario's with the ETM (and the Stakeholder Analysis module). Currently we start with the national dataset, scale* everything down to the local size and use that. I anticipate that local/scaled scenario's and the relation they have to each other and their encompassing (national) scenario will become increasingly important in the coming year(s).

*Because the scaling of the present dataset (as a fraction of the national dataset) is often insufficiently representative of the local situation, elaborate update statements are used to scale both present and future data. This ticket is not about this (undesirable) situation. But this one is.

Shortcomings of the current practice

The user can't choose multiple national scenario's

Currently, a parent 'contextual' scenario is used to define the starting situation for the local 'child' scenario. It would be very useful, however, to be able to be able to see the effects of choosing another 'contextual' scenario while keeping the local settings the same.

Example: I have used the vanilla NL scenario as the basis for my 100 household local scenario where I have given 100% of the households solar panels and cars are 100% electric as well. Now, I'd like to see what would change to my local situation if I used the Urgenda-100%-renewable scenario as a parent instead of the vanilla one.

National scenario and local scenario don't communicate

Currently, changing a slider in a child scenario does not affect the parent scenario. If the scale of the child scenario is of the order of the national scenario (say the size of a province), it would be useful to communicate the effect of the local choices to the national scenario.

Example: I have a scaled scenario of 10% of the households of the national parent. If I make 100% of the cars electric, in the national scenario, the slider for electric cars should be minimally 10% to be consistent with this.

Aggregation of scenario's is difficult/opaque

It would be nice to be able to see how a set of local scenario's 'adds up' on higher levels. We have the 'merging' capability in ETM but it is a bit clunky and not very intuitive.

Proposed solution direction

Stack

Perhaps we could introduce a new structure: a 'stack' of scenario's:

  1. International: EU27
  2. National: Urgenda
  3. Provincial: -
  4. Municipal: Groningen
  5. Regional: -
  6. Neighbourhood: Paddepoel_v01
  7. Street: Paddepoel_straat_A_v02

where the user can choose another scenario at any level and has influence on how these scenario's should interact. I think it makes sense to allow intermediate levels to be empty which suggests that the values from the first non-empty higher level would be adopted.

Interaction

The user should be able to

In addition to the current menu (extended with an extra level for local datasets?) I suggest we allow the user to zoom in to the desired level starting from the international scale: choropleth_map_with_custom_data_domain_ _d3_geomap

where colours could indicate for which regions datasets already exist. On the national level, the next (provincial) level is shown:

map_of_the_netherlands_-_bl_ocks_org

Zooming in even further, you can draw a polygon around your region of interest to load the required data:

openstreetmap

I think this has several advantages:

To make the above approach feasible, the present data needs to be similar for the scenario's (i.e., scenario's must have present and future data which can be translated into each other with simple scaling factors (update statements).

I don't know how stringent this requirement is but I can image it becoming a real pain to translate a growth percentage from one scenario to another if the present data is very different.

Interactions

I'm not entirely sure what the 'rules' should be for mutual influencing of slider settings at different levels.

@antw @AlexanderWirtz @jorisberkhout @dennisschoenmakers @grdw @DorinevanderVlies (@robterwel) I'd love to hear your opinions and ideas on this rather wild idea! 😄

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.

ChaelKruip commented 3 years ago

I would like to keep this issue as a bit of documentation.