Real-Time Analysis, Tracking, and Adaptive Radar Sampling of Convective Storms
Project description
ARM Adapt
Real-time processing for informed adaptive scanning of ARM weather radar operations and field campaigns.
Note: Adapt is under active development. We are not accepting external Pull Requests at this time. Contribution guidelines will be published after the stable release. Expect frequent breaking changes in APIs, configuration files, database schemas, and outputs.
Overview
ARM Adapt is a configuration-driven modular framework for near real-time analysis of convective systems designed to support adaptive sampling and study of convective storms and their life cycles. The system implements a modular pipeline that ingests radar observations, performs gridding and segmentation to identify convective cells, and maintains their identity through time using tracking. It further derives cell-level properties and motion to characterize storm evolution and generate candidate targets for adaptive radar scanning.
Adapt operates in both real-time and archival modes, producing standardized data products in the form of gridded fields, tabular summaries, and relational tracking records. Its design emphasizes reproducibility, extensibility, and consistency, allowing new analysis methods and data sources to be integrated without altering core workflows.
Currently it ingests NEXRAD Level-II data, performs gridding, segmentation, and analysis, and writes results for downstream visualization and scientific workflows.
Pipeline
AWS S3 (NEXRAD Level-II)
│
▼
Downloader
│ raw files
▼
Processor
├─ Ingest (Py-ART + xarray → Cartesian grid)
├─ Detection (threshold + morphology → cell labels)
├─ Projection (optical flow → future cell positions)
├─ Analysis (per-cell statistics)
└─ Tracking (stable cell identities across scans)
│
▼
Output repository (NetCDF + Parquet + SQLite)
│
▼
Dashboard (live Tkinter GUI)
Installation
Create a fresh conda environment (Python 3.13) and install from PyPI:
conda create -n adapt_env python=3.13 -y
conda activate adapt_env
pip install arm-adapt
adapt --help
Quickstart
# Run real-time processing on a NEXRAD radar
adapt run-nexrad --radar KLOT --base-dir ~/adapt_output
# Open the dashboard in a second terminal
adapt dashboard --repo ~/adapt_output
Status and Compatibility
- Status: Alpha — provided for early testing and evaluation.
- No backward compatibility is guaranteed for code, APIs, configuration, or generated data products (SQLite, Parquet, NetCDF) until the first stable release.
Funding
Adapt is supported by the U.S. Department of Energy as part of the Atmospheric Radiation Measurement (ARM) User Facility within the Office of Science.
License
Copyright © 2026, UChicago Argonne, LLC. See the LICENSE file for terms and disclaimer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arm_adapt-0.1.2.tar.gz.
File metadata
- Download URL: arm_adapt-0.1.2.tar.gz
- Upload date:
- Size: 814.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eee2caacb0ecf6616151a79dc8aa07c629a87b7e162e59a51035cceb4c4b0d10
|
|
| MD5 |
cb6cf1b163a4c951c7b6be829528c7dc
|
|
| BLAKE2b-256 |
68b43affee9dfc26469b047bac26a1e7f63675ebaf43a75dc1dcd358a0c4a31d
|
Provenance
The following attestation bundles were made for arm_adapt-0.1.2.tar.gz:
Publisher:
pypi-release.yml on ARM-DOE/Adapt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arm_adapt-0.1.2.tar.gz -
Subject digest:
eee2caacb0ecf6616151a79dc8aa07c629a87b7e162e59a51035cceb4c4b0d10 - Sigstore transparency entry: 1684452299
- Sigstore integration time:
-
Permalink:
ARM-DOE/Adapt@fb181f5b6f1402efbe873a5566e470bd1b3dab85 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/ARM-DOE
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@fb181f5b6f1402efbe873a5566e470bd1b3dab85 -
Trigger Event:
release
-
Statement type:
File details
Details for the file arm_adapt-0.1.2-py3-none-any.whl.
File metadata
- Download URL: arm_adapt-0.1.2-py3-none-any.whl
- Upload date:
- Size: 184.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
082441d3f223593010f3580e35b943859b3ba6da61d9f5418d4fc0fd1fa10359
|
|
| MD5 |
658b7b5e1917bedccb77ecf68773a641
|
|
| BLAKE2b-256 |
e0d1af71a150efe89e3f1afb7841e33834a7d4cb8090153cb1375bae844c2a4e
|
Provenance
The following attestation bundles were made for arm_adapt-0.1.2-py3-none-any.whl:
Publisher:
pypi-release.yml on ARM-DOE/Adapt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arm_adapt-0.1.2-py3-none-any.whl -
Subject digest:
082441d3f223593010f3580e35b943859b3ba6da61d9f5418d4fc0fd1fa10359 - Sigstore transparency entry: 1684452466
- Sigstore integration time:
-
Permalink:
ARM-DOE/Adapt@fb181f5b6f1402efbe873a5566e470bd1b3dab85 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/ARM-DOE
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@fb181f5b6f1402efbe873a5566e470bd1b3dab85 -
Trigger Event:
release
-
Statement type: