Overview
CASPER – CSV Automation Service for Processing & Easy Retrieval
CASPER is a Python package that converts NetCDF (.nc, .h5) files to one or more CSV files based on the dimensional schema in the NetCDF file.
What does it do?
Using xarray, CASPER obtains the dimensions identified in the NetCDF file and groups variables by the dimensional schema, then outputs each dimensional schema in a separate CSV file.
Getting started, with uv
- Follow the instructions for installing
uvhere. - Install
casper, with its dependencies, by running the following from the repository directory:
uv sync
Usage
For example:
uv run casper TEMPO_NO2_L2_V04_S009G07.nc
For example (note that these are pseudo-real, not actual, TEMPO file names):
casper TEMPO_NO2_L2_V04_S009G07.nc
Output:
Zip file TEMPO_NO2_L2_V04_S009G07.zip including csv files:
TEMPO_NO2_L2_V04_S009G07-0.csv, → dimension schema 1 (ie, dimensions ('mirror_step', 'xtrack', 'corner'))TEMPO_NO2_L2_V04_S009G07-1.csv, → dimension schema 2 (ie, dimensions('mirror_step', 'xtrack', 'swt_level'))
Key Features
- Reads NetCDF files and groups the data by shared dimensions and creates a CSV file for each dimension group.
- Command-line interface and Python API for integration with NASA Harmony service orchestrator
- Verbose logging for debugging
Installation
From Source (Development)
For local development or the latest features:
git clone <Repository URL>
cd casper
uv sync
Usage
Basic Usage
uv run casper filename
Contributing
Issues and pull requests welcome on GitHub.
License & Attribution
CASPER is released under the Apache License 2.0.
Release files for harmony-casper 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| harmony_casper-1.0.1.tar.gz | 331.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| harmony_casper-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 354.2 kB
Release files / harmony_casper-1.0.1.tar.gz
| Download URL | harmony_casper-1.0.1.tar.gz |
|---|---|
| Size | 331.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f2d54541ad5ddc580c59925179ecdbf87774c04414968c5a06044ae925fea32
|
|
BLAKE2b-256 checksum How to use checksums |
9f4f7b5fa2d5569c2162ae6671210a79ae41e9e261305867097fbea379a25cc9
|
| 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 Sep 24, 2026.
Transparency logRelease files / harmony_casper-1.0.1-py3-none-any.whl
| Download URL | harmony_casper-1.0.1-py3-none-any.whl |
|---|---|
| Size | 22.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f6c76105354fe8f243e97184283bec03e9c45d4a9b6fa3f66d7ddfb85d96ff0
|
|
BLAKE2b-256 checksum How to use checksums |
f5ade06c7986fb439909a23c83e1ce30131078de64ee48182e52ff156af9b606
|
| 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 Sep 24, 2026.
Transparency log