The Elwha Project (FERC P-2683) and Glines Canyon Project (FERC P-588) were two hydroelectric dams on the Elwha River that were barriers to salmon and whitewater recreation. Built in the early 1900s, prior to the establishment of Olympic National Park, the 108-foot high Elwha Dam and 210-foot high Glines Canyon Dam blocked the Elwha River's once-legendary salmon runs for nearly a century. Removing the dams frees the Elwha River and now allows all five kinds of Pacific salmon, plus steelhead, sea-run cutthroat and bull trout, to return to more than 70 miles of high-quality habitat including 87% of the watershed protected within Olympic National Park.

Recreational users can experience a free-flowing river all the way from the wilderness backcountry of the Grand Canyon of the Elwha to the ocean. The lower dam buried a section of river with a gradient of approximately 38'/mile while the section behind the upper dam is 90'/mile. With access to high quality habitat, salmon populations are anticipated to grow from their current levels of approximately 3000 fish to as many as 400,000 fish. For the Lower Elwha Klallam Tribe, who have lived along the river since time immemorial, the returning salmon and restored river bring cultural renewal. And as reservoir disappeared, tribal members regained access to sacred sites that were inundated, allowing cultural traditions to be reborn.

American Whitewater has actively supported this restoration effort since becoming directly engaged in 1992 with local member involvement prior to that. While the dams were important in the economic development of the Olympic Peninsula, they produced a very small amount of energy relative to their environmental impact. In 1992 the Elwha River Restoration Act was passed and authorized the Secretary of Interior to acquire and remove the two dams and restore the ecosystem and native anadromous fisheries. Appropriations of $29.5 million from the Land and Water Conservation Fund between 1996-1998 enabled the federal government to acquire the dam and facilities as well as 1200 acres surrounding the Aldwell Reservoir and 40 acres around the Mills Reservoir from James River Corporation in 2000. It took another decade to secure funding for the project.

For more information on this landmark project including announcements, news releases, photos, project updates and more, visit Olympic National Park's Elwha River restoration page, or join Elwha River Restoration on Facebook.

Join AW and support river stewardship nationwide!
7.4.3PHP Version557msRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (35.9ms)
    • Application (521ms)
    • 1 x Application (93.55%)
      521ms
      1 x Booting (6.44%)
      35.90ms
      14 templates were rendered
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • app::layout.gadget (resources/views/layout/gadget.blade.php)2blade
        Params
        0
        contents
        1
        formRenderService
      • layout.columnstyle.one (resources/views/layout/columnstyle/one.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.columnstyle.componentstack (resources/views/layout/columnstyle/componentstack.blade.php)9blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        stack
        8
        component
      • layout.main (resources/views/layout/main.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._headers (resources/views/layout/_headers.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.header (resources/views/layout/header.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._scripts (resources/views/layout/_scripts.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.navigation (resources/views/layout/navigation.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • includes.alert.membership (resources/views/includes/alert/membership.blade.php)17blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
        15
        shouldNotifyUser
        16
        user
      • navigation.menu.static (resources/views/navigation/menu/static.blade.php)15blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
      • includes.footer (resources/views/includes/footer.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • layout.pagemap (resources/views/layout/pagemap.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      uri
      GET content/{url}
      middleware
      web
      controller
      App\Http\Controllers\Wh2oController@content
      namespace
      App\Http\Controllers
      where
      as
      generated::7S3RnBZOjVwYvccb
      file
      app/Http/Controllers/Wh2oController.php:34-68
      4 statements were executed, 4 of which were duplicated, 0 unique7.61ms
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        620μs/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        460μs/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        1.05ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        5.48ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
          _token
          Fe6JzTQTYkOk1NZBufT2lI0eaa43TFjgAXRtHeIn
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/projects:40
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:15 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "host" => array:1 [ 0 => "beta.americanwhitewater.org" ] ]
          request_server
          0 of 0
          array:42 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_HOST" => "beta.americanwhitewater.org" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.americanwhitewater.org" "SERVER_PORT" => "443" "SERVER_ADDR" => "172.31.18.125" "REMOTE_PORT" => "55746" "REMOTE_ADDR" => "18.191.32.71" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => true "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/opt/americanwhitewater.org/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/content/Wiki/projects:40" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "PHP_VALUE" => "post_max_size=20M" "SCRIPT_FILENAME" => "/opt/americanwhitewater.org/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744723151.3332 "REQUEST_TIME" => 1744723151 ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 15 Apr 2025 13:19:11 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IitZazd4TUsvcHhtekJ2bzZtRFhDZmc9PSIsInZhbHVlIjoiQzJ5d0NOVUwzWFRyQzVPd28yNWF4RlRkeDVHWnZ1SlgrcDNjbVlwOHJ4bWJIN1VqZHFQY0FDRGpCMTRXdEljd2xrZEowaU9YSDBhczVlckxXbGdjcWVzZWJDV3gyZDN6UWVYMkhNcVpZTTUwREc4ZVRHdFZYTzVRNFBHZDlzcjAiLCJtYWMiOiJmODY5YzBmYjJmNGQ0ZDMxZmRiZTUxN2YzNWJmYzE4ZWVmNjJlMTFhNTgyZDhmNTc5ZDlmY2NjN2FiYWY3MmIwIn0%3D; expires=Tue, 15-Apr-2025 15:19:11 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6IitZazd4TUsvcHhtekJ2bzZtRFhDZmc9PSIsInZhbHVlIjoiQzJ5d0NOVUwzWFRyQzVPd28yNWF4RlRkeDVHWnZ1SlgrcDNjbVlwOHJ4bWJIN1VqZHFQY0FDRGpCMTRXdEljd2xrZEowa" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InNiREFyUHUzVCt5MDBIQUpjYkdIaXc9PSIsInZhbHVlIjoiZTk3dUJmWEJYZHN3cURHUUVPNzBhSVdhZ3RpZVhnZTQzbkpYaHllRld3Z1Q4Z01xT2lhaXdhUmlndmd1Ly9aZiIsIm1hYyI6IjBhZjRiYzNlOTFlZDU1YzQwNWQ4NmVmMDlmMGQ5YzhhYmEwZmU1ZDdmZTNmZDM5MDJkMDQwZTU5Y2IxMDQ0YzQifQ%3D%3D; expires=Tue, 15-Apr-2025 13:18:11 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InNiREFyUHUzVCt5MDBIQUpjYkdIaXc9PSIsInZhbHVlIjoiZTk3dUJmWEJYZHN3cURHUUVPNzBhSVdhZ3RpZVhnZTQzbkpYaHllRld3Z1Q4Z01xT2lha" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IitZazd4TUsvcHhtekJ2bzZtRFhDZmc9PSIsInZhbHVlIjoiQzJ5d0NOVUwzWFRyQzVPd28yNWF4RlRkeDVHWnZ1SlgrcDNjbVlwOHJ4bWJIN1VqZHFQY0FDRGpCMTRXdEljd2xrZEowaU9YSDBhczVlckxXbGdjcWVzZWJDV3gyZDN6UWVYMkhNcVpZTTUwREc4ZVRHdFZYTzVRNFBHZDlzcjAiLCJtYWMiOiJmODY5YzBmYjJmNGQ0ZDMxZmRiZTUxN2YzNWJmYzE4ZWVmNjJlMTFhNTgyZDhmNTc5ZDlmY2NjN2FiYWY3MmIwIn0%3D; expires=Tue, 15-Apr-2025 15:19:11 GMT; path=/XSRF-TOKEN=eyJpdiI6IitZazd4TUsvcHhtekJ2bzZtRFhDZmc9PSIsInZhbHVlIjoiQzJ5d0NOVUwzWFRyQzVPd28yNWF4RlRkeDVHWnZ1SlgrcDNjbVlwOHJ4bWJIN1VqZHFQY0FDRGpCMTRXdEljd2xrZEowa" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InNiREFyUHUzVCt5MDBIQUpjYkdIaXc9PSIsInZhbHVlIjoiZTk3dUJmWEJYZHN3cURHUUVPNzBhSVdhZ3RpZVhnZTQzbkpYaHllRld3Z1Q4Z01xT2lhaXdhUmlndmd1Ly9aZiIsIm1hYyI6IjBhZjRiYzNlOTFlZDU1YzQwNWQ4NmVmMDlmMGQ5YzhhYmEwZmU1ZDdmZTNmZDM5MDJkMDQwZTU5Y2IxMDQ0YzQifQ%3D%3D; expires=Tue, 15-Apr-2025 13:18:11 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InNiREFyUHUzVCt5MDBIQUpjYkdIaXc9PSIsInZhbHVlIjoiZTk3dUJmWEJYZHN3cURHUUVPNzBhSVdhZ3RpZVhnZTQzbkpYaHllRld3Z1Q4Z01xT2lha" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "Fe6JzTQTYkOk1NZBufT2lI0eaa43TFjgAXRtHeIn" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]