Skip to main content

ADCIRC mesh registry - domain management and validation for mesh data

Project description

ADMESH Domains

A Python package for managing and validating ADCIRC mesh registry data. This project provides tools for domain management, mesh validation, and registry operations for coastal simulation models.

Features

  • 40 Consolidated Mesh Domains: Real-world and synthetic ADCIRC meshes
  • Registry Management: Query and manage mesh registry data
  • Schema Validation: Validate mesh data against defined schemas
  • Lineage Tracking: Track mesh evolution and dependencies
  • Publishing: Publish meshes to external repositories
  • CLI Tools: Command-line interface for common operations

Mesh Registry

The registry contains 40 unique mesh domains consolidated from multiple sources:

Real-World Domains (12)

  • Great Lakes (15.16 MB) - Great Lakes region mesh
  • Western North Atlantic (15.32 MB) - WNAT_Onur variant for hurricane/storm surge
  • Chesapeake Bay (9.47 MB) - Chesapeake Bay region coastal mesh
  • WNAT_Hagen (5.48 MB) - Alternative Western North Atlantic mesh (53K nodes)
  • Lake Michigan (2.47 MB) - Lake Michigan circulation mesh
  • Italy (1.45 MB) - Mediterranean coast mesh
  • Lake Erie (1.57 MB) - Lake Erie mesh (5k nodes variant)
  • Delaware Bay (1.72 MB) - Delaware Bay coastal mesh
  • Delaware Bay (Refined) (1.72 MB) - High-resolution variant (hmin=100, hmax=20000)
  • Lake Erie (Refined) (0.57 MB) - Medium-resolution variant
  • Baranja Hill (0.08 MB) - European region mesh
  • Baranja Hill v2 (0.09 MB) - ADMESH v2 variant

Test & Synthetic Domains (28)

  • 6 numbered test cases (Test_Case_1 through Test_Case_4.2)
  • 10 structured mesh variants
  • 12 rectangular and geometric test meshes
  • Various element types (triangles, quadrilaterals)

Total Data: 59 MB of mesh data
Format: ADCIRC-format (.14 and .2dm files)

See registry_data/manifest.toml for complete domain metadata.

Installation

# Base install — query the bundled manifest, no mesh downloads
pip install admesh-domains

# With HuggingFace runtime download for Mesh.load()
pip install admesh-domains[hf]

# Maintainer-only: includes pyarrow, jinja2, twine for publishing
pip install admesh-domains[publish]

Quick Start

from admesh_domains import find_domains, find_meshes, get_mesh

# Find all real-world domains
for d in find_domains(category="real-world"):
    print(d.name, "->", len(d.meshes), "meshes")

# Look up a specific mesh by composite ID
mesh = get_mesh("WNAT/hagen@v1")
print(mesh.full_id, mesh.size_mb, "MB")

# Download the actual mesh file from the HuggingFace mirror
local_path = mesh.load()   # requires pip install admesh-domains[hf]

HuggingFace Mirror

All 40 meshes (~59 MB) are mirrored to a HuggingFace Dataset and downloaded on demand via Mesh.load(). Browse it directly at:

https://huggingface.co/datasets/domattioli/ADMESH-Domains

The manifest.parquet sidecar at the dataset root lets you query metadata without the Python loader.

Documentation

See docs/ for detailed documentation and guides.

Development

Setup

pip install -e ".[dev]"

Running Tests

pytest tests/

Code Quality

black admesh_domains/
ruff check admesh_domains/
mypy admesh_domains/

Contributing

See docs/CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE file for details

Citation

If you use this package in research, please cite it appropriately.

Status

Version: 0.1.0 (MVP)
Status: Alpha - API subject to change

Repository

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

admesh_domains-0.2.1.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

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

admesh_domains-0.2.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file admesh_domains-0.2.1.tar.gz.

File metadata

  • Download URL: admesh_domains-0.2.1.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for admesh_domains-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f3ccba46f28390e2120bde1957968a2434b03b2255e52cbe3693fa30bf894e98
MD5 6c52a1e1772c0781a4200ee24eb25eb4
BLAKE2b-256 bf5a6c8f5c1abdb42338941d65215fa34568598466bf553e95df18f00a23c99f

See more details on using hashes here.

File details

Details for the file admesh_domains-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: admesh_domains-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for admesh_domains-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e925db52e625363d672c635964700b1fa82eefb6a4d8980e1a3098663f6c472a
MD5 1add2c50adbcfb4bd3c52b0a30072f9a
BLAKE2b-256 a4b8a1f1c5252e4a1a0a80212c7243c46e3e9820b3cda89bb930790de1e3910e

See more details on using hashes here.

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