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.3.tar.gz (814.6 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.3-py3-none-any.whl (184.7 kB view details)

Uploaded Python 3

File details

Details for the file arm_adapt-0.1.3.tar.gz.

File metadata

  • Download URL: arm_adapt-0.1.3.tar.gz
  • Upload date:
  • Size: 814.6 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.3.tar.gz
Algorithm Hash digest
SHA256 606737212fa5107ab32987e4b833659519aed42a2436537bd437a08520c93baf
MD5 71bd02688fee8a40ef97434caafc775a
BLAKE2b-256 2b01602c6a14df99d007bc61e45a463a8eed95ae91511e49ff69e4d877214c07

See more details on using hashes here.

Provenance

The following attestation bundles were made for arm_adapt-0.1.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: arm_adapt-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a4cc31549e13980036e565841f98fd60c43c3b747cf3e95953322d41d0d947d4
MD5 6f513b9b775413735cb1ee445fd95a99
BLAKE2b-256 7418a02123d32ff98bed5771b3180d95a453fad407974b716c37a294337720f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for arm_adapt-0.1.3-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