# VirES & VRE Evolution
## Wider strategy
- Speak with ESA about shifting the service as a project wider than Swarm
- Mission-specific tooling limits users access to data (compare how NASA data is accessed)
- Consider the interest from SMILE, NanoMagSat, ...
## VirES feature shopping list
- General:
- Improve vires.services splash page
- Reference back to ESA Swarm pages to explore more of Swarm
- Reference to other projects (e.g. pygeodyn) - could be done with a link to magneticearth.org & a small graphic previewing other projects
- Server:
- [In progress] Model API and performance improvements
- New products: see https://github.com/orgs/ESA-VirES/projects/1
- Optional rotation of vectors into common coordinate frames
- or write a good guide about how to do this locally after retrieving the data
- HAPI:
- Add metadata for vector component labels (e.g. NEC vars: "N", "E", "C"). Todo: check latest updates in specs regarding coordinate systems
- Ability to append external auxiliaries from HAPI
- GUI:
- Residuals visualisation: ability to select only one component rather than the vector
- Improved data download tool
- Could be done as Jupyter/Panel dashboard in VRE. Allowing greater total file sizes / different output types and file-break strategies (use `/tmp` to temporarily store larger sizes for download). Ref: desired tool within HAPI ecosystem, "CDF creator".
- VRE:
- Publically accessible docker image for advanced users to run directly on other systems. [AS] to provides guides for local development environments (using the full VRE stack is not generally advised). Coordinate with Heliocloud/Panhelio about a PyHC container
- Extensions / software
- CPU & MEM monitor (e.g. `jupyter-resource-usage`)
- Github cli
- [jupyterlab-link-share](https://github.com/jupyterlab-contrib/jupyterlab-link-share) for convenient [realtime collaboration](https://jupyterlab.readthedocs.io/en/stable/user/rtc.html) (wait until less experimental - should be good in Lab v4?)
- linting / code help:
- https://github.com/jupyter-lsp/jupyterlab-lsp
- black cell auto-formatter (https://github.com/n8henrie/jupyter-black?)
- Waiting for upstream:
- https://github.com/damianavila/RISE/ (waiting on Lab3 integration [PR](https://github.com/damianavila/RISE/pull/605))
- To investigate:
-
- https://github.com/gclouduniverse/jupyterlab_gcsfilebrowser
- Anything supporting jupyter-book
- Mermaid diagrams
- https://github.com/cds-astro/ipyaladin & others from the astro world, like yt
- many viz related things here from elsewhere, like https://github.com/InsightSoftwareConsortium/itkwidgets
- https://github.com/yuvipanda/jupyter-videochat
## VRE training
- Focus on augmenting the Cookbook with links to other resources for general Python & Jupyter usage
- Identify and promote the best guides out there, e.g. https://coderefinery.github.io/jupyter/
- Dedicated workshops, "data bootcamps" for Swarm TBD
Plan out how a basic hackweek could work, based on https://uwhackweek.github.io/hackweeks-as-a-service/gallery/index.html
## viresclient upcoming features
- Handling uploaded data from Python
- e.g. supply your own mag data, get access to the model eval, viz in GUI
- could enable filtering by your own uploaded variables
- Useful in cases, such as RC index, MEF
- ? Fetching from given list of time intervals. More flexible ways to get at the time series.
- Custom (time/place) magnetic model eval, with dashboard
- Instantiation of VirES GUI with given views - i.e. a preview link displayed during the request
## viresclient / VRE usage guide improvement
- Performance hints
- e.g. for faster residuals:
- suggest `CHAOS-Static(max_degree=80)`
## Local VRE-like environment
Normally this means you want to customise what's installed / don't want all the packages available, so it needs a different solution. See [Building a "codelab"](/uMHip9jcTFK-jCutCtvQyg)
## Tweaks to configure VRE experience
```
git config --global core.editor nano
```