Skip to main content

Create stac objects and metadata from HEC modeling software.

Project description

hecstac

CI Documentation Status Release PyPI version

Utilities for creating STAC items from HEC models

hecstac is an open-source Python library designed to mine metadata from HEC model simulations for use in the development of catalogs documenting probabilistic flood studies. This project automates the generation of STAC Items and Assets from HEC-HMS and HEC-RAS model files, enabling improved data and metadata management.

Developer Setup

Create a virtual environment in the project directory:

$ python -m venv venv

Activate the virtual environment:

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

# For Windows
> ./venv/Scripts/activate

Install dev dependencies:

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

Testing HEC-RAS model item creation

  • Download the HEC-RAS example project data from USACE. The data can be downloaded here.

  • Per the examples, set the ras_project_file to the path of the 2D Muncie project file (ex. ras_project_file = Example_Projects_6_6/2D Unsteady Flow Hydraulics/Muncie/Muncie.prj).

  • For projects that have projection information within the geometry .hdf files, the CRS info can automatically be detected. The Muncie data lacks that projection info so it must be set by extracting the WKT projection string and setting the CRS in 'new_ras_item.py' to the projection string. The projection can be found in the Muncie/GIS_Data folder in Muncie_IA_Clip.prj.

  • Once the CRS and project file location have been set, a new item can be created with 'python -m new_ras_item' in the command line. The new item will be added inside the model directory at the same level as the project file.

FFRD

While hecstac was created principally in support of FFRD pilot projects, the ability to create STAC based metadata items for HEC models (RAS and HMS in particular) has guided some design and implementation decisions that make it flexible enough to support more generalized use cases.

There will be modules and workflows that are very specifically designed for FFRD, and those will be generally distinguishable via ffrd in the name of the file / class function / etc. The Dockerfiles that are included in the repo are designed specifically in support of these pilots, and as such are not meant for general “out-of-the-box” use cases. For specifics on FFRD use cases please see the documentation.

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

hecstac-0.1.0rc4.tar.gz (56.6 kB view details)

Uploaded Source

Built Distribution

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

hecstac-0.1.0rc4-py3-none-any.whl (62.7 kB view details)

Uploaded Python 3

File details

Details for the file hecstac-0.1.0rc4.tar.gz.

File metadata

  • Download URL: hecstac-0.1.0rc4.tar.gz
  • Upload date:
  • Size: 56.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for hecstac-0.1.0rc4.tar.gz
Algorithm Hash digest
SHA256 893c794df111409c49b2d809a9e7d7a480158f0b5e6caa648b690ce35c3f8ac8
MD5 f08c776c0f3613e505c7783a70a40d34
BLAKE2b-256 3aa0bbb0e8cb07e9bb423973dd022de270064faa3b0c932fe801f78ff07654d0

See more details on using hashes here.

File details

Details for the file hecstac-0.1.0rc4-py3-none-any.whl.

File metadata

  • Download URL: hecstac-0.1.0rc4-py3-none-any.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for hecstac-0.1.0rc4-py3-none-any.whl
Algorithm Hash digest
SHA256 55ae1c01bccc01a72e52bcdbc16a1808fe02952763be66507164987fdcc42fff
MD5 d82cc904e896f3ee3d93d1fcbb6cf0b9
BLAKE2b-256 64b0257c3668df628e716c97f284d6acdc9b5485b974c65dc830590c7cab387e

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