intake / intake-gsoc-gui

Panel GUI project for GSOC
3 stars 3 forks source link

CF model viewer #31

Open rsignell-usgs opened 5 years ago

rsignell-usgs commented 5 years ago

I’ve been thinking that we really should try a more customized/limited app on top of xrviz for viewing cf-compliant model output , since that was the original motivation for this project.

I’m imagining the kind of interface we started with in the HRRR/Great Lakes viewer, but using all the good stuff that has been developed here to make it much better!

This could also serve as an example of how to build a customized app using xrviz components.

rsignell-usgs commented 5 years ago

I’m at scipy this week and ESIP Summer Meeting next week and realizing I’d love to show something based on this work instead of the original HRRR viewer

martindurant commented 5 years ago

I think you already have such a customised viewer, so long as we allow the attributes of the existing viewer to be easily set up from outside of the interface. Currently you would have to call down into the sub-panel objects and set widget values to do this, but it would not be hard to make a user-facing method.

The parts of the app are separable, however, but it would take a little extra work to figure out ways to connect them together into arbitrary apps. Since we use sigslot for messaging, it ought to be just a case of connecting the right signals together.

rsignell-usgs commented 5 years ago

I'm not sure what this means, but hoping @hdsingh does! Could we have a notebook similar to the HRRR Dashboard that I can run on Binder for show-and-tell here at SciPy and at ESIP?

hdsingh commented 5 years ago

@rsignell-usgs I think showing the xrviz.example() would be better since it is well tested. Dashboard could be displayed in the notebook using:

import xrviz
dash = xrviz.example(show=False)
dash.panel

or for any other dataset using:

import xarray as xr
from xrviz.dashboard import Dashboard

url = 'data url here'
data = xr.open_dataset(url)

dashboard = Dashboard(data)
dashboard.show()

However, showing the actual full dashboard instead of notebook would be better.