Skip to main content

DOI Python versions pytest codecov Project Status: Active – The project has reached a stable, usable state and is being actively developed. website

SPEARHEAD VDA tool

About

The VDA tool helps in the automation of Velocity Dispersion Analysis (VDA) of one or multiple Solar Energetic Particle (SEP) events. The events are provided to the tool as datetime ranges or reference times, from a file or entered in the Notebook. The user can parameterize the given Notebook and control the spacecraft whose data are used (Solar Orbiter, STEREO-A, Parker Solar Probe, SOHO, Wind or BepiColombo), which particle species are used, the sensor from which they are detected, the viewings to be considered, and the background window of each event.

The tool has three notebooks: vda_multi_event.ipynb, the VDA of one or more events from one spacecraft, vda_multi_spacecraft.ipynb, the VDA of one event from several spacecraft, with their VDA fits in one plot, and vda_custom_points.ipynb, the VDA fit of onset points given by the user, in groups such as one per spacecraft.

The tool utilizes the Pandas module and generates multiple DataFrames during its execution. The final output of the tool is the release time and apparent path length of each inputted event, with a plot of its VDA analysis.

Tested in Ubuntu with Python 3.11 to 3.14, and MacOS 15.1.1 with Python 3.12.8

How to install

Access online (JupyterHub)

You can access the complete VDA tool online on the JupyterHub server of the SPEARHEAD project. All you need is a (free) GitHub account for verification. Access the tool by opening this link!

Install locally

  1. This tool requires a recent Python (>=3.11) installation. Following SunPy's approach, we recommend installing Python via miniforge (click for instructions).
  2. Open a terminal or the miniforge prompt, create a new virtual environment (e.g., conda create --name vda python=3.12) and activate it (e.g., conda activate vda).
  3. Install the tool and its dependencies from PyPI with pip install "spearhead-vda[notebook]"
  4. Download the notebooks and their example files into a folder of your choice (here vda) with spearhead-vda-notebooks vda, and move to it with cd vda
  5. Open a Jupyter Notebook by running jupyter-lab vda_multi_event.ipynb (or jupyter-lab vda_multi_spacecraft.ipynb, jupyter-lab vda_custom_points.ipynb)

Install from the repository

To use the latest code of the repository or change it:

  1. Download this file and extract to a folder of your choice (or clone the repository https://github.com/spearhead-he/VDA if you know how to use git).
  2. Open a terminal or the miniforge prompt and move to the directory where the code is.
  3. Create a new virtual environment (e.g., conda create --name vda python=3.12) and activate it (e.g., conda activate vda).
  4. Install the tool and its dependencies with pip install -e ".[notebook]" (or, equivalently, pip install -r requirements.txt)
  5. Open the Jupyter Notebook by running jupyter-lab vda_multi_event.ipynb (or jupyter-lab vda_multi_spacecraft.ipynb, jupyter-lab vda_custom_points.ipynb)

How to use

Open the Notebook vda_multi_event.ipynb and run its cells in order: a setup cell, a form with all the parameters (tabs Events, Data, Energy channels, Onsets and Views/Plots), and one cell per step of the analysis:

from spearhead.vda.notebook import VDA_notebook
tool = VDA_notebook()

tool.parameters_form()       # all the parameters
tool.run_data()              # events, data download and grouping of the energy channels
tool.background_selection()  # background window of each event
tool.run_onsets()            # onsets, and their selection
tool.run_vda()               # results and plots

The events are given with a .csv file (datetime ranges or reference times, see the examples) or entered in the form. See the user guide for details.

The Notebook vda_multi_spacecraft.ipynb has the same cells, with VDA_multi_spacecraft_notebook instead of VDA_notebook, for one event and several spacecraft (see the user guide). The Notebook vda_custom_points.ipynb has a form with the onset points (or a points file, see the example) and the VDA step (see the user guide).

Example output

The VDA plots of the notebooks with their default parameters and example data.

vda_multi_event.ipynb: the default event (2021-10-28) from Solar Orbiter, with the onsets of the proton channels as circles and of the electron channels as stars, and the release time and apparent path length (APL) of the VDA fit.

VDA plot of the 2021-10-28 event from Solar Orbiter

vda_multi_spacecraft.ipynb: the same event from Solar Orbiter, STEREO-A and SOHO, with the VDA fit of each spacecraft extended to inverse beta 0.

VDA fits of the 2021-10-28 event from Solar Orbiter, STEREO-A and SOHO

vda_custom_points.ipynb: the example points of the 2024-11-21 event (examples/custom_points_example.csv) seen by SOHO, STEREO-A and Solar Orbiter, with reference times at inverse beta 0.

VDA fits of the custom points of the 2024-11-21 event, with reference times

What's new in v1.0.0

  • The tool is on PyPI: pip install "spearhead-vda[notebook]", and the notebooks are downloaded with spearhead-vda-notebooks (see Install locally).
  • Three notebooks:
    • vda_multi_event.ipynb (previously vda_tool.ipynb): the VDA of one or more events from one spacecraft
    • vda_multi_spacecraft.ipynb (new): the VDA of one event from several spacecraft, with their VDA fits in one plot
    • vda_custom_points.ipynb (new): the VDA fit of onset points given by the user, in groups (e.g. one per spacecraft), entered in its form or read from a points file
  • Reference times (e.g. SXR peak, type II and type III radio bursts) shown at inverse beta 0 in the VDA plots.
  • The spacecraft is named in the results and in the title of the VDA plot.

See the changelog for all the changes, and how to upgrade from previous versions.

Documentation

  • User guide: the Notebooks, the spacecraft and their instruments, the parameters, the events files, background windows, onset selection, results, multiple spacecraft and custom points
  • Using the VDA tool without the notebook: the analysis code in scripts
  • Development: installation for development, the tests and the baseline image of the VDA plot
  • Changelog

Contributing

Contributions to this tool are very much welcome and encouraged! Contributions can take the form of issues to report bugs and request new features or pull requests to submit new code.

If you don't have a GitHub account, you can sign-up for free here, or you can also reach out to us with feedback by sending an email to jan.gieseler@utu.fi.

Acknowledgement

This tool is developed within the SPEARHEAD (SPEcification, Analysis & Re-calibration of High Energy pArticle Data) project. SPEARHEAD has received funding from the European Union’s Horizon Europe programme under grant agreement No 101135044.

The tool reflects only the authors’ view and the European Commission is not responsible for any use that may be made of the information it contains.

Metadata

Release files for spearhead-vda 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spearhead-vda 1.0.0
File Size Uploaded
spearhead_vda-1.0.0.tar.gz 70.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spearhead-vda 1.0.0
File Interpreter ABI Platform
spearhead_vda-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 117.3 kB

Release files / spearhead_vda-1.0.0.tar.gz

Download URL spearhead_vda-1.0.0.tar.gz
Size 70.4 kB
Tags Source
SHA-256 checksum
How to use checksums
71c031d6c99d74318cb96c1a9b2ddfe7c764a0d6a0238b7f68fc5f6a98b8fdaa
BLAKE2b-256 checksum
How to use checksums
053832b9baa491b988aa71174ef9bb073d0bfa82a99def7f33318e26b6e1b4c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / spearhead_vda-1.0.0-py3-none-any.whl

Download URL spearhead_vda-1.0.0-py3-none-any.whl
Size 46.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
533473c18311498ac4c99b580c74fe0f01958b89daa7b56bb120b31aa5bdda6d
BLAKE2b-256 checksum
How to use checksums
78767b9b7cbe0add2e5e926ebdc0540dcd3043520f7fc6971e0937f921af32d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page