Skip to main content

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.

Status API Stability

CI Docs codecov CodeFactor PyPI Release Downloads License ARM Sponsor

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arm_adapt-0.1.2.tar.gz (814.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arm_adapt-0.1.2-py3-none-any.whl (184.7 kB view details)

Uploaded Python 3

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

Hashes for arm_adapt-0.1.2.tar.gz
Algorithm Hash digest
SHA256 eee2caacb0ecf6616151a79dc8aa07c629a87b7e162e59a51035cceb4c4b0d10
MD5 cb6cf1b163a4c951c7b6be829528c7dc
BLAKE2b-256 68b43affee9dfc26469b047bac26a1e7f63675ebaf43a75dc1dcd358a0c4a31d

See more details on using hashes here.

Provenance

The following attestation bundles were made for arm_adapt-0.1.2.tar.gz:

Publisher: pypi-release.yml on ARM-DOE/Adapt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for arm_adapt-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 082441d3f223593010f3580e35b943859b3ba6da61d9f5418d4fc0fd1fa10359
MD5 658b7b5e1917bedccb77ecf68773a641
BLAKE2b-256 e0d1af71a150efe89e3f1afb7841e33834a7d4cb8090153cb1375bae844c2a4e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page