Skip to content

Add dashboard for timeseries management#446

Draft
paulapreuss wants to merge 6 commits into
mainfrom
feature/timeseries-dashboard
Draft

Add dashboard for timeseries management#446
paulapreuss wants to merge 6 commits into
mainfrom
feature/timeseries-dashboard

Conversation

@paulapreuss

@paulapreuss paulapreuss commented Mar 19, 2026

Copy link
Copy Markdown

Will (hopefully) close #403, close #401, close #331, close #332.

The current state is simply a frontend prototype to display what this dashboard could look like (a lot of this code will have to be deleted and replaced). Here are some of the things that need to be handled:

Backend:

  • Currently, every time a Timeseries is used for a different scenario, a duplicate timeseries gets created, that means that a timeseries might have four duplicates (for each scenario) with the exact same values. It might be better to replace the scenario field of the Timeseries with project and fill those with scenario.project on the next migration (keeping only one Timeseries), which would get rid of the many duplicates. This would need a custom migration to handle the deletion and replacement of the field values - here we have to be really careful since we would be deleting production database objects. We still might have the issue of a user wanting to share a timeseries between different projects. The options here would be to handle it through a ManyToMany field instead of a strict ForeignKey (a Timeseries can be assigned to multiple Projects) or to simply have the user duplicate this timeseries for the other project (I think this is my preffered option, as this would also avoid issues if for example one project has a different number of timesteps than the other).
  • The Timeseries class also should get two new metadata fields: a generation_parameters JSONField (stores the values used to create the timeseries, e.g. if a timeseries is created from an eesyplan method with a specific tilt/azimuth it can store these inputs in a JSON format), and a description TextField where the user can freely add a description to their Timeseries. It was wished that this description would also be shown in the modal when selecting a timeseries on an asset.

Frontend:

  • The timeseries dashboard should easily reachable. I'd say for now we can put it on the top navigation bar, next to "My Projects".
  • The current implementation is all dummy for display with the project partners, so it all needs to be hooked up to the backend
    • For the edit Timeseries as well as for the upload Timeseries buttons, I think we can create a TimeseriesModelForm out of the Timeseries class and feed it to the existing modal template ({% include "modal_template.html" ... %})
    • The modal will need the option to upload a file like the current timeseries_input does, and should make use of the validation pipeline that is already established there
    • The delete button can be fairly straightforward (doesn't need a modal) but should include a very explicit warning message along the lines of "Are you sure? This will delete the selected timeseries from all scenarios it is currently used in. You may have to reconfigure the respective assets."
    • The "Create Manually" will be hooked up later when it is finalized which eesyplan methods should be accessible for creating Timeseries and which inputs they require.
  • There needs to be options to filter the table (by project, by asset type, by length etc.)
  • Later we need to change some things (e.g. the selection of the timeseries should be dynamic) and things should look a bit nicer. I think we might just have Bryan look at it once it is somewhat ready though, so no need to spend too much time on this now.

@paulapreuss paulapreuss force-pushed the feature/timeseries-dashboard branch from 032dd8c to 3ef5d1b Compare June 23, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant