---
# System prepended metadata

title: VirES & VRE Evolution

---

# 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
```

