Chapter 5 Coastal Engineering: Depth of Closure#

  1. Introduction: Depth of Closure

  2. Simulation

  3. Self-Assessment

1. Introduction#

Descriptive alt text for accessibility

Fig. 31 **Figure 5.12 **: Dept of Closure.#

🌊 Depth of Closure#

The depth of closure (DoC) is the depth beyond which significant sediment transport does not occur. It is a critical concept in coastal engineering for determining the limits of active beach profile changes. This depth is influenced by wave energy and sediment characteristics.

This module calculates and compares the depth of closure using several well-known empirical models. The DoC is a key parameter in:

  • Coastal zone management

  • Beach nourishment design

  • Shoreline evolution modeling


⚙️ Input Parameters#

  • H_s: Significant wave height (in meters)

  • T_s: Significant wave period (in seconds)

  • g: Acceleration due to gravity (9.81 m/s²)


🧪 Methods Implemented#

1. Hallermeier Inner Limit (1978, 1981)#

Estimates DoC based on energetic but non-extreme wave conditions:

\[ d_{\text{inner}} = 2.28 H_s - \frac{68.5 H_s^2}{g T_s^2} \]

2. Hallermeier Outer Limit#

Represents the maximum depth where sediment transport from storm waves may occur:

\[ d_{\text{outer}} = 1.75 H_s \]

3. Birkemeier (1985)#

Refined for U.S. East Coast field data:

\[ d = 1.57 H_s - \frac{0.005 H_s^2}{g T_s^2} \]

4. Kraus et al. (1998)#

Matches the structure of Hallermeier’s inner formulation, emphasizing long-term changes:

\[ d = 2.28 H_s - \frac{68.5 H_s^2}{g T_s^2} \]

References#

[Wise, 1998] provides operational guidance for estimating the depth of closure (DoC) in the context of beach nourishment projects. The DoC is essential for determining the volume of fill required and the extent of profile adjustment over time. [U.S. Army Corps of Engineers, 2011] also provides a clear and formal description of depth of closure (DoC), particularly in Part VI – Design of Coastal Structures.

2. Simulation#

🌊 Depth of Closure Estimation — Coastal Morphodynamics Tool#

This Python script estimates the depth of closure (DoC)—the seaward limit of significant sediment movement—using four empirical methods from coastal engineering literature.


🧠 What It Does#

  • Inputs:

    • H_s: Significant wave height (m)

    • T_s: Significant wave period (s)

    • g: Gravity constant (m/s²)

  • Methods used:

    • Hallermeier (Inner & Outer) — Based on wave energy thresholds

    • Birkemeier — Developed from field observations

    • Kraus et al. — Matches Hallermeier Inner formulation

  • Outputs:

    • Estimated depth of closure for each method

    • Bar chart comparing all results visually


🧮 Computed Outputs#

Method

Formula Highlights

Output Meaning

Hallermeier Inner

Energy-based threshold for seasonal DoC

Conservative baseline for sediment motion

Hallermeier Outer

Empirical multiplier of wave height

Represents maximum observed sediment reach

Birkemeier

Minor period correction + height scaling

Field-tuned estimate for moderate energy coasts

Kraus et al.

Same as Hallermeier Inner

Re-validation of existing formulation


📈 How to Interpret Results#

  • Shallower DoC → sediment affected closer to shore

  • Deeper DoC → design needs to consider subtidal sediment transport

  • Variability across methods shows:

    • Importance of local calibration

    • Sensitivity to wave period and height


Use these values to inform beach nourishment depth, sediment transport models, or coastal stability design.

import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
from IPython.display import display, Markdown, clear_output

# Gravity constant
g = 9.81

# Hallermeier (1978, 1981)
def hallermeier_inner(H_s, T_s):
    return 2.28 * H_s - 68.5 * (H_s**2 / (g * T_s**2))

def hallermeier_outer(H_s):
    return 1.75 * H_s

# Birkemeier (1985)
def birkemeier(H_s, T_s):
    return 1.57 * H_s - 0.005 * (H_s**2 / (g * T_s**2))

# Kraus et al. (1998)
def kraus(H_s, T_s):
    return 2.28 * H_s - 68.5 * (H_s**2 / (g * T_s**2))

# Interactive function
def interactive_doc(H_s, T_s):
    doc_hi = hallermeier_inner(H_s, T_s)
    doc_ho = hallermeier_outer(H_s)
    doc_bi = birkemeier(H_s, T_s)
    doc_kr = kraus(H_s, T_s)

    methods = ['Hallermeier Inner', 'Hallermeier Outer', 'Birkemeier', 'Kraus et al.']
    values = [doc_hi, doc_ho, doc_bi, doc_kr]

    clear_output(wait=True)
    display(Markdown(f"""
### 🌊 Depth of Closure Estimates
- **Hallermeier Inner**: `{doc_hi:.2f}` m  
- **Hallermeier Outer**: `{doc_ho:.2f}` m  
- **Birkemeier**: `{doc_bi:.2f}` m  
- **Kraus et al.**: `{doc_kr:.2f}` m
"""))

    plt.figure(figsize=(8, 4))
    plt.bar(methods, values, color='skyblue')
    plt.ylabel('Depth of Closure (m)')
    plt.title('Depth of Closure by Method')
    plt.xticks(rotation=45)
    plt.grid(axis='y', linestyle='--', alpha=0.7)
    plt.show()

# Widgets
wave_height_slider = widgets.FloatSlider(value=2.0, min=0.5, max=5.0, step=0.1, description='Wave Height (m)')
wave_period_slider = widgets.FloatSlider(value=8.0, min=4.0, max=12.0, step=0.5, description='Wave Period (s)')

ui = widgets.VBox([wave_height_slider, wave_period_slider])
out = widgets.interactive_output(interactive_doc, {
    'H_s': wave_height_slider,
    'T_s': wave_period_slider
})

display(ui, out)

3. Self-Assessment#

Conceptual Understanding of Depth of Closure#

  1. Define wave runup.
    Why is predicting runup height important in coastal engineering?

  2. Key Parameters
    What are the three main parameters used in most empirical runup models?

  3. Formula Interpretation
    In the general empirical formula
    [ R = C \left( a \beta \sqrt{HL} + \sqrt{ \frac{HL (b \beta^2 + c)}{2} } \right) ]
    what do the two terms inside the brackets represent physically?

  4. Energy Representation
    Why is the product ( H \times L ) used in estimating runup energy?

  5. Coefficient Meaning
    What does the coefficient ( C ) generally reflect in each model?

  6. Conceptual Understanding

  • What does “depth of closure” refer to in coastal morphodynamics, and why is it important?

  • Which two input parameters are required for calculating depth of closure in most empirical formulas in your code?

  • Why is gravity g explicitly included in the formulations for Hallermeier, Birkemeier, and Kraus methods?

Quiz: Depth of Closure#

from jupyterquiz import display_quiz

quiz = [
    {
        "question": "Which two methods use the same formula for depth of closure?",
        "type": "many_choice",
        "answers": [
            {"answer": "Hallermeier Inner & Kraus", "correct": True, "feedback": "✅ Correct! They share the same structure."},
            {"answer": "Hallermeier Outer & Birkemeier", "correct": False, "feedback": "❌ Not quite."},
            {"answer": "Birkemeier & Kraus", "correct": False, "feedback": "❌ These differ in coefficients."}
        ]
    },
    {
        "question": "What does the term Hs² / (g × Ts²) represent?",
        "type": "many_choice",
        "answers": [
            {"answer": "Wave orbital energy", "correct": True, "feedback": "✅ Yes! It reflects wave energy at depth."},
            {"answer": "Sediment porosity", "correct": False, "feedback": "❌ Not related to porosity."},
            {"answer": "Tidal range", "correct": False, "feedback": "❌ Tidal range is not part of this term."}
        ]
    }
]

display_quiz(quiz)