Asset risk

The tools below address flood risk by allowing you to answer two questions:

Question #1: Exposure -- How likely is an asset at a specified elevation to flood?

Question #1 (alternate wording): Exposure -- How likely is an asset at a specified elevation to flood over a given time period?

Question #2: Asset Height -- What elevation does an asset require in order to achieve a specified level of protection against flooding?

Question #2 (alternate wording): Asset Height -- If my risk tolerance is the [annual, 10-year, 100-year, 500-year] flood, what elevation does my asset need to maintain so it stays dry over a certain time period?

We express likelihood of flooding as exceedance, which has units of floods/year and is the expected number of floods in a given year. Exceedance can be less than 1. Some examples:

  • exceedance 10 = 10 expected floods per year
  • exceedance 0.1 = 10% chance of flooding in a given year
  • exceedance 0.01 = 1% chance of flooding in a given year

The tools below specify elevation as height above NAVD 88.

#1: Exposure

An asset with an elevation of feet ( meters) above NAVD 88 will have an exceedance of floods/year for the -year period ending under the scenario.

Exposure to flooding depends on 4 user-selectable factors...

  • height: The elevation of your location or asset in feet above NAVD 88. (You can get this from the Detailed risk analysis map.)
  • start year: Beginning of the time period over which you would like flood risk.
  • end year: End of the time period.
  • scenario: Sea-level rise scenario

#2: Asset height

To maintain an exceedance (flood risk) below expected floods/year (% chance of flooding in a given year) for the -year period ending , an asset must be mounted at an elevation of feet ( meters) above NAVD 88 under the scenario.

const answer2 = {year: endYear, height: assetHeight(endYear, maxExc, scenario)};
display(answer2)

const x = Array.from({ length: max_year - min_year }, function(_, i) { 
  return {
    year: min_year + i,
    height: assetHeight(min_year + i, maxExc),
    exc: maxExc,
  };
});

const chart = Plot.plot({ 
  title: `height vs year for exceedance = ${maxExc}`,
  x: {tickFormat: d3.format("4d") }, 
//  y: {domain: [0, 0.1] }, 
  marks: [
    Plot.lineY(x, {x: "year", y: "height"}),
    Plot.dot([answer2], {x: "year", y: "height", fill: "red", r: 5}),
    Plot.gridY({interval: 1}),
],
}); 

display(chart);

stuff below...

...is for debugging