Data and code from: Ion pickup and velocity space thermalization at outer planet moons
Data files
Apr 17, 2026 version files 53.91 GB
-
data.tar.gz
53.89 GB
-
notebooks.tar.gz
12.55 MB
-
README.md
6.66 KB
Abstract
This dataset supports the study of ion pickup dynamics and velocity-space thermalization at the outer planets' active moons (Io, Enceladus, Europa). It contains output from hybrid-kinetic particle-in-cell (PIC) simulations in which O+ ions are treated kinetically and electrons are modeled as a massless fluid. The simulations are performed in the moon's rest frame, where ambient corotating ions stream perpendicular to the background magnetic field, forming a nongyrotropic two-population velocity distribution that drives electromagnetic ion cyclotron (EMIC), mirror-mode, and ion Bernstein wave instabilities. The dataset includes time-series of electromagnetic field components, ion current densities, number densities, and pressure tensors defined on simulation grids, as well as particle phase-space data used for field-particle correlation analysis and velocity distribution function reconstruction. Together, these data enable quantitative analysis of wave dispersion properties, particle energetics, and wave-driven ion scattering in both gyrophase and pitch angle, providing a kinetic characterization of pickup-driven wave-particle interactions relevant to in situ observations at active moons throughout the outer solar system.
Dataset DOI: 10.5061/dryad.hx3ffbgtw
Description of the data and file structure
The dataset is organized into two compressed archives: notebooks.tar.gz and data.tar.gz.
notebooks.tar.gz
Eight Jupyter notebooks for reproducing all manuscript figures. Required data files for each notebook are listed below.
1. plots3_pppp_fdists-intMa-decompose.ipynb
Particle velocity distribution functions at selected times and their decomposition in gyrophase and perpendicular velocity.
- Required data: all particle data files in the particle directory
2. plots3_energy_budget-intMa.ipynb
Temporal evolution of particle kinetic and electromagnetic field energies.
- Required data:
ji{x,y,z}-Oxygen-{ambient,pickup}.gda,b{x,y,z}.gda,e{x,y,z}.gda,ni-Oxygen-{ambient,pickup}.gda,pi-{xx,yy,zz,xy,xz,yz}-Oxygen-{ambient,pickup}.gda
3. plots3_ffff_disps-intMa-bfld.ipynb
Dispersion analysis of magnetic field perturbations.
- Required data:
bx.gda,by.gda,bz.gda
4. plots3_ffff_disps-intMa-efld.ipynb
Dispersion analysis of electric field perturbations.
- Required data:
ex.gda,ey.gda,ez.gda
5. plots3_ffff_disps-intMa-density.ipynb
Dispersion analysis of plasma density perturbations.
- Required data:
ni-Oxygen-ambient.gda,ni-Oxygen-pickup.gda
6. plots3_fpcorr-denseoutput-intMa-Copy1.ipynb
Field-particle correlation analysis of energy transfer before wave saturation.
- Required data:
Oxygen-{ambient,pickup}.fpcorr.{timestep}.binin the particle directory, where{timestep}corresponds to time steps before wave saturation in the simulation
7. plots3_fpcorr-denseoutput-intMa-Copy2.ipynb
Field-particle correlation analysis of energy transfer after wave saturation.
- Required data:
Oxygen-{ambient,pickup}.fpcorr.{timestep}.binin the particle directory, where{timestep}corresponds to time steps after wave saturation in the simulation
8. plots3_pppp_fpcorr_ql-intMa-Copy1.ipynb
Field-particle correlation analysis in the quasi-linear framework.
- Required data:
Oxygen-{ambient,pickup}.vxvyvz.{timestep}.binin the particle directory, where{timestep}corresponds to selected time steps in the simulation
data.tar.gz
All data required to run the notebooks. Contains 27 grid-based field data files (binary .gda format) and one directory of particle data.
Electromagnetic Fields
| File | Description |
|---|---|
bx.gda, by.gda, bz.gda |
Three components of the magnetic field |
ex.gda, ey.gda, ez.gda |
Three components of the electric field |
Ion Current Densities
| File | Description |
|---|---|
jix-Oxygen-ambient.gda, jiy-Oxygen-ambient.gda, jiz-Oxygen-ambient.gda |
Current density components of the ambient O⁺ population |
jix-Oxygen-pickup.gda, jiy-Oxygen-pickup.gda, jiz-Oxygen-pickup.gda |
Current density components of the pickup O⁺ population |
Ion Number Densities
| File | Description |
|---|---|
ni-Oxygen-ambient.gda |
Number density of the ambient O⁺ population |
ni-Oxygen-pickup.gda |
Number density of the pickup O⁺ population |
Ion Pressure Tensors
| File | Description |
|---|---|
pi-xx-Oxygen-ambient.gda, pi-yy-Oxygen-ambient.gda, pi-zz-Oxygen-ambient.gda, pi-xy-Oxygen-ambient.gda, pi-xz-Oxygen-ambient.gda, pi-yz-Oxygen-ambient.gda |
Six independent components of the ambient O⁺ pressure tensor |
pi-xx-Oxygen-pickup.gda, pi-yy-Oxygen-pickup.gda, pi-zz-Oxygen-pickup.gda, pi-xy-Oxygen-pickup.gda, pi-xz-Oxygen-pickup.gda, pi-yz-Oxygen-pickup.gda |
Six independent components of the pickup O⁺ pressure tensor |
Particle Data (Directory)
Phase-space particle data for field-particle correlation analysis and three-dimensional velocity distribution functions. Files in this directory follow two naming conventions:
| File format | Description | |
|---|---|---|
Oxygen-{ambient,pickup}.fpcorr.{timestep}.bin |
Field-particle correlation functions for the ambient or pickup O+ population at the specified simulation time step | |
Oxygen-{ambient,pickup}.vxvyvz.{timestep}.bin |
Three-dimensional velocity distribution functions for the ambient or pickup O⁺ population at the specified simulation time step | ## Code/software |
Code and Software Requirements
The dataset can be analyzed and visualized using free, open-source scientific Python tools. All figures in the associated manuscript can be reproduced using the provided Jupyter notebooks.
Software Environment
The following software and packages are required:
- Python (version 3.8 or later recommended)
- Jupyter Notebook (or JupyterLab) for running the provided notebooks
- NumPy for numerical array operations
- SciPy for scientific computing and data processing
- Matplotlib for data visualization
Recommended Python Package Versions
While exact versions are not strictly required, the following versions were used during development and testing:
-
numpy ≥ 1.20
-
scipy ≥ 1.6
-
matplotlib ≥ 3.3
-
notebook ≥ 6.0 (or jupyterlab ≥ 3.0)
