NREL / boptest-dashboard

2 stars 0 forks source link

Handle new peak demand kpis #55

Open dhblum opened 2 years ago

dhblum commented 2 years ago

v0.3.0 of BOPTEST will introduce new KPIs for peak electrical demand, gas demand, and district energy demand. See https://github.com/ibpsa/project1-boptest/issues/388. This issue is to accept and handle these KPIs within the dashboard.

kbenne commented 5 months ago

It looks like there are three new peak demand KPIs. One thing I'm thinking about is how this will render in the dashboard's table views. Are three new columns going to get unreasonably compressed on a typical screen without scrolling?

Currently the dashboard will provide a horizontal scroll bar if you reduce the width significantly, but at least on my computer a full screen browser window does not need to horizontally scroll the dashboard.

I guess maybe I should just try adding the three new columns and see how compressed it looks.

dhblum commented 5 months ago

With the reduced sig figs, there's a good amount of white space between columns. Try and see what it looks like on a typical laptop size screen?

kbenne commented 5 months ago

Not bad on my computer screen. I'm going to push this to the dev cluster and we can play with it there and work out any issues.

Screenshot 2024-05-13 at 3 57 43 PM
dhblum commented 5 months ago

Agreed, looks good to me in the screenshot but would be good to see on dev. Nit-picky, but any possibility to push Computational Time Ratio to the end?

dhblum commented 5 months ago

Oh, and the peak demands are NA in the data if the test cases doesn't use e.g. gas or district heating. Will that display/be an issue?

kbenne commented 5 months ago

Right now they are required fields. If the result payload doesn't have them then I'm pretty sure the result will not be accepted. Are you saying that some test results wont have peak demand KPIs?

kbenne commented 5 months ago

Agreed, looks good to me in the screenshot but would be good to see on dev. Nit-picky, but any possibility to push Computational Time Ratio to the end?

Yeah I will push time ratio to the end.

dhblum commented 5 months ago

Right now they are required fields. If the result payload doesn't have them then I'm pretty sure the result will not be accepted. Are you saying that some test results wont have peak demand KPIs?

No test case has all peak demand KPIs. They all have electricity, but most either have only one of gas or district heating, or neither and the heating system is also electric. As an example, the KPI results printed from bestest_air (electric cooling, gas heating) yields:

$ curl localhost:80/kpi/86678887-9655-4b4f-8d09-8f15066b223b | python -m json.tool
{
    "status": 200,
    "message": "Queried KPIs successfully.",
    "payload": {
        "tdis_tot": 0,
        "idis_tot": 0,
        "ener_tot": 0,
        "cost_tot": 0,
        "emis_tot": 0,
        "pele_tot": 0,
        "pgas_tot": 0,
        "pdih_tot": null,
        "time_rat": 0
    }
}
kbenne commented 5 months ago

OK. I need to make some changes then. I built this on the assumption that unused fuel sources would be 0. Do you think I should just make all of the peak demand fields optional, including electricity, or should only gas and district heating be optional?

One thing to think about is how the detailed KPIs results show up. I think maybe the not applicable fields need to be ommitted from this view.

Screenshot 2024-05-13 at 4 31 30 PM
dhblum commented 5 months ago

All the test cases have electricity, and I expect that to be the case moving forward, so I think it's ok to only make the gas and district optional. In the detailed view, I agree, if it's possible, to simply not show KPIs that are not applicable.

kbenne commented 5 months ago
Screenshot 2024-05-14 at 11 24 37 AM Screenshot 2024-05-14 at 11 24 59 AM
dhblum commented 5 months ago

Looks great, thanks so much!