Accounting a Model from HEC-RAS to Hydrofabric

Goals:

  • To walk through the HEC-RAS data from raw model to RRASSLER artifact
  • How that data model compares to the Hydrofabric data model

Outcomes and Takeaways:

  • A data driven accounting of a significant portion of the RRASSLER to Hydrofabric3D Workflow
  • Oriented spatially to data representation
  • A “unit test” for RRASSLER artifact ingestion

Slide layout: default     Items linked/bordered in green are cited in the tooltip on hover.

: narrative-oriented     Items linked/bordered in blue are hyperlinked to relevant resources.

Orienting to One Dimension

HEC-RAS conventions

Cross sections should be laid out perpendicular to where water will flow in the channel and overbank areas. Therefore, most cross section lines should be created from a minimum of four points (the end points and points at the edge of the main channel). Cross sections will also be visualized when looking in the downstream direction; therefore, they should be created from left to right when looking downstream (RAS Mapper will automatically flip the line to have the correct orientation).

Orienting to One Dimension




A blend of HEC-RAS and Hydrofabric conventions

Orienting to One Dimension

Aside: routelink’s definition

Orienting to One Dimension

planform length =/= cross section spacing

NOAA-OWP.GITHUB.IO/RRASSLER

Follow along!

1) Make sure RRASSLER is installed

# remotes::install_github("NOAA-OWP/RRASSLER")  # If it asks for package updates: press 1
# library(data.table)
library(RRASSLER)
RRASSLER::marco()                           # A "hello world" test
[1] TRUE




2) Download and examine the sample data

fs::dir_tree(path = file.path(fs::path_package("", package = "RRASSLER"),"extdata","sample_ras","FEMA-R6-BLE-sample-dataset",fsep = .Platform$file.sep), recurse = TRUE)
/usr/local/lib/R/site-library/RRASSLER/extdata/sample_ras/FEMA-R6-BLE-sample-dataset
└── 12090301
    └── 12090301_models
        └── Model
            └── Alum Creek-Colorado River
                ├── ALUM 006
                │   ├── ALUM 006.O01
                │   ├── ALUM 006.f01
                │   ├── ALUM 006.g01
                │   ├── ALUM 006.g01.hdf
                │   ├── ALUM 006.p01
                │   ├── ALUM 006.p01.comp_msgs.txt
                │   ├── ALUM 006.p01.computeMsgs.txt
                │   ├── ALUM 006.p01.hdf
                │   ├── ALUM 006.prj
                │   ├── ALUM 006.r01
                │   ├── ALUM 006.xml
                │   ├── Backup.g01
                │   ├── Multiple
                │   │   └── PostProcessing.hdf
                │   └── _XsOutData
                │       └── XsOutData.txt
                ├── ALUM 107
                │   ├── ALUM 107.O01
                │   ├── ALUM 107.f01
                │   ├── ALUM 107.g01
                │   ├── ALUM 107.g01.hdf
                │   ├── ALUM 107.p01
                │   ├── ALUM 107.p01.comp_msgs.txt
                │   ├── ALUM 107.p01.computeMsgs.txt
                │   ├── ALUM 107.p01.hdf
                │   ├── ALUM 107.prj
                │   ├── ALUM 107.r01
                │   ├── ALUM 107.xml
                │   └── _XsOutData
                │       └── XsOutData.txt
                └── ALUM 114
                    ├── ALUM 114.O01
                    ├── ALUM 114.f01
                    ├── ALUM 114.g01
                    ├── ALUM 114.g01.hdf
                    ├── ALUM 114.p01
                    ├── ALUM 114.p01.comp_msgs.txt
                    ├── ALUM 114.p01.computeMsgs.txt
                    ├── ALUM 114.p01.hdf
                    ├── ALUM 114.prj
                    ├── ALUM 114.r01
                    ├── ALUM 114.rasmap
                    ├── ALUM 114.rasmap.backup
                    ├── ALUM 114.xml
                    └── _XsOutData
                        └── XsOutData.txt

Refresher: The HEC-RAS model format

The Theoretical Standard

Files to Track

File grep Pattern (# denotes single numeric wildcard) HEC-RAS Model Use
.g## Geometry definitions
.prj Projection (can be non-standard proj4 string defined file)
.prj Project (same extension, defines how RAS models are wired)
.p## Plan file, used to drive the model
.f## Steady Flow file. Profile information, flow data and boundary conditions
.h## Hydraulic Design data file
.v## Velocity file
.o## Output file
.r## Run file for steady flow
.u## unsteady Flow file. Profile information, flow data and boundary conditions
.x## Run file for unsteady flow
.dss Data files
.rasmap Output plan

These files, followed by a .hdf, are transformations of their counterparts needed for newer versions of HEC-RAS and are automatically created as needed.

Refresher: The HEC-RAS model format

Model Standards

Files to Track

File grep Pattern (# denotes single numeric wildcard) HEC-RAS Model Use
.g## Geometry definitions
.prj Projection (can be non-standard proj4 string defined file)
.prj Project (same extension, defines how RAS models are wired)
.p## Plan file, used to drive the model
.f## Steady Flow file. Profile information, flow data and boundary conditions
.h## Hydraulic Design data file
.v## Velocity file
.o## Output file
.r## Run file for steady flow
.u## unsteady Flow file. Profile information, flow data and boundary conditions
.x## Run file for unsteady flow
.dss Data files
.rasmap Output plan

These files, followed by a .hdf, are transformations of their counterparts needed for newer versions of HEC-RAS and are automatically created as needed.

Refresher: The HEC-RAS model format

A “real-world” example

Files to Track

File grep Pattern (# denotes single numeric wildcard) HEC-RAS Model Use
.g## Geometry definitions
.prj Projection (can be non-standard proj4 string defined file)
.prj Project (same extension, defines how RAS models are wired)
.p## Plan file, used to drive the model
.f## Steady Flow file. Profile information, flow data and boundary conditions
.h## Hydraulic Design data file
.v## Velocity file
.o## Output file
.r## Run file for steady flow
.u## unsteady Flow file. Profile information, flow data and boundary conditions
.x## Run file for unsteady flow
.dss Data files
.rasmap Output plan

These files, followed by a .hdf, are transformations of their counterparts needed for newer versions of HEC-RAS and are automatically created as needed.

What RRASSLER is running

Aside: Implications of “geometric orientation”

Data “checkpoints”

Model testing: ALUM 114.prj

Data “checkpoints”

RRASSLER reading

Model testing: ALUM 114.prj

.g## file

Data “checkpoints”

RRASSLER reading

Model testing: ALUM 114.prj

.g##.hdf file

Data “checkpoints”

RRASSLER copy files

Files extract consistently

.g## file

.g##.hdf file

Data “checkpoints”

Copy data

Model testing: ALUM 114.prj

Data “checkpoints”

RRASSLER Saving

Model testing: ALUM 114.prj

Data “checkpoints”

Hydrofabric Lines

RAS vs Automated Transects

What’s next?

Outcomes and Takeaways:

  • A data driven accounting of a significant portion of the RRASSLER to Hydrofabric3D Workflow.
  • Oriented spatially to data representation.
  • A “unit test” for RRASSLER artifact ingestion.

Next Steps: