# Riesgo Social y Curva F-N
Source: https://tekrisk.com/es/docs/social-risk

Documentación técnica para la cuantificación del Riesgo Social, construcción de la Curva F-N, evaluación de criterios ALARP y cálculo de Riesgo Individual en QRA industrial

## 1. Introducción

El **Riesgo Social** cuantifica el peligro que representa una instalación industrial para la **colectividad** que reside o trabaja en sus alrededores. A diferencia del Riesgo Individual (que evalúa la probabilidad de que una persona específica fallezca), el Riesgo Social expresa la relación entre la frecuencia de ocurrencia de un accidente y el número de víctimas fatales que podría causar.

La herramienta principal para visualizar y evaluar el Riesgo Social es la **Curva F-N** (*curva frecuencia-número*):

- **Eje X (N):** Número de fatalidades en un evento
- **Eje Y (F):** Frecuencia acumulativa $F(N)$ = frecuencia anual de eventos que causen **al menos N** fatalidades [eventos/año]

Ambos ejes usan escala **logarítmica**.

<Callout type="info" title="Requisito regulatorio">
Las Curvas F-N son requeridas por los principales estándares de QRA a nivel mundial (UK R2P2, Países Bajos RIVM, México ASEA, Australia HIPAP, Hong Kong HKSAR) para licencias de operación y planificación de uso del suelo.
</Callout>

---

## 2. Conceptos Clave

<Cards>
  <Card title="Frecuencia de Escenario P(As)">
    Tasa anual [eventos/año] de ocurrencia del escenario accidental $A_s$ — obtenida de LOPA, árboles de fallo o bases de datos históricas (OREDA, TNO FACTS)
  </Card>
  <Card title="Fatalidades Esperadas E[F(As)]">
    Número esperado de muertes dado que $A_s$ ocurre — calculado por los modelos de consecuencias mediante integración en anillos concéntricos con funciones Probit
  </Card>
  <Card title="Población Expuesta Ng">
    Personas dentro del radio de riesgo — definido por el radio al 1% Probit para modelos térmicos/sobrepresión, o por el área LFL para Flash Fire
  </Card>
  <Card title="Riesgo Individual Promedio RIg">
    Probabilidad anual de muerte de una persona promedio en la población expuesta — $RI_g = E[F_a] / N_g$
  </Card>
</Cards>

### 2.1 Definiciones Formales

$$
E[F(A_s)] = \sum_{r_i} P_{muerte}(r_i) \cdot \rho_{pop} \cdot A_{anillo}(r_i)
$$

$$
N_g = \pi \cdot r_{1\%}^2 \cdot \rho_{pop} \quad \text{(modelos Probit)} \qquad N_g = A_{LFL} \cdot \rho_{pop} \quad \text{(Flash Fire)}
$$

$$
RI_g = \frac{E[F_a]}{N_g}, \quad \text{donde} \quad E[F_a] = \sum_s P(A_s) \cdot E[F(A_s)]
$$

---

## 3. Secuencia de Cálculo

<Mermaid>
{`flowchart TD
    A["Modelos de Riesgo<br/>(PoolFire, JetFire, VCE, FlashFire, FireBall)<br/>con frecuencia P(As) por escenario"] --> B["Paso 1: Fatalidades del Modelo<br/>FatalityUtils.js<br/>Anillos concéntricos 5m, hasta 10 km<br/>E[F(As)] = Σ Fatal_i"]
    B --> C["Paso 2: Población Expuesta Ng<br/>ng-calculator.ts<br/>Probit: Ng = π×r₁%²×ρ_pop<br/>Flash Fire: Ng = A_LFL×ρ_pop<br/>Rosa de vientos: Ng = Σ Ng_i×P(dir_i)"]
    C --> D["Paso 3: Construcción Curva F-N<br/>social-risk-table.tsx<br/>F(N) = Σ fs para todo s donde Ns ≥ N<br/>Función escalón decreciente en log-log"]
    D --> E["Paso 4: Evaluación Criterios ALARP<br/>fn-curve-analysis.ts<br/>Límite sup: F_lim(N) = C₁/N^|n|<br/>Exceso: ΔF(N) = F(N) − F_obj(N)"]

    style A fill:#e1f5fe
    style E fill:#c8e6c9
    style D fill:#fff3e0`}
</Mermaid>

<Steps>
  <Step>
    **Fatalidades del modelo** — Para cada escenario, `FatalityUtils.js` integra la probabilidad de muerte en anillos concéntricos de 5 m de espesor (hasta 10 km), calculando $E[F(A_s)] = \sum_i F_i$ con la función Probit correspondiente.
  </Step>
  <Step>
    **Población expuesta $N_g$** — `ng-calculator.ts` calcula $N_g$ usando el radio al 1% Probit para modelos térmicos/sobrepresión, el área del polígono LFL para Flash Fire, o la suma ponderada de la rosa de vientos para escenarios multi-direccionales.
  </Step>
  <Step>
    **Construcción de la Curva F-N** — `calculateFnCurve()` recopila todos los pares $(f_s, N_s)$ y calcula $F(N_k) = \sum_{s:\,N_s \geq N_k} f_s$ para cada valor único de $N$, generando una función escalón decreciente en escala log-log.
  </Step>
  <Step>
    **Evaluación ALARP** — `analyzeUnacceptableScenarios()` compara cada punto de la curva con el límite superior $F_{lim}(N) = C_1/N^{|n|}$, calcula el exceso de frecuencia $\Delta F$ y genera recomendaciones de reducción por escenario.
  </Step>
</Steps>

---

## 4. Cálculo de Fatalidades por Anillos Concéntricos

### 4.1 Geometría de Anillos y Dosis Térmica

El área de estudio se divide en anillos concéntricos de 5 m de espesor, desde el punto de emisión hasta el radio máximo (por defecto 10 km):

$$
A_{anillo}(r_i) = \pi \left(r_{i+1}^2 - r_i^2\right) \quad [\text{m}^2]
$$

La dosis térmica acumulada en cada anillo:

$$
D_{dosis} = t_{exp} \cdot \left[q(r_i) \times 10^3\right]^{4/3} \quad \left[(\text{W/m}^2)^{4/3} \cdot \text{s}\right]
$$

**Código:** `FatalityUtils.js` → `calculateFatalities()`.

### 4.2 Funciones Probit de Fatalidades

<Tabs items={["Radiación Térmica", "Sobrepresión"]}>
  <Tab value="Radiación Térmica">

**Metodología CCPS (Eisenberg):**
$$
Pr = -14.9 + 2.56 \cdot \ln\!\left(\frac{D_{dosis}}{10\,000}\right)
$$
*Referencia: CCPS, Guidelines for CPQRA, 2nd Ed., p. 269.*

**Metodología TNO:**
$$
Pr = -36.38 + 2.56 \cdot \ln(D_{dosis})
$$
*Referencia: TNO Green Book (CPR 14E), 1997, p. 20, ec. 3.5.*

  </Tab>
  <Tab value="Sobrepresión">

**Modelo Eisenberg (CCPS):**
$$
Pr = -77.1 + 6.91 \cdot \ln(P_{Pa})
$$
donde $P_{Pa}$ es la sobrepresión máxima en Pascales.

**Modelo Hurst (1989):**
$$
Pr = 1.47 + 1.35 \cdot \ln(P_{psi})
$$
donde $P_{psi}$ es la sobrepresión en psi.

*Referencia: CCPS (1999), p. 273; Hurst, N.W. et al. (1989).*

  </Tab>
</Tabs>

### 4.3 Conversión Probit → Porcentaje Fatal

$$
P_{fatal}\% = 50 \left(1 + \frac{Pr-5}{|Pr-5|} \cdot \text{erf}\!\left(\frac{|Pr-5|}{\sqrt{2}}\right)\right)
$$

### 4.4 Fatalidades por Anillo

$$
F_i = \frac{P_{fatal,i}}{100} \cdot \rho_{pop} \cdot A_{anillo}(r_i)
$$

<Callout type="info" title="Criterio de parada">
El cálculo se detiene cuando $P_{fatal} < 0.1\%$. Si $\sum F_i < 0.6$ el resultado se devuelve como 0 (impacto despreciable). **Código:** `FatalityUtils.js`, líneas 111–200.
</Callout>

---

## 5. Cálculo de la Población Expuesta — $N_g$

<Tabs items={["Modelos Probit", "Flash Fire (LFL)", "Flash Fire + Rosa de Vientos", "Corrección Poligonal"]}>
  <Tab value="Modelos Probit">

### 5.1 PoolFire, JetFire, VCE, FireBall

Se interpola en los resultados del modelo para encontrar el **radio al 1% de probabilidad de muerte** $r_{1\%}$:

$$
N_g = \pi \cdot r_{1\%}^2 \cdot \rho_{pop}
$$

Interpolación lineal entre los dos anillos adyacentes donde el porcentaje fatal cruza el 1%:

$$
r_{1\%} = r_i + \frac{1\% - P_i}{P_{i+1} - P_i} \cdot (r_{i+1} - r_i)
$$

**Código:** `ng-calculator.ts` → `calculateNgForProbitModel()`.

  </Tab>
  <Tab value="Flash Fire (LFL)">

### 5.2 Flash Fire

Dentro del envolvente LFL, la probabilidad de muerte es **100%** para personas sin protección:

$$
N_g = A_{LFL} \cdot \rho_{pop}
$$

donde $A_{LFL}$ es el área del polígono de dispersión SLAB a la concentración LFL.

**Código:** `ng-calculator.ts` → `calculateNgForFlashFire()`.

  </Tab>
  <Tab value="Flash Fire + Rosa de Vientos">

### 5.3 Rosa de Vientos con 16 Direcciones

Para eventos con dirección de viento incierta se usa el **diagrama de pétalos**:

$$
N_g = \sum_{i=1}^{16} N_{g,i} \cdot P_{dir,i}
$$

Cada pétalo se trata como sub-escenario independiente en la curva F-N:

$$
f_{pétalo,i} = P(A_s) \cdot P_{dir,i}
$$

**Código:** `ng-calculator.ts` → `calculateNgForFlashFireWithPetals()`.

  </Tab>
  <Tab value="Corrección Poligonal">

### 5.4 Corrección por Receptores Poligonales

Cuando existen receptores con población conocida (áreas industriales, hospitales, escuelas):

$$
N_g = (A_{circulo} - A_{interseccion}) \cdot \rho_{pop} + N_{receptor}
$$

La intersección geométrica se calcula con la librería `@turf/turf`.

**Código:** `ng-calculator.ts` → `calculateNgWithReceiverCorrection()`.

  </Tab>
</Tabs>

---

## 6. Construcción de la Curva F-N

### 6.1 Definición Formal

Dado un conjunto de $S$ escenarios accidentales, cada uno con frecuencia $f_s$ [eventos/año] y fatalidades $N_s$ [personas]:

$$
\boxed{F(N) = \sum_{s:\; N_s \geq N} f_s}
$$

$F(N)$ es la suma de frecuencias de **todos los escenarios que producen al menos $N$ fatalidades**.

**Código:** `social-risk-table.tsx` → `calculateFnCurve()`.

### 6.2 Algoritmo de Cálculo

<Steps>
  <Step>
    Recopilar todos los escenarios con sus pares $(f_s, N_s)$: frecuencia y fatalidades de cada uno
  </Step>
  <Step>
    Obtener el conjunto único de valores $N$, ordenados de **mayor a menor**
  </Step>
  <Step>
    Para cada $N_k$: calcular $F(N_k) = \sum f_s$ donde $N_s \geq N_k$
  </Step>
  <Step>
    Graficar los pares $(N_k,\, F(N_k))$ como **función escalón decreciente** en ejes log-log
  </Step>
</Steps>

<Callout type="info" title="Propiedad monotónica">
La Curva F-N siempre es una **función escalón decreciente**: $F(N) \leq F(N-1)$ para todo $N$, ya que umbrales de fatalidad más altos solo pueden ser superados por menos escenarios.
</Callout>

---

## 7. Zonas de Tolerabilidad y Criterios ALARP

### 7.1 Líneas Límite

Las líneas de tolerabilidad son funciones potenciales en el plano log-log:

$$
F_{lim}(N) = \frac{C}{N^{|n|}}
$$

| Línea | Fórmula | Significado |
|-------|---------|-------------|
| Límite superior | $F_{sup}(N) = C_1 / N^{\lvert n \rvert}$ | Frontera entre zonas Inaceptable y ALARP |
| Límite inferior | $F_{inf}(N) = C_2 / N^{\lvert n \rvert}$ | Frontera entre zonas ALARP y Aceptable |

**Código:** `fn-curve-analysis.ts` → `calculateUpperLimit()`; `fn-curve-chartjs.tsx` → `drawLimitLines()`.

### 7.2 Zonas ALARP

<Callout type="warn" title="Principio ALARP">
**ALARP** (*As Low As Reasonably Practicable*) — el riesgo debe reducirse tanto como sea razonablemente practicable. Estar en la zona ALARP no significa que el riesgo sea aceptable; debe demostrarse que reducciones adicionales no son razonablemente factibles.
</Callout>

| Zona | Criterio | Acción requerida |
|------|----------|-----------------|
| **Inaceptable** | $F(N) > F_{sup}(N)$ | Reducción obligatoria del riesgo |
| **ALARP** | $F_{inf}(N) < F(N) \leq F_{sup}(N)$ | Reducir a menos que sea desproporcionadamente costoso |
| **Aceptable** | $F(N) \leq F_{inf}(N)$ | No se requiere acción adicional |

### 7.3 Criterios por Estándar Internacional

<Tabs items={["UK HSE", "Países Bajos (RIVM)", "Hong Kong", "Australia"]}>
  <Tab value="UK HSE">

| Parámetro | Valor |
|-----------|-------|
| $C_1$ (superior) | $10^{-2}$ eventos/año |
| $C_2$ (inferior) | $10^{-4}$ eventos/año |
| Pendiente $n$ | $-1$ |
| Referencia | R2P2 (2001) |

  </Tab>
  <Tab value="Países Bajos (RIVM)">

| Parámetro | Valor |
|-----------|-------|
| $C_1$ (superior) | $10^{-3}$ eventos/año |
| $C_2$ (inferior) | $10^{-5}$ eventos/año |
| Pendiente $n$ | $-2$ (aversión a catástrofes) |
| Referencia | IPO/RIVM Bevi |

  </Tab>
  <Tab value="Hong Kong">

| Parámetro | Valor |
|-----------|-------|
| $C_1$ (superior) | $10^{-3}$ eventos/año |
| $C_2$ (inferior) | $10^{-5}$ eventos/año |
| Pendiente $n$ | $-1$ |
| Referencia | HKSAR (1994) |

  </Tab>
  <Tab value="Australia">

| Parámetro | Valor |
|-----------|-------|
| $C_1$ (superior) | $10^{-3}$ eventos/año |
| $C_2$ (inferior) | $10^{-5}$ eventos/año |
| Pendiente $n$ | $-2$ (aversión a catástrofes) |
| Referencia | HIPAP No. 4 (1994) |

  </Tab>
</Tabs>

<Callout type="info" title="Configuración por proyecto">
Los valores $C_1$, $C_2$ y $n$ se configuran en **Configuración del Proyecto → Criterios de Riesgo Social** y se persisten en `project.socialRiskCriteria`.
</Callout>

---

## 8. Análisis de Escenarios Inaceptables

Un punto $(N, F(N))$ es **inaceptable** cuando $F(N) > C_1 / N^{|n|}$.

<Steps>
  <Step>
    **Identificar el punto inaceptable** — Encontrar todos $(N_k, F(N_k))$ donde $F(N_k) > F_{sup}(N_k)$
  </Step>
  <Step>
    **Aplicar objetivo ALARP** — Establecer objetivo con 10% de margen de seguridad:
    $$F_{obj}(N) = F_{sup}(N) \cdot (1 - m), \quad m = 0.10$$
  </Step>
  <Step>
    **Calcular exceso de frecuencia**:
    $$\Delta F(N) = F(N) - F_{obj}(N)$$
  </Step>
  <Step>
    **Reducción requerida por escenario** — Para el escenario $s$ contribuyente:
    $$f_{requerida,s} = f_{actual,s} - \Delta F(N), \quad FR_s = \frac{f_{actual,s}}{f_{requerida,s}}$$
    Si $f_{requerida,s} \leq 0$, el escenario no puede resolver el problema solo — se requieren reducciones combinadas.
  </Step>
</Steps>

**Código:** `fn-curve-analysis.ts` → `analyzeUnacceptablePoint()`, líneas 60–127.

---

## 9. Riesgo Individual

### 9.1 Cálculo

$$
E[F_a] = \sum_{s} P(A_s) \cdot E[F(A_s)], \qquad RI_g = \frac{E[F_a]}{N_g}
$$

### 9.2 Clasificación

| Clasificación | Criterio |
|---------------|---------|
| Aceptable | $RI_g < \text{umbral tolerable}$ |
| ALARP | $\text{tolerable} \leq RI_g < \text{intolerable}$ |
| Inaceptable | $RI_g \geq \text{umbral intolerable}$ |

**Código:** `individual-risk-summary.tsx` → `evaluateRiskStatus()`.

### 9.3 Criterios por País / Norma

<Tabs items={["UK HSE", "México ASEA", "Países Bajos RIVM", "Australia / Hong Kong", "USA EPA"]}>
  <Tab value="UK HSE">

| Grupo | Intolerable | Tolerable |
|-------|------------|----------|
| Público | $10^{-4}$/año | $10^{-6}$/año |
| Trabajadores | $10^{-3}$/año | $10^{-6}$/año |

*Referencia: R2P2 (2001)*

  </Tab>
  <Tab value="México ASEA">

| Grupo | Intolerable | Tolerable |
|-------|------------|----------|
| Público | $10^{-3}$/año | $10^{-6}$/año |

*Referencia: Lineamientos ASEA (2016)*

  </Tab>
  <Tab value="Países Bajos RIVM">

| Grupo | Intolerable | Tolerable |
|-------|------------|----------|
| Público | $10^{-5}$/año | $10^{-8}$/año |

*Referencia: RIVM Bevi*

  </Tab>
  <Tab value="Australia / Hong Kong">

| Grupo | Intolerable | Tolerable |
|-------|------------|----------|
| Público | $10^{-5}$/año | $10^{-6}$/año |

*Referencia: HIPAP No. 4 / HKSAR*

  </Tab>
  <Tab value="USA EPA">

| Grupo | Intolerable | Tolerable |
|-------|------------|----------|
| Público | $10^{-4}$/año | $10^{-6}$/año |

*Referencia: EPA RMP*

  </Tab>
</Tabs>

**Código:** `individual-risk-presets.ts`.

---

## 10. Modo de Uso en el Sistema

<Steps>
  <Step>
    **Definir escenarios** — Para cada fuente, crear RiskModels con su tipo de evento (PoolFire, JetFire, FlashFire, VCE, FireBall) y asignarle una frecuencia $P(A_s)$.
  </Step>
  <Step>
    **Ejecutar cálculo de consecuencias** — Correr el cálculo de cada modelo para obtener `fatalidades.sumaFatalidades` y `fatalidades.resultados`.
  </Step>
  <Step>
    **Configurar criterios** — En *Configuración del Proyecto → Criterios de Riesgo Social*, seleccionar el estándar internacional o ingresar valores personalizados de $C_1$, $C_2$ y $n$.
  </Step>
  <Step>
    **Visualizar la Curva F-N** — En la pestaña *Riesgo Social* → subpestaña *Curva F-N*, la tabla calcula automáticamente $N$ y $F(N)$ para cada escenario y los grafica.
  </Step>
  <Step>
    **Interpretar zonas** — Puntos sobre la línea superior ($F > C_1/N^{|n|}$) son **inaceptables**. El sistema genera recomendaciones automáticas de reducción de frecuencia.
  </Step>
  <Step>
    **Riesgo Individual** — En la subpestaña *Riesgo Individual*, ingresar $N_g$ o dejar que el sistema lo calcule, y verificar $RI_g$ contra el criterio del país.
  </Step>
</Steps>

<Callout type="info" title="Flash Fire con pétalos (rosa de vientos)">
Para eventos Flash Fire con dirección de viento incierta, activar la **rosa de vientos** en el panel del modelo. El sistema expande el escenario en hasta 16 sub-escenarios — uno por dirección del viento — cada uno con frecuencia efectiva $P(A_s) \times P_{dir,i}$ y su propia $N_{g,i}$. En la curva F-N aparecen como filas separadas: `{nombre_escenario} — {dirección}`.
</Callout>

---

## 11. Aplicaciones de la Curva F-N

| Aplicación | Descripción |
|-----------|-------------|
| **QRA industrial** | Evaluación de riesgo cuantitativo de instalaciones petroquímicas, plantas de proceso y terminales de almacenamiento |
| **Planes de uso de suelo** | Determinar zonas de restricción y distancias de seguridad alrededor de instalaciones peligrosas |
| **Licencias de operación** | Comparar el riesgo de la instalación contra criterios regulatorios nacionales para obtener permisos |
| **Diseño de salvaguardas** | Identificar qué escenarios requieren capas adicionales de protección (SIL, válvulas de seguridad, PLC) |
| **Comparación de alternativas** | Evaluar el impacto de diferentes configuraciones de planta, materiales o tecnologías en el perfil de riesgo |
| **Comunicación con autoridades** | Presentar resultados del estudio de riesgo de manera estandarizada ante reguladores (ASEA, HSE, INERIS) |
| **Seguros industriales** | Cuantificar el PML (*Probable Maximum Loss*) para el cálculo de primas de seguros |
| **Planes de emergencia** | Determinar zonas de evacuación basadas en isópletas de concentración/radiación |

---

## 12. Limitaciones del Análisis

<Accordions type="multiple">
  <Accordion title="Densidad de población uniforme">
    El cálculo asume que la población se distribuye uniformemente dentro del radio de impacto. Variaciones locales (concentración en edificios, evacuación nocturna) no se modelan, excepto mediante receptores poligonales explícitos.
  </Accordion>
  <Accordion title="Independencia de escenarios">
    La curva F-N supone que todos los escenarios son independientes entre sí. Escenarios correlacionados (accidente en cadena, efecto dominó) pueden subestimar $F(N)$ para valores altos de $N$.
  </Accordion>
  <Accordion title="Sin dirección de viento en modelos no Flash Fire">
    Los modelos PoolFire, JetFire y VCE asumen simetría radial para el cálculo de $N_g$. En la realidad el impacto es asimétrico según la dirección del viento.
  </Accordion>
  <Accordion title="Radio al 1% como aproximación de Ng">
    El uso del radio donde el Probit alcanza el 1% como radio de $N_g$ es una convención conservadora. No se integra la probabilidad de muerte en todo el rango de distancias.
  </Accordion>
  <Accordion title="Calidad de las frecuencias de escenario">
    La calidad del análisis depende fundamentalmente de la precisión de las frecuencias $P(A_s)$ ingresadas. Frecuencias incorrectas desplazan toda la curva F-N verticalmente.
  </Accordion>
  <Accordion title="Solo instalaciones fijas">
    El análisis se limita a instalaciones industriales fijas. No cubre el riesgo de transporte de materiales peligrosos.
  </Accordion>
</Accordions>

---

## 13. Referencias Bibliográficas

<Accordions type="single">
  <Accordion title="Ver lista completa de referencias">

| # | Referencia |
|---|-----------|
| 1 | **CCPS** (1999). *Guidelines for Chemical Process Quantitative Risk Analysis*, 2nd Ed. AIChE, New York. (pp. 269, 273) |
| 2 | **TNO** (1997). *Methods for the Determination of Possible Damage (CPR 16E, "Purple Book")*, 2nd Ed. La Haya. |
| 3 | **TNO** (1997). *Methods for the Calculation of Physical Effects (CPR 14E, "Green Book")*, 3rd Ed. La Haya. |
| 4 | **UK HSE** (2001). *Reducing Risks, Protecting People (R2P2)*. Health & Safety Executive, Londres. |
| 5 | **RIVM / IPO** (2009). *Reference Manual Bevi Risk Assessments*. Version 3.2. Bilthoven. |
| 6 | **Lees, F.P.** (2005). *Loss Prevention in the Process Industries*, 3rd Ed. Elsevier, Amsterdam. |
| 7 | **HKSAR** (1994). *Risk Guidelines for New Territories East Landfill*. Hong Kong Special Administrative Region. |
| 8 | **HIPAP No. 4** (1994). *Risk Criteria for Land Use Safety Planning*. NSW Department of Planning, Australia. |
| 9 | **Hurst, N.W., Nussey, C. & Pettitt, G.N.** (1989). *Development and Application of a Risk Assessment Methodology for Gaseous Blast Waves*. IChemE Symposium Series No. 110. |
| 10 | **ASEA** (2016). *Lineamientos para la Elaboración del Análisis de Riesgo*. Agencia de Seguridad, Energía y Ambiente, México. |
| 12 | **Eisenberg, N.A., Lynch, C.J. & Breeding, R.J.** (1975). *Vulnerability Model*. CG-D-136-75. USCG, Washington. |

  </Accordion>
</Accordions>
