Engineering
ELSA: Metadata Tooling for NASA's Planetary Data System
- Role
- Research Assistant / Software Engineer
- Period
- May 2024 – Present
- Live site
- atmos.nmsu.edu/elsa
- Stack
- Python 3.11
- Django 4.2
- MariaDB
- xarray / netCDF4
- Bootstrap 5
- Gemini API
Context#
NASA's Planetary Data System (PDS) is the long-term archive for data from planetary missions; its Atmospheres Node curates atmospheric datasets. Archiving to PDS is only useful if the metadata is correct and complete, and producing that metadata by hand for large datasets is slow and error-prone. ELSA, the Educational Labeling System at Atmospheres, is the web application that makes this tractable: it walks planetary scientists through generating PDS4 metadata for large datasets and preparing it for submission to the node, so the data becomes searchable and reusable.
The Atmospheric Modeling Annex is a new PDS service for archiving planetary atmospheric model output. For Annex bundles, ELSA harvests metadata directly from netCDF model output, including per-variable attributes and dimensions and per-coordinate boundaries and units, and generates PDS4 labels against the published Annex data dictionary.
Pipeline sketch: ELSA sits between scientists’ datasets and the archive, turning data that would need hand-written metadata into submission-ready PDS4 labels, now including atmospheric models via the Annex. A completed bundle is routed to node staff for review rather than written to the archive directly. Access is protected by two-factor authentication; public forms use reCAPTCHA.
What I built#
Interface rebuild#
Rebuilt ELSA's primary bundle-building and bundle-hub interfaces on Bootstrap 5, adding responsive layouts, client-side search and filtering, and bundle status tracking.

Atmospheric Modeling Annex (frontend lead)#
Led the frontend for a new PDS service for planetary model output, building most of the bundle-building interface and co-authoring the netCDF metadata extraction pipeline behind it.

AI Assistant (beta) and Guided Bundle Creation#
Built ELSA's in-app AI Assistant: a retrieval layer over a curated PDS4 knowledge base, a multi-model fallback chain, streaming responses, an evaluation suite, and a CI gate that fails the build when ELSA's code drifts ahead of the documentation the assistant answers from. Also built ELSA's Guided Bundle Creation flow.

Authentication#
Implemented email-based two-factor authentication for sign-in, and integrated reCAPTCHA on public forms.
Impact#
ELSA lets scientists produce submission-ready PDS4 metadata for large datasets that would otherwise be prohibitively tedious to prepare, and the Atmospheric Modeling Annex extends the node's archive to a new data type.
ELSA is built by a team at the PDS Atmospheres Node. The Annex netCDF pipeline was co-authored with Said Ajo-Montaño, and the Annex walkthrough was extended by Nicholas Miller.