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”


 Found 500 records...
 Found 1000 records...
 Found 1500 records...
 Found 2000 records...
 Found 2500 records...
 Found 3000 records...
 Found 3500 records...
 Found 4000 records...
 Found 4500 records...
 Found 5000 records...
 Found 5500 records...
 Found 6000 records...
 Found 6500 records...
 Found 7000 records...
 Found 7500 records...
 Found 8000 records...
 Found 8500 records...
 Found 9000 records...
 Found 9500 records...
 Found 10000 records...
 Found 10500 records...
 Found 11000 records...
 Found 11500 records...
 Found 12000 records...
 Found 12500 records...
 Found 13000 records...
 Found 13500 records...
 Found 14000 records...
 Found 14500 records...
 Found 15000 records...
 Found 15500 records...
 Found 16000 records...
 Found 16500 records...
 Found 17000 records...
 Found 17500 records...
 Found 18000 records...
 Found 18500 records...
 Found 19000 records...
 Found 19500 records...
 Found 20000 records...
 Found 20500 records...
 Found 21000 records...
 Found 21500 records...
 Found 22000 records...
 Found 22500 records...
 Found 23000 records...
 Found 23500 records...
 Found 24000 records...
 Found 24500 records...
 Found 25000 records...
 Found 25500 records...
 Found 26000 records...
 Found 26500 records...
 Found 27000 records...
 Found 27500 records...
 Found 28000 records...
 Found 28500 records...
 Found 29000 records...
 Found 29500 records...
 Found 30000 records...
 Found 30500 records...
 Found 31000 records...
 Found 31500 records...
 Found 32000 records...
 Found 32500 records...
 Found 33000 records...
 Found 33500 records...
 Found 34000 records...
 Found 34500 records...
 Found 35000 records...
 Found 35500 records...
 Found 36000 records...
 Found 36500 records...
 Found 37000 records...
 Found 37500 records...
 Found 38000 records...
 Found 38500 records...
 Found 39000 records...
 Found 39183 records...
 Imported 39183 records. Simplifying...

Data “checkpoints”

Model testing: ALUM 114.prj

Data “checkpoints”

RRASSLER reading

Model testing: ALUM 114.prj


 Found 500 records...
 Found 1000 records...
 Found 1500 records...
 Found 2000 records...
 Found 2500 records...
 Found 3000 records...
 Found 3500 records...
 Found 4000 records...
 Found 4500 records...
 Found 5000 records...
 Found 5500 records...
 Found 6000 records...
 Found 6500 records...
 Found 7000 records...
 Found 7500 records...
 Found 8000 records...
 Found 8500 records...
 Found 9000 records...
 Found 9500 records...
 Found 10000 records...
 Found 10500 records...
 Found 11000 records...
 Found 11500 records...
 Found 12000 records...
 Found 12500 records...
 Found 13000 records...
 Found 13500 records...
 Found 14000 records...
 Found 14500 records...
 Found 15000 records...
 Found 15500 records...
 Found 16000 records...
 Found 16500 records...
 Found 17000 records...
 Found 17500 records...
 Found 18000 records...
 Found 18500 records...
 Found 19000 records...
 Found 19500 records...
 Found 20000 records...
 Found 20500 records...
 Found 21000 records...
 Found 21500 records...
 Found 22000 records...
 Found 22500 records...
 Found 23000 records...
 Found 23500 records...
 Found 24000 records...
 Found 24500 records...
 Found 25000 records...
 Found 25500 records...
 Found 26000 records...
 Found 26500 records...
 Found 27000 records...
 Found 27500 records...
 Found 28000 records...
 Found 28500 records...
 Found 29000 records...
 Found 29500 records...
 Found 30000 records...
 Found 30500 records...
 Found 31000 records...
 Found 31500 records...
 Found 32000 records...
 Found 32500 records...
 Found 33000 records...
 Found 33500 records...
 Found 34000 records...
 Found 34500 records...
 Found 35000 records...
 Found 35500 records...
 Found 36000 records...
 Found 36500 records...
 Found 37000 records...
 Found 37500 records...
 Found 38000 records...
 Found 38500 records...
 Found 39000 records...
 Found 39183 records...
 Imported 39183 records. Simplifying...

.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: