Small Hydro: Low Power, Big Problems

The threat of big dam construction has largely drawn to a close in the continental U.S. There is an increasing threat of small hydropower dams on high gradient streams and creeks, which many boaters cherish for the challenge, aesthetics, water quality and sense of wildness. The International Small-Hydro Atlas has identified 539 undeveloped sites in Washington State and another 481 sites in British Columbia. There are currently around 400 applications for power generation on creeks and rivers in BC. An additional 662 sites have been identified in the neighboring states of Alaska, Oregon, and Idaho, and many more have been discovered all across the globe. American Whitewater has fought plans to dewater Canyon, Clearwater, and Martin Creeks in Washington as well as Boundary Creek in Idaho.

Small hydro projects rely on a dam diverting water from the river channel into a tunnel or canal contouring along the mountainside. Contouring the water along the mountainside enables the project to maximize the elevational difference (referred to as “head”) between the powerhouse and the canal. The higher the “head” the more electricity is produced from the spinning turbines. In order to maximize electrical production hydro engineers design lengthy canal systems transporting water 10 to 15 miles before dropping it to a powerhouse located adjacent to the river channel. Because development of small hydro projects incurs considerable initial capital costs supplied by investors there is a strong incentive to maximize energy production which in turn maximizes profits. The end result is projects engineered that capitalize on diverting as much water as possible from the river channel.

Small Hydro developers describe their projects as benign because comparatively small hydro dams (they refer to them as weirs) are small relative to the massive height of large-scale dams and huge volume of water used. Size doesn't matter when it comes to hydropower impacts. The scale of the ecological impacts to river systems can be quantified based on the percentage of water diverted and the length of the dewatered channel. For whitewater boaters small hydro projects can be devastating. These projects dewater significant stretches of the river channel often times targeting the steepest sections for dewatering—-the very sections that attract creek boaters.

American Whitewater fights construction of small hydro projects by working with local boaters and clubs. We provide advice and typically devote a staff member to work directly on the project. American Whitewater is lending support to our Canadian neighbors where possible.

Video Overview of Small Hydro


Watch the Video where Roy McPure discusses Small Hydro
A production of the Hydropower Reform Coalition

American Whitewater in the News

Join AW and support river stewardship nationwide!
7.4.3PHP Version643msRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (77.95ms)
    • Application (565ms)
    • 1 x Application (87.87%)
      565ms
      1 x Booting (12.12%)
      77.95ms
      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::Os9R4mqMKRF5ktoI
      file
      app/Http/Controllers/Wh2oController.php:34-68
      4 statements were executed, 4 of which were duplicated, 0 unique12.77ms
      • 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
        5.38ms/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
        4.77ms/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
        770μ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
        1.85ms/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
          TU32B5nzDogey8X6fHVLYA3VEUFYNr7oE7ugRA9Z
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/stewardship:small_hydro
          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" => "6133" "REMOTE_ADDR" => "18.218.183.7" "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/stewardship:small_hydro" "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" => 1744315177.0211 "REQUEST_TIME" => 1744315177 ]
          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 => "Thu, 10 Apr 2025 19:59:37 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Im5KZExCWDlTSlFKc041amFQdHg3TGc9PSIsInZhbHVlIjoiaWoxVGl3Rmp0bzNZQ3NJbkpwZ0h2cFA5VGExbVNna1JndFRGN2N5MGVTVXBkc01HbGxrUmRnOUxjWVV6WHgxVDcrbG8xcjNSNitCYndGTFJmNDl3YUp3c2pYenFhbVR3a0pNWFgrelFoRDVXVWtGMzVmN1NqdkE1MnVlUFFaa1EiLCJtYWMiOiIxMTBlOTlkNjVhMzFmZTgxMmI4N2EyMmJlNjU1ZmVmYjIxZDhjNWVkMTg1ZDNhOWQ5MDQ2MzEyNjEwNzNmMmIwIn0%3D; expires=Thu, 10-Apr-2025 21:59:37 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6Im5KZExCWDlTSlFKc041amFQdHg3TGc9PSIsInZhbHVlIjoiaWoxVGl3Rmp0bzNZQ3NJbkpwZ0h2cFA5VGExbVNna1JndFRGN2N5MGVTVXBkc01HbGxrUmRnOUxjWVV6WHgxVDcrbG8xc" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldlcllSV3ZRZHZKU0I4dmpSNHo0Wnc9PSIsInZhbHVlIjoiSmtybXFPRFhjYnlPL3NjaHhIVmQ5MGVubjBKVUJhQlJwWFE4RTNLa1JTdWR0OFpYcDM0WlBqQXBRdzhFMGVwaiIsIm1hYyI6IjFkNzUyYzhkYzRhNzAxYTE3OWRlMDlmMTliNDQzYzgwMzZkMjc4YjI0N2RiMGNkOTFmMjNhNjE1Mzc1OTE5ZGIifQ%3D%3D; expires=Thu, 10-Apr-2025 19:58:37 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldlcllSV3ZRZHZKU0I4dmpSNHo0Wnc9PSIsInZhbHVlIjoiSmtybXFPRFhjYnlPL3NjaHhIVmQ5MGVubjBKVUJhQlJwWFE4RTNLa1JTdWR0OFpYcDM0W" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Im5KZExCWDlTSlFKc041amFQdHg3TGc9PSIsInZhbHVlIjoiaWoxVGl3Rmp0bzNZQ3NJbkpwZ0h2cFA5VGExbVNna1JndFRGN2N5MGVTVXBkc01HbGxrUmRnOUxjWVV6WHgxVDcrbG8xcjNSNitCYndGTFJmNDl3YUp3c2pYenFhbVR3a0pNWFgrelFoRDVXVWtGMzVmN1NqdkE1MnVlUFFaa1EiLCJtYWMiOiIxMTBlOTlkNjVhMzFmZTgxMmI4N2EyMmJlNjU1ZmVmYjIxZDhjNWVkMTg1ZDNhOWQ5MDQ2MzEyNjEwNzNmMmIwIn0%3D; expires=Thu, 10-Apr-2025 21:59:37 GMT; path=/XSRF-TOKEN=eyJpdiI6Im5KZExCWDlTSlFKc041amFQdHg3TGc9PSIsInZhbHVlIjoiaWoxVGl3Rmp0bzNZQ3NJbkpwZ0h2cFA5VGExbVNna1JndFRGN2N5MGVTVXBkc01HbGxrUmRnOUxjWVV6WHgxVDcrbG8xc" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldlcllSV3ZRZHZKU0I4dmpSNHo0Wnc9PSIsInZhbHVlIjoiSmtybXFPRFhjYnlPL3NjaHhIVmQ5MGVubjBKVUJhQlJwWFE4RTNLa1JTdWR0OFpYcDM0WlBqQXBRdzhFMGVwaiIsIm1hYyI6IjFkNzUyYzhkYzRhNzAxYTE3OWRlMDlmMTliNDQzYzgwMzZkMjc4YjI0N2RiMGNkOTFmMjNhNjE1Mzc1OTE5ZGIifQ%3D%3D; expires=Thu, 10-Apr-2025 19:58:37 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldlcllSV3ZRZHZKU0I4dmpSNHo0Wnc9PSIsInZhbHVlIjoiSmtybXFPRFhjYnlPL3NjaHhIVmQ5MGVubjBKVUJhQlJwWFE4RTNLa1JTdWR0OFpYcDM0W" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "TU32B5nzDogey8X6fHVLYA3VEUFYNr7oE7ugRA9Z" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]