Skip to main content

ICON Grid Generator

Tests Docs PyPI Python License

Pure Python generation of deterministic ICON-style triangular grids.

Global ICON grid resolutions

The package provides spherical R<n>B<k> grids, planar triangular grids, limited-area extraction, geometry diagnostics and transforms, xarray conversion, and ICON-compatible NetCDF export. Large global grids use export-first generation with bounded derived-field memory and resumable disk checkpoints.

Installation

The base package requires Python 3.10 or newer and NumPy:

python -m pip install icon-grid-generator

The NetCDF calls in the quick start require the netcdf extra. Install acceleration and common output integrations for high-resolution work with:

python -m pip install "icon-grid-generator[accelerate,netcdf,xarray]"

Numba acceleration is optional for in-memory grids and required for the high-resolution export-first path.

Quick Start

Generate an in-memory grid and write the complete NetCDF schema:

from grid_generator import generate_grid

grid = generate_grid("R2B4")
print(grid.name, grid.dims)
grid.to_netcdf("icon_grid_R02B04.nc")

Generate a large global grid directly to NetCDF:

from grid_generator import generate_grid_to_netcdf

generate_grid_to_netcdf(
    "R2B8",
    "icon_grid_R02B08.nc",
    options={"max_cells": None, "accelerator": "numba"},
    work_dir="icon-grid-R2B08-work",
    fields="reduced",
)

This export-first path supports global grids only. R2B8 is a practical first large-grid example at about 9.86 km resolution; check the resource tables before requesting finer grids.

The default full profile contains 85 fields. reduced contains the 46-field union required by the standard ICON and icon4py global-grid readers. Dedicated icon and icon4py profiles and exact custom field lists are also available. Place large outputs and checkpoint directories on disk-backed storage. Each checkpoint manifest atomically selects a complete array snapshot, so an interrupted overwrite leaves the preceding completed checkpoint resumable. The final NetCDF file is also published atomically after it closes successfully. Allow extra disk headroom when replacing checkpoints or an existing output: old and new snapshots/files can coexist temporarily. After a successful export, the work directory can be deleted unless it is being kept for a later resume.

Performance

Measurements used an exclusive dual-socket AMD EPYC 7713 node with 128 physical cores and about 446 GiB of available memory. Times cover independent generation and uncompressed NetCDF export; shared-filesystem I/O varies with storage load. R2B12 has approximately 0.616 km resolution and is the largest standard R2 grid whose one-based exported identifiers fit signed 32-bit integers.

R2B12 output Generation NetCDF export Total Peak RSS Checkpoints NetCDF
Full 43.51 min 91.24 min 134.74 min 328.18 GiB 162.46 GiB 1,047.50 GiB
Reduced 42.03 min 42.05 min 84.08 min 328.18 GiB 162.46 GiB 485.00 GiB

See Performance and Scaling for R2B8–R2B12 measurements, component timings, validation details, and all field-profile storage sizes.

Documentation

Citation metadata is provided in CITATION.cff. The package is distributed under the BSD 3-Clause License.

Download files

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

Source Distribution

icon_grid_generator-0.6.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

icon_grid_generator-0.6.2-py3-none-any.whl (90.8 kB view details)

Uploaded Python 3

File details

Details for the file icon_grid_generator-0.6.2.tar.gz.

File metadata

  • Download URL: icon_grid_generator-0.6.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for icon_grid_generator-0.6.2.tar.gz
Algorithm Hash digest
SHA256 72e8f17df1bfb79a0be0f9c365672d915de478143a08ea07e107be52bd5aea1a
MD5 bfa5a9133caeb5599736b4d536480025
BLAKE2b-256 652eea02f1d7789463548b5d9fd692bef01d2b02d30908acb3e106ac6aa62852

See more details on using hashes here.

Provenance

The following attestation bundles were made for icon_grid_generator-0.6.2.tar.gz:

Publisher: release.yml on ofuhrer/icon-grid-generator

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

File details

Details for the file icon_grid_generator-0.6.2-py3-none-any.whl.

File metadata

File hashes

Hashes for icon_grid_generator-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 90439311980ee37308d1ec497c68a671efa2fc4adb7a54084d48cd47dff834c7
MD5 7f24862f25111a62d9f65460eb96eb9e
BLAKE2b-256 2424eaba5916786ee79b1ff0fa277b810c7cac884bc665cfdb629e6ebab908cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for icon_grid_generator-0.6.2-py3-none-any.whl:

Publisher: release.yml on ofuhrer/icon-grid-generator

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

Release history Release notifications | RSS feed

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

This release

0.6.2 This release

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page