Skip to main content

rashdf

CI Release PyPI version codecov Documentation Status

Read data from HEC-RAS HDF files.

Pronunciation: raz·aitch·dee·eff

Documentation

rashdf on ReadTheDocs

Install

$ pip install rashdf

Usage

RasGeomHdf and RasPlanHdf are extensions of h5py.File. They contain methods to export HEC-RAS model geometry as GeoDataFrame objects.

>>> from rashdf import RasGeomHdf
>>> geom_hdf = RasGeomHdf("path/to/rasmodel/Muncie.g04.hdf")
>>> mesh_cells = geom_hdf.mesh_cell_polygons()  # export a GeoDataFrame
>>> mesh_cells
             mesh_name  cell_id                                           geometry
0     2D Interior Area        0  POLYGON ((406025.000 1805015.237, 406025.000 1...
1     2D Interior Area        1  POLYGON ((406075.000 1805018.545, 406075.000 1...
2     2D Interior Area        2  POLYGON ((406075.000 1804975.000, 406075.000 1...
3     2D Interior Area        3  POLYGON ((406125.000 1804975.000, 406125.000 1...
4     2D Interior Area        4  POLYGON ((406175.000 1804975.000, 406175.000 1...
...                ...      ...                                                ...
5386  2D Interior Area     5386  POLYGON ((409163.402 1802463.621, 409175.000 1...
5387  2D Interior Area     5387  POLYGON ((409160.953 1802374.120, 409125.000 1...
5388  2D Interior Area     5388  POLYGON ((409163.402 1802463.621, 409161.906 1...
5389  2D Interior Area     5389  POLYGON ((409112.480 1802410.114, 409112.046 1...
5390  2D Interior Area     5390  POLYGON ((409112.480 1802410.114, 409063.039 1...
>>> mesh_cells.to_file("mucie-mesh-cell-polygons.shp")

Also, methods to extract certain HDF group attributes as dictionaries:

>>> from rashdf import RasPlanHdf
>>> with RasPlanHdf("path/to/rasmodel/Muncie.p04.hdf") as plan_hdf:
>>> results_unsteady_summary_attrs = plan_hdf.get_results_unsteady_summary_attrs()
>>> results_unsteady_summary_attrs
{'Computation Time DSS': datetime.timedelta(0),
'Computation Time Total': datetime.timedelta(seconds=23),
'Maximum WSEL Error': 0.0099277812987566,
'Maximum number of cores': 6,
'Run Time Window': [datetime.datetime(2024, 3, 27, 9, 31, 52),
datetime.datetime(2024, 3, 27, 9, 32, 15)],
'Solution': 'Unsteady Finished Successfully',
'Time Solution Went Unstable': None,
'Time Stamp Solution Went Unstable': 'Not Applicable'}

CLI

The rashdf command-line interface allows export directly to a variety of formats, enabled by GeoPandas.

$ rashdf <sub-command> <hdf-file> [<output-path>] [<options>]

CLI help:

$ rashdf --help

Print the output formats supported by pyorgio:

$ rashdf --pyogrio-drivers

Help for a specific subcommand:

$ rashdf mesh_cell_polygons --help

Example: export mesh cell faces to an ESRI Shapefile

$ rashdf mesh_cell_faces BigRiver.g01.hdf big-river-mesh-cell-faces.shp

Example: export mesh cell points to GeoParquet

$ rashdf mesh_cell_points LittleCreek.g01.hdf --parquet little-creek-mesh-cell-points.parquet

Example: export breaklines to OGC GeoPackage and reproject to a different CRS

$ rashdf breaklines Whitemarsh.p01.hdf whitemarsh-breaklines.gpkg --to-crs EPSG:4326

Example: write structures GeoJSON to stdout:

$ rashdf structures Potomac.p01.hdf

Developer Setup

Create a virtual environment in the project directory:

$ python -m venv venv-rashdf

Activate the virtual environment:

# For macOS/Linux
$ source ./venv-rashdf/bin/activate
(venv-rashdf) $

# For Windows
> ./venv-rashdf/Scripts/activate

Install dev dependencies:

(venv-rashdf) $ pip install ".[dev]"

Install git hook scripts (used for automatic liniting/formatting)

(venv-rashdf) $ pre-commit install

With the virtual environment activated, run the tests:

(venv-rashdf) $ pytest

Metadata

Release files for rashdf 0.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rashdf 0.12.0
File Size Uploaded Provenance
rashdf-0.12.0.tar.gz 40.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for rashdf 0.12.0
File Interpreter ABI Platform
rashdf-0.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 71.5 kB

Release files / rashdf-0.12.0.tar.gz

Download URL rashdf-0.12.0.tar.gz
Size 40.3 kB
Tags Source
SHA-256 checksum
How to use checksums
797804da662d1d9bd4a8cb0b97183918b8141b259437caa3a1bd29fc34b1b85f
BLAKE2b-256 checksum
How to use checksums
f98aa70516a5a10639574ec0d1712f34429db1e8198f4170bf10f2aed8697a2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / rashdf-0.12.0-py3-none-any.whl

Download URL rashdf-0.12.0-py3-none-any.whl
Size 31.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08d50a8d6107e1a44c28ee16c6610b4359da0b76a2a03cd18288fd579677b211
BLAKE2b-256 checksum
How to use checksums
119e34bf25cf8fb2a807fef74d014acfce169c73697bafad1c474da8147ac797
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Security for rashdf 0.12.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rashdf-0.12.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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