DOI: 10.5061/dryad.8w9ghx3zv
title: Data from: Plasma refilling of the lunar wake: Plasma-vacuum interactions, electrostatic shocks, and electromagnetic instabilities

description: A plasma void forms downstream of the Moon when the solar wind impacts the
 lunar surface. This void gradually refills as the solar wind passes by,
 forming the lunar wake. We investigate this refilling process using a
 fully kinetic particle-in-cell (PIC) simulation. The early stage of
 refilling follows plasma-vacuum interaction theory, characterized by
 exponential decay of plasma density into the wake, along with ion
 acceleration and cooling in the expansion direction. Our PIC simulation
 confirms these theoretical predictions. In the next stage of the refilling
 process, the counter-streaming supersonic ion beams collide, generating
 Debye-scale electrostatic shocks at the wake's center. These shocks
 decelerate and thermalize the ion beams while heating electrons into
 flat-top velocity distributions along magnetic field lines. Additionally,
 fast magnetosonic waves undergo convective growth via anomalous cyclotron
 resonance as they co-propagate with temperature-anisotropic ion beams
 toward the wake's center. Electromagnetic ion cyclotron waves may
 also be excited through normal cyclotron resonance, counter-propagating
 with these anisotropic ion beams. Our findings provide new insights into
 the kinetic aspects of lunar wake refilling and may enhance interpretation
 of spacecraft observations. The accompanying dataset comprises
 PIC simulation results organized into raw data files and analysis scripts.
 Field data on spatial grids are archived as .gda files, while particle
 data on phase space grids are stored as .bin files in the "data"
 directory. Jupyter notebooks in the "scripts" directory provide
 analysis pipelines for reproducing all figures in our study. Each notebook
 demonstrates complete workflows for data processing and visualization,
 with detailed notebook-to-data correspondence documented in the README
 file to ensure full reproducibility.
description: # Data from: Plasma refilling of the lunar wake: Plasma-vacuum
 interactions, electrostatic shocks, and electromagnetic instabilities ##
 Overview This dataset contains particle-in-cell (PIC) simulation results
 for studying lunar wake refilling processes. After downloading and
 extracting the dataset, you will find two main directories: * **`data/`**
 - Raw simulation data files * **`scripts/`** - Jupyter notebooks for
 analysis and visualization ## Data Structure ### Raw Data Files: data.file
 (data/directory) The raw data consists of two types: * **Field data**
 (`.gda` files): Electromagnetic fields and plasma quantities defined on
 spatial grids * **Particle data** (`.bin` files): Ion and electron
 distributions defined on phase space grids ### Analysis Scripts:
 scripts.file (scripts/directory) Each Jupyter notebook reproduces specific
 figures from our paper and demonstrates complete analysis workflows. The
 notebooks are self-contained and include all necessary data processing and
 visualization code. ## Notebook-to-Data Mapping | Jupyter Notebook |
 Description | Required Data Files | | :----------------------------------
 |
 :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | | prod\_tjoin\_density.ipynb | Plot plasma density as a function of space and time | rhoi.gda, rhoe.gda | | prod\_theory\_PIC\_comparison.ipynb | Compare plasma moments from PIC simulation to self-similar theory | rhoi.gda, rhoe.gda, pix.gda, pex.gda, ti-xx.gda, te-xx.gda, jix.gda, jex.gda | | prod\_theory\_PIC\_Efield.ipynb | Compare electric field from PIC simulation to self-similar theory | ex.gda | | prod\_theory.ipynb | Plot plasma moments from self-similar theory | None (theoretical calculations only) | | prod\_ps.ipynb | Plot ion and electron phase space distributions | Hxvx.\*.bin, exvx.\*.bin | | prod\_tjoin\_Efield.ipynb | Plot electric field as a function of space and time | ex.gda | | prod\_wave\_ps.ipynb | Analyze early-phase excitation of ion acoustic waves and electrostatic shocks | ex.gda, Hxvx.\*.bin | | prod\_wave\_ps2.ipynb | Analyze late-phase excitation of ion acoustic waves and electrostatic shocks | ex.gda, Hxvx.\*.bin | | prod\_tjoin\_ps.ipynb | Analyze energy conversion across electrostatic shocks during initial phase | ex.gda, Hxvx.\*.bin, exvx.\*.bin | | prod\_tjoin\_ps2.ipynb | Analyze energy conversion across electrostatic shocks during early phase | ex.gda, Hxvx.\*.bin, exvx.\*.bin | | prod\_tjoin\_ps3.ipynb | Analyze energy conversion across electrostatic shocks during late phase | ex.gda, Hxvx.\*.bin, exvx.\*.bin | | prod\_vcl.ipynb | Analyze ion velocity distribution in parallel and perpendicular velocity space | Hxvcl.\*.bin | | prod\_wave.ipynb | Analyze propagation characteristics of ion acoustic waves and electrostatic shocks | ex.gda | | prod\_wave2.ipynb | Analyze propagation characteristics of magnetosonic waves | by.gda, bz.gda | **Note**: The wildcard `*` in filenames represents simulation time steps encoded in the data files. ## Additional Files * **`ReadFile.py`** - Python library for reading `.gda` and `.bin` data files * **`plt_style.txt`** - Matplotlib style configuration for consistent plot formatting ## Requirements To run the Jupyter notebooks, you need the following Python packages: * `numpy` * `scipy` * `matplotlib` * `jupyter` Install using: `pip install numpy scipy matplotlib jupyter` ## Getting Started 1. Ensure all required Python packages are installed 2. Navigate to the `scripts/` directory 3. Launch Jupyter: `jupyter notebook` 4. Open any notebook to begin analysis 5. Each notebook will automatically load the corresponding data files from the `data/` directory ## Data File Naming Convention * **Proton data**: Prefixed with `H` (e.g., `Hxvx`) * **Electron data**: Prefixed with `e` (e.g., `exvx`) * **Field data**: Named by component (e.g., `ex`, `by`, `bz`) * **Density**: `rhoi` (ions), `rhoe` (electrons) * **Fluid Momentum**: `pix`, `pex` (ion/electron x-component) * **Temperature**: `ti-xx`, `te-xx` (ion/electron xx-component) * **Current**: `jix`, `jex` (ion/electron x-component)