Skip to content

API Documentation

pynasonde exposes a layered Python API for reading, parsing, and visualising ionosonde data from VIPIR and Digisonde instruments. Use the navigation on the left to browse modules, or jump to a subsystem below.

Symbol legend

Every heading in the reference pages carries a symbol that identifies what kind of Python object is documented.

P Package / Module

A Python package (directory with __init__.py) or a .py module file.

C Class

A Python class definition, including dataclasses and abstract base classes.

M Method / Function

An instance method, class method, static method, or module-level function.

A Attribute / Property

A class-level attribute, dataclass field, or @property.


Subsystems

Digisonde

Module Purpose
Utils Shared helpers: namespace conversion, station loading, grid utilities
Plot Utils Matplotlib wrappers for sky maps, drift velocity, EDP plots
SAO Parser Read legacy fixed-width and XML SAO ionogram files
SKY Parser Read SKY drift/direction files
RSF Parser Read raw RSF ionogram binary records
DVL Parser Read Digisonde Velocity/DVL files
DFT Parser Read DFT spectral files
EDP Parser Electron density profile extraction
SBF Parser Read binary SBF ionogram amplitude/phase blocks
MMM Parser Read binary ModMax MMM ionogram blocks
Image Parser Extract ionogram images (IonogramImageExtractor)
SAO XML Datatypes Dataclasses for SAO XML records
SBF Datatypes Dataclasses for SBF binary format
MMM Datatypes Dataclasses for MMM/ModMax binary format
DFT Datatypes Dataclasses for DFT spectral format
RSF Datatypes Dataclasses for RSF binary records
Raw IQ Parse DPS4D raw IQ → ionogram pipeline (process, IonogramResult)
IQ Reader One-second .bin IQ file reader (IQStream)
Raw Plots Plotting helpers for raw IQ ionograms (RawPlots, AFRLPlots)

VIPIR

Module Purpose
NGI Utils Time-zone conversion, smoothing, color helpers
NGI Source Dataset / DataSource for loading NGI NetCDF files
NGI Scale Auto-scaling, noise profiling, trace extraction
NGI Plot Utils Ionogram and profile visualisation helpers
RIQ Echo Extractor Dynasonde-style seven-parameter echo extraction (Echo, EchoExtractor)
RIQ Ionogram Filter Five-stage post-extraction echo filter: RFI, EP, multi-hop, DBSCAN, temporal coherence (IonogramFilter)
RIQ Read Low-level RIQ binary reader and threshold routines
RIQ Utils RIQ format utility functions
SCT Datatypes System configuration table dataclass
PCT Datatypes Pulse configuration table dataclass

VIPIR Analysis

Module Purpose
Analysis Overview Physics analysis sub-package overview, pipeline diagram, all public imports
Es Imaging — Package Package overview: algorithm, instrument parameters, singularity constraints
Es Imaging — capon.py EsCaponImager (single-cube Capon imager), EsImagingResult — full constructor, fit(), internal methods, plot API
Es Imaging — aggregator.py RiqAggregator — multi-file A+B+C; load(), combine(), fit(); Option A/B/C combining strategy
Absorption AbsorptionAnalyzerLOFResult, DifferentialResult, TotalAbsorptionResult, AbsorptionProfileResult
True Height Inversion TrueHeightInversionEDPResult — Titheridge lamination method; N(h) profile
Polarization PolarizationClassifierPolarizationResult — O/X mode labelling from PP chirality
Spread-F SpreadFAnalyzerSpreadFResult — range/frequency/mixed spread-F detection
Scaler IonogramScalerScaledParameters — foE, foF2, h′F, MUF, bootstrap uncertainty
Irregularities IrregularityAnalyzerIrregularityProfile — EP structure function, spectral index α
NeXtYZ NeXtYZInverterNeXtYZResult, WedgePlane — 3-D WSI + Hamiltonian ray tracing (Zabotin et al. 2006)