Data quality & products
HEC-RAS / HEC-HMS modelling bundles
Draw an outline on the open map and get one zip you unzip and double-click: a HEC-RAS and a HEC-HMS project with the terrain built, the CRS set, every layer listed, the gauge DSS and a curve-number grid already in them — and no modelling. The units and version choices, the caps, and the list of decisions it deliberately leaves to you.
What a modelling bundle is
Draw an outline on the open map with Draw a shape, finish it, and the shape card offers Export modelling bundle…. A minute or three later you have one zip you can unzip and double-click: a HEC-RAS project and a HEC-HMS project with the data already in them — terrain built, coordinate system set, every vector listed as a reference layer, the gauge DSS present, and for HMS a curve-number grid and an Atlas 14 frequency storm. Every layer is cut to the same rectangle around your outline, every raster and vector is in one projected coordinate system, and a README.md names each file's source, fetch time, resolution and licence — and, more usefully, what is not in it.
Or use a USGS basin as the outline. Press Watershed, click a river, and when the drainage basin is drawn the card offers Use this basin for a modelling bundle…. The bundle is then cut to the basin the USGS river index (NLDI) gives for that reach — the land above the reach's outlet — and aoi/aoi.shp carries that polygon, with the reach id, instead of a drawn shape. The server fetches the polygon itself by reach id, so it is exactly the basin the card showed. The same area cap applies: a basin over 1,000 km² is refused with the reason.
Choose the data window. The panel asks for a start and an end (your local time; quick buttons for the last 24 hours, 3, 7 and 30 days). Gauge, sensor and radar series all cover that window; the README and the job page state it in UTC.
| Folder | Files | Source | For |
|---|---|---|---|
| — (zip root) | <Name>.prj, .g01, .rasmap, .projection.prj; <Name>.hms, .basin, .terrain, .grid, .met, .control, .gage | Written by this platform | The two projects. Double-click either. |
terrain/ | dem.tif — float32 GeoTIFF, NAVD88; Terrain/Terrain.hdf + tiles + .vrt | USGS 3DEP seamless elevation service; the RAS terrain is built by HEC-RAS's own RasProcess.exe on our server | Already loaded in the RAS project and the HMS terrain manager |
grid/ | cn_grid.tif | NLCD × gSSURGO through TR-55, computed here | Already in the HMS Grid Manager as a Curve Number grid |
hydrography/ | flowlines.shp, catchments.shp, wbd_huc12.shp | USGS NHDPlus High Resolution; Watershed Boundary Dataset | Reference layers; HMS subbasin comparison |
landcover/ | nlcd.tif, manning_n.csv, curve_number_lookup.csv, nlcd_classes.csv | MRLC NLCD 2021 (WCS); Chow 1959 / Arcement & Schneider 1989 / TR-55 tables | RAS Manning's n layer; HMS SCS curve-number grid |
soils/ | ssurgo_hsg.shp, hsg_summary.csv | NRCS gSSURGO via Soil Data Access (dominant hydrologic soil group per map unit) | HMS curve numbers |
flood/ | nfhl_zones.shp, nfhl_bfe.shp | FEMA National Flood Hazard Layer (effective) | Comparison with mapped zones and BFEs |
gauges/ | gauges.shp, flows.dss, csv/ | USGS (OGC API), CDEC (via the relay), sensors on this platform you may read | RAS boundary conditions; HMS observed flow and calibration |
radar/ | grids/MRMS_QPE01H_*.tif, outline_average.csv, radar_precip.dss | NOAA MRMS MultiSensor QPE 01H Pass 2 (hourly, ~1 km, gauge-corrected radar), from NOAA's open-data bucket | RAS 2D rain-on-grid (one GeoTIFF per hour, mm, WGS 84, file name = end of the hour UTC); an hourly outline-average hyetograph for an HMS precipitation gage |
precip/ | atlas14_centroid.csv | NOAA Atlas 14 at the outline's centroid | HMS frequency storm |
aoi/ | aoi.shp (projected), aoi.geojson (WGS 84) | Your outline | A reference layer — not a mesh perimeter |
| — | README.md, manifest.json | Generated | Read first; SHA-256 per file |
A layer whose service does not answer is skipped and named in the README, in the service's own words. The bundle never fails as a whole because one federal service was down; it fails only if nothing at all could be fetched. From this deployment FEMA's server has refused every connection measured, so the flood layer is usually the one that is missing — the README says so and points at the FEMA Map Service Center.
What the project leaves to you
The project is loaded, not modelled. There is no 2D flow area and no perimeter traced from your outline, no mesh or cell size, no cross-sections or bank lines, no boundary condition lines, no plan and no run; the HMS basin model has a terrain, a coordinate system and no elements at all. Every one of those is a decision that belongs to the person signing the model, and a web page that drew a polygon is not that person. The RAS project ships an empty geometry stub (a title and nothing else, which is the state HEC's own seed project ships in) so that it opens cleanly.
- No land-cover layer, and a reason. HEC-RAS keeps a Land Cover layer's classification table — class → name → Manning's n — inside an HDF file its own library writes, and its headless tool cannot build one.
landcover/nlcd.tifandlandcover/manning_n.csvare in the zip; RAS Mapper → Map Layers → Create a New RAS Layer → Land Cover Layer is one dialog. We would rather ship that than a layer pointing at a table we invented. - The curve-number grid is a lookup, not a calibration. NLCD class × gSSURGO hydrologic soil group through TR-55 Table 2-2 at antecedent runoff condition II, with the crosswalk recorded row by row in
landcover/curve_number_lookup.csv. Cells TR-55 has no row for (wetlands, ice, moss) and cells SSURGO has not rated are left NoData rather than filled with a number nobody published. Dual groups (A/D, B/D, C/D) are read as D. HEC-HMS can sample a GeoTIFF grid but needs the grid in HEC-DSS to initialise Gridded SCS — the README says so. - No bathymetry. The DEM is lidar or photogrammetric ground; where the channel was wet on the day of acquisition the surface is the water surface, not the bed. Burn in a surveyed channel.
- Starting values, not calibrated ones. Manning's n is a published range per land-cover class with its citation; curve numbers are the TR-55 crosswalk above.
- Gauge datums differ. USGS stage is above each gauge's datum (the README records the datum USGS lists); CDEC stage is on the station datum unless it is the NAVD88 sensor; this platform's stage or depth is relative to the sensor unless its notes say otherwise. Recent USGS values are provisional; QC-failed platform readings are left out because HEC-DSS carries no per-value flag (see Exports). Only discharge series become HMS gages, because
Flowis the only gage type observed in a file HEC-HMS itself wrote; stage series are in the DSS and can be added by hand. - Cut to a rectangle. Layers are clipped to your outline's bounding box plus a buffer (100 m to 1 km, 5% of the longer side), not to the outline's edge: a DEM masked to a polygon has a NoData wall a mesh must not touch. The outline itself ships in
aoi/. - One centroid for rainfall. Atlas 14 depths are for the centroid; above ~100 km² the README tells you to use the gridded product. The frequency storm shipped is the 100-year, 24-hour one; every other recurrence interval is in
precip/atlas14_centroid.csvand swapping is retyping ten numbers.
Units, and the HEC-RAS version
Two choices in the export panel, both per bundle.
- Units — US Customary (feet, the default) or SI (metres). The choice reaches three places at once, which is the only way they can agree: the elevation values in
terrain/dem.tif(3DEP publishes NAVD88 metres, so a US Customary bundle divides every cell by 0.3048 exactly), theunits=flag the terrain builder is given with them, and both projects' unit systems.CreateTerrain units=Feetonly writes a label — it does not convert — so a bundle that got this wrong would have a terrain that draws perfectly and is 3.28× too tall. Horizontal coordinates stay UTM metres in both systems; a UTM zone has no foot flavour. - HEC-RAS version. The dropdown lists exactly the versions this server can build a terrain for, asked of the terrain service itself. If the service is unreachable no version is offered at all, and the bundle then ships
terrain/dem.tifwith a twenty-second manual Create a New RAS Terrain step in its README rather than a promise it cannot keep. A bundle never fails because the terrain build failed.
One coordinate system
Everything is delivered in the NAD83(2011) UTM zone of the outline's centroid (EPSG:6330–6348 for zones 1N–19N; WGS 84 UTM is the declared fallback outside those). UTM because a RAS terrain must be projected and metre-based, and every 3DEP 1 m tile already is; NAD83(2011) because 3DEP, NLCD and gSSURGO are published on it, so no layer needs a datum shift to sit on the others. Rasters are projected by the services that serve them (3DEP's ImageServer and MRLC's WCS both take a target EPSG); vectors either arrive projected or are projected here. The same .prj sits beside every shapefile.
Who can build one, and the caps
| Outline area | DEM resolution |
|---|---|
| up to 10 km² | 1 m where the 3DEP index shows a 1 m product, else 10 m |
| 10 to 100 km² | 10 m (1/3 arc-second) |
| 100 to 4,000 km² | 30 m (1 arc-second) |
| above 4,000 km² | refused, with the cap stated |
- Signed-in group members only. Anonymous visitors, accounts with no group and the shared guest account see the reason instead of the form.
- Five bundles per person per 24 hours by default (the operator can change it). Failed bundles do not count against you.
- Data window 30 days by default, up to 365; the radar layer up to 31 days (it downloads one national file per hour) and only from 14 October 2020, when NOAA's MRMS archive starts. Ask for radar over a longer window and the build is refused with that reason — untick radar to keep the longer gauge record. The zip is capped at 500 MB. Bundles are kept for 24 hours, then deleted; the job page shows the deadline and emails you a link when the build finishes.
The panel shows the computed area, the CRS and the resolution the caps allow before you press Build bundle; the job is then built in the background and the job page refreshes itself until the download appears.
Loading it
Unzip the folder somewhere local — not inside the zip viewer, and not on a network share RAS Mapper has to walk — and double-click the project you want.
<Name>.prjopens HEC-RAS with the projection set, the terrain loaded and every vector in the bundle listed in RAS Mapper. Open RAS Mapper (the map icon) to see them.<Name>.hmsopens HEC-HMS with the terrain imported, the curve-number grid in the Grid Manager, the Atlas 14 frequency storm as the meteorologic model, a 24-hour control specification, and each gauge's flow series reading fromgauges/flows.dss.
Then do the modelling: draw the 2D flow area where it belongs, mesh it, cut the sections, set the boundary conditions from the DSS, and make the plan. The README.md lists what is in the zip, where each file came from, and the same list of decisions the bundle deliberately does not make for you.