Repository navigation
Model Conventions
FGM edited this page Oct 19, 2026
·
2 revisions
Rules that apply across the whole library. Most "unexpected" results trace back to one of these.
-
Elevations are signed, positive up, in the project datum: crest, toe, wall bottom, berm crest. A toe 1 m below datum zero is entered as
-1.0, never as a depth of1.0. The code applies noabs(). -
Depths are derived: toe depth
h = SWL − toe_elevation, freeboardRc = crest_elevation − SWL.h < 0is a dry toe;Rc < 0is a submerged crest. -
Floodwall toe. Without a toe berm (the current case: berms are hidden for levees, floodwalls and rubble mounds), the floodwall toe is
wall_bottom_elevation. Wall height ishw = crest_elevation − wall_bottom_elevation. -
Offshore elevation (
offshore_elevation) is the bed elevation offshore of the structure, positive up, in the CHS study datum. It comes from the CHS study grid point nearest the savepoint (stored in the storm database) or, when the database has none, from the PSE file. Every run stops early without one (check_offshore_elevation.m). It is used by Damaging Depth and shown on the PSE transect plot. - Datum consistency. Storm water levels, tide predictions, sea level rise and structure elevations must all be in the same datum; CHESS adds them directly.
Input slopes are cot(α) (horizontal / vertical): seaside_slope, leeside_slope, offshore_slope, berm_seaward_slope. The equations use tan(α) = 1/cot(α).
| Quantity | Unit |
|---|---|
| Lengths, elevations, wave heights | m |
| Wave periods | s |
storm_duration |
hours (the storm database duration column is in days, converted where needed) |
Overtopping rate q
|
m³/s per m of crest |
Overtopping volume Q_vol
|
m³ per m of crest |
| Pressures (Goda) | Pa (computed internally in ft and lb, as in the CEM tables) |
| Nappe force | N/m |
| Nappe angles | degrees |
Applied by adjust_project_forcing.m in this order, after uncertainty:
-
Random tide (
apply_random_tides): each storm gets a random start hour in the hourly tide record, and the tide is added to its SWL. Peaks and Timeseries of the same storm get the same start hour. -
Sea level rise (
swl_slr): added to every SWL. -
Depth limitation (
apply_depth_limitation): at the toe depthh,Hm0is capped atHm0_DL = 0.1·L·tanh(k·h)(linear dispersion atTp). -
Dry toe: where
h < 0,Hm0 = 0in every workflow, whatever the depth limitation switch.
A storm has no waves either because its toe is dry (rule 4 above) or because the database itself records Hm0 = 0. Database storms with Hm0 = 0 are excluded from forcing uncertainty and stay at 0.
In both cases the storm is kept:
-
Wave-driven responses (run-up, overtopping, pressures, armor stability, nappe) are NaN. The exception is wave transmission:
Kt = 0andHm0t = 0. -
Surge-only responses are still computed: for example
DamDepthElev = SWL. - Floodwall P2, P3 and Pu are NaN wherever P1 is NaN; nappe outputs are NaN wherever
qis NaN.
- SWL and Hm0 get absolute (
_u_a) and relative (_u_r) uncertainty from the storm database'sdb_info(fromCHS_Dependenciesor entered manually). Tp gets a relative uncertainty derived from Hm0's:√(1 + Hm0_u_r) − 1. - Great Lakes (CHS-GLM, CHS-GLH): the mean lake level (176.45 m) is removed before SWL uncertainty is applied and restored afterwards, so the uncertainty applies to the surge, not to the total water level.
- DET applies no uncertainty: it uses the forcing as recorded.
-
XC (extratropical): equally likely historical storms; the annual rate is
Nstm_XC / Nyrs_XC. -
TC (tropical): synthetic storms with discrete storm weights (
prob_mass.TC_Freq) fromCHS_Dependencies. -
CC: both. Without
CHS_Dependenciesfor the region, only XC runs.
Run-up & Overtopping
- Wave Run-up (R2%)
- Overtopping Discharge (q)
- Overtopping Volume (Q_vol)
- Overtopping Damage Classification
- Run-up Exceedance (z1%)
- Crest Velocity Exceedance (u1%)
Transmission
Wall Loads
Armor Stability
Damage Progression (LCS)
Hazard Metrics