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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3ccba46f28390e2120bde1957968a2434b03b2255e52cbe3693fa30bf894e98
|
|
| MD5 |
6c52a1e1772c0781a4200ee24eb25eb4
|
|
| BLAKE2b-256 |
bf5a6c8f5c1abdb42338941d65215fa34568598466bf553e95df18f00a23c99f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e925db52e625363d672c635964700b1fa82eefb6a4d8980e1a3098663f6c472a
|
|
| MD5 |
1add2c50adbcfb4bd3c52b0a30072f9a
|
|
| BLAKE2b-256 |
a4b8a1f1c5252e4a1a0a80212c7243c46e3e9820b3cda89bb930790de1e3910e
|