Skip to main content

Standalone all-Rust GOES ABI renderer, tiler, and Python bindings

Project description

goes-abi

Standalone all-Rust GOES ABI renderer, native PNG generator, XYZ tile generator, and Python package.

This package is for people who want the GOES satellite rendering pieces without installing rustwx. It downloads public NOAA GOES ABI Level 2 NetCDF files, reads them with pure Rust dependencies, applies the ABI fixed-grid projection/scaling metadata, and writes PNGs plus JSON manifests.

Features

  • GOES-16, GOES-17, GOES-18, and GOES-19 ABI products.
  • Native fixed-grid PNG renders for ABI bands and RGB products.
  • Native crop/sequence rendering for workflow-friendly regional loops.
  • XYZ Web Mercator tile generation from local ABI channel files.
  • Python bindings through maturin and a goes_abi Python module.
  • No rustwx checkout, vendored dependency tree, C NetCDF, C HDF5, or Python geospatial stack required.

Install

Install the Rust CLI directly from GitHub:

cargo install --git https://github.com/FahrenheitResearch/goes-abi

Install the Python package directly from GitHub:

python -m pip install "git+https://github.com/FahrenheitResearch/goes-abi"

From a local checkout:

cargo install --path .

For Python:

python -m pip install .

For editable Python development:

python -m pip install maturin
python -m maturin develop --features python

CLI Examples

Print supported products and outputs:

goes-abi capabilities

Render the latest GOES-19 CONUS Band 13 native PNG:

goes-abi render `
  --satellite goes19 `
  --sector conus `
  --products goes_abi_band_13 `
  --width 1400 `
  --height 1100 `
  --out-dir out `
  --cache-dir cache

Render a full-disk native-resolution infrared frame:

goes-abi render `
  --satellite goes19 `
  --sector full_disk `
  --products goes_abi_band_13 `
  --width 5424 `
  --height 5424 `
  --out-dir out `
  --cache-dir cache

Render a regional native crop sequence:

goes-abi native-sequence `
  --satellite goes19 `
  --sector conus `
  --product geocolor `
  --bounds -127,-111,30,44.5 `
  --latest-count 6 `
  --out-dir out `
  --cache-dir cache

Generate XYZ tiles from local C01/C02/C03 channel files:

goes-abi web-tiles `
  --channel1 cache\path\to\C01.nc `
  --channel2 cache\path\to\C02.nc `
  --channel3 cache\path\to\C03.nc `
  --out-dir tiles `
  --min-zoom 2 `
  --max-zoom 6

Python Example

import goes_abi

report = goes_abi.render_satellite(
    satellite="goes19",
    abi_product="ABI-L2-CMIPC",
    abi_sector="conus",
    domain_slug="goes_native",
    domain_label="GOES Native",
    bounds=(-127.0, -111.0, 30.0, 44.5),
    out_dir="out",
    cache_dir="cache",
    products=["goes_abi_band_13"],
    width=1400,
    height=1100,
    download_glm=False,
    png_compression="fast",
)

print(report["artifacts"][0]["png_path"])

Outputs

Every render writes a JSON report next to the PNG/tile output. Reports include scan time, source NOAA S3 keys/URLs, local cache paths, render timing, product metadata, geographic bounds, and generated artifact paths.

Development Checks

cargo fmt --check
cargo test
cargo test --features python
cargo run --bin goes-abi -- capabilities

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

goes_abi-0.1.0.tar.gz (61.6 kB view details)

Uploaded Source

Built Distributions

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

goes_abi-0.1.0-cp312-cp312-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file goes_abi-0.1.0.tar.gz.

File metadata

  • Download URL: goes_abi-0.1.0.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goes_abi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 29a1227f77d3b18e4388ee3d0efb215e8d80bb2937c10a143490190fcbd865a3
MD5 0a01fc7ef297ae8fd91a5e09e0c32582
BLAKE2b-256 d2c823110dc38d4be793cea5d1174231fb5af4f218658e99cc0098372426e89e

See more details on using hashes here.

Provenance

The following attestation bundles were made for goes_abi-0.1.0.tar.gz:

Publisher: publish.yml on FahrenheitResearch/goes-abi

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

File details

Details for the file goes_abi-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: goes_abi-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goes_abi-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b7ea37f8b7b46d2d9955fa4578a370e435477986295017b4350074d6a4947db1
MD5 c3fee7bbd32608296bf2c9a90c98d513
BLAKE2b-256 baa22e7815b85e2c4e87cdb36d93d69332e892a25455a77fd9b212c916a0423e

See more details on using hashes here.

Provenance

The following attestation bundles were made for goes_abi-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on FahrenheitResearch/goes-abi

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

File details

Details for the file goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 4dd8e680babf2aad23390921ec6a0648fa57be5bcdcf7fc5d4d3f7424a7ede64
MD5 092374e0b097e31c361651baebfd8a70
BLAKE2b-256 12c7c6151a6f6925dc967eacd321ea2ea2952d9fc34efe8a3ad40bb91d25eb1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl:

Publisher: publish.yml on FahrenheitResearch/goes-abi

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

File details

Details for the file goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56fe72a4a7281085758923ec415f85c91ee9e063042f0372786c03c05dc4862e
MD5 f358da460249fa89be2813685bdf57c0
BLAKE2b-256 fd393eb970e3020a9011dbda2d0a21da8117b92e0758c73a4c7d7f7ee510b6fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on FahrenheitResearch/goes-abi

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