Repository navigation
CHESS LCS
Workflow selector: config.workflow = 3 (Life Cycle Simulation, with Coastal Structure Reliability, CSR).
Main functions: chess_lcs.m (sampling), chess_csr.m (responses and reliability), chess_csr_dpa.m (damage progression).
CHESS PROS asks "what response level has a given annual chance of being exceeded?" and treats the structure as unchanging. LCS asks "how does this structure perform over its service life?" It simulates many possible futures, life cycles of mcs_nYears years each, built from storms drawn at their natural rates. Each storm is run through the structure response equations, and the results are summarised across life cycles:
- Response per storm and per year (e.g. the expected yearly maximum overtopping).
- Reliability and probability of failure of rubble mound armor (CSR Peaks).
-
Damage progression: how armor damage
Saccumulates storm by storm, with optional repair (CSR DPA).
The spread across life cycles is the aleatory variability: which storms arrive, when and in what order.
For each life cycle and each simulated year:
-
Storm count. A Poisson draw with the storm type's annual rate λ: XC
Nstm_XC / Nyrs_XC(record length); TCprob_mass.TC_SRR(end)(CHS storm recurrence rate). -
Which storms.
-
TC: an intensity bin is drawn from the bin rates (
TC_SRR(1:3)), then a storm from that bin, weighted by its discrete storm weight (TC_Freq). - XC: storms are drawn from the record, and their peak values (SWL, Hm0, Tp, direction) are resampled from a Gaussian copula fitted to the record (kernel marginals, Kendall's τ). This gives new, statistically consistent combinations instead of repeating the record.
-
TC: an intensity bin is drawn from the bin rates (
- CC combines the TC and XC life cycles.
- Timeseries life cycles use each sampled storm's full hydrograph from the storm database. WLP/WHP life cycles hold the same sampled storms with their WLP/WHP values (for XC they are copies of the copula values).
Each life cycle is a table with one row per storm (Peaks) or per hourly time step (Timeseries): storm ID, type or intensity bin, year, order in the year, SWL, Hm0, Tp, direction, duration and a time step counter.
| Mode | Storm counts | Use |
|---|---|---|
0, full Poisson (default) |
Each year's count is a Poisson draw, kept as drawn. A life cycle can have no storms (reliability 1, no damage) | Captures storm-count variability. Needs enough life cycles to converge |
1, rate matched (ERDC/CHL TR-20-5) |
Yearly counts are redrawn until the life-cycle total is within λ·N ± 1 | The previous behaviour. Percentiles exclude storm-count variability, and a notice says so |
Before sampling, lcs_convergence_check.m computes how many life cycles a full Poisson run needs for stable storm-count statistics: the mean rate and the Poisson(λ·N) percentiles in project_CLs, within lcs_convergence_tol (default 5%) at lcs_convergence_confidence (default 95%). When mcs_nLC is lower, the library asks to proceed or cancel (lcs_convergence_prompt); the GUI shows its own dialog. Mode 1 runs no check.
Every run saves <db>_LCS_sampling_seed.mat: the effective sampling mode, the sampled storm IDs per life cycle (including empty life cycles) and the raw XC copula samples.
- Hotstart. A rerun that changes only geometry, adjustments or storm duration keeps the same life cycles (Hotstart Levels).
-
Reference case.
load_project_forcing = 1withref_case_namereuses another alternative's life cycles, so alternatives are compared under the same storms. The reference's sampling mode takes priority.
Each storm of each life cycle goes through compute_structure_response.m with the same equations as PROS (PSE Hydraulic Responses). The storm duration is config.storm_duration (hours).
Yearly curves (compute_lcs_yearly_curve.m): for each simulated year, the maximum response of every storm in that year across all life cycles gives the mean and the 10/16/84/90th percentiles. Years without storms have no value.
chess_csr_peaks.m, for struc_type = 3. For each storm, two limit states compare the resistance of the existing armor (from seaside_mass / leeside_mass and the design damage levels) with the storm load:
-
Seaside (Melby and Kobayashi 2011, momentum flux):
G_ss = R_ss − F_ss. -
Leeside (Van Gent and Pozueta 2004; Melby 2009):
G_ls = R_ls − F_ls, using z1% and u1%. -
Overall:
G = min(G_ss, G_ls).
A storm fails when G < 0. The reliability of a life cycle is the fraction of its storms that do not fail; a life cycle without storms has reliability 1. Reliab_Summary and PF_Summary (PF = 1 − reliability) report the mean, the project_CLs percentiles and the standard deviation across life cycles, for overall, seaside and leeside.
chess_csr_dpa.m (csr_call_dpa = 1) follows the armor damage number S through each life cycle, time step by time step, for the existing stone size. Damage accumulates storm after storm. With repairs on, the structure is repaired at the end of the storm in which S exceeds the repair limit: csr_apply_structure_repair = 1 repairs at the service limit (seaside_design_S, leeside_design_S), 2 at the ultimate limit (seaside_S_uls, leeside_S_uls), 3 at either. Reliability is the share of life cycles without a repair (repairs on) or that never reach the ultimate limit (repairs off). Life cycles without storms keep their initial damage. Equations: Seaside Armor Damage Progression LCS CSR and Leeside Armor Damage Progression LCS CSR.
| Field | Meaning |
|---|---|
mcs_nLC |
Number of life cycles |
mcs_nYears |
Years per life cycle |
storm_sampling |
XC, TC or CC
|
use_peaks, use_timeseries, create_wlp, create_whp
|
Datasets to build life cycles for |
csr_call_dpa, csr_apply_structure_repair, csr_compute_S_submerged, csr_apply_cutoff_correction, csr_cutoff_offset
|
Damage progression |
seaside_S_uls, leeside_S_uls, seaside_mass, leeside_mass
|
Rubble mound limit states and existing armor |
load_project_forcing, ref_case_name
|
Reuse another alternative's life cycles |
lcs_restrict_sampling_rate, lcs_convergence_*
|
Hidden sampling settings |
Details: config_reference.
Files are in PSE/<struc_id>/<case_name>/LCS/ (Model Outputs). Plots come from Visualization/lcs_methods.m: armor damage, event sampling distribution, annual response distribution, the sampling scheme dashboard (with the convergence panel) and the damage dashboard. See Visualization for each plot with an example.
- Gonzalez, V. M., et al. 2020. Alabama Barrier Island Restoration Assessment life-cycle structure response modeling. ERDC/CHL TR-20-5. Vicksburg, MS: U.S. Army Engineer Research and Development Center.
- Melby, J. A., and N. K. Kobayashi. 2011. "Stone Armor Damage Initiation and Progression." Journal of Coastal Research 27(1): 110–119 (as listed in
chess_csr_dpa.m). - Van Gent and Pozueta (2004); Melby (2009): leeside limit state, cited in-code in
chess_csr_peaks.mwithout full titles. See Van Gent Leeside Armor Stone Stability Dn50.
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