Hydrology: Collecting and Analyzing the Data

American Whitewater firmly believes flow (the timing, magnitude, frequency, duration and rate of change of a river) is the single most important factor for determining species distribution and ecological processes. Accordingly, American Whitewater carefully analyzes the hydrology of a river system including pre-project conditions (natural) verses post-project construction (regulated) conditions. This systematic analysis allows American Whitewater to objectively evaluate the impacts of the hydropower project on whitewater resources and propose recreational flows for the new license that mitigate lost opportunities but more importantly also perform ecological processes now eliminated by the dams regulation of flow. As a result, the magnitude and timing of American Whitewater's recreational flow proposals parallel natural flow conditions (pre-project).

The FERC requires the application for a new license to include existing hydrology information. Typically this hydrology information is limited to annual or monthly exceedence curves. Exceedence curves allow you to predict the percentage of time a given flow might occur in the channel based on a set record of hydrologic data for the project. These graphs are of limited value for developing instream flows for fisheries or recreation. Furthermore, the FERC regulations do not require the utility to provide information about the pre-project hydrology. Nonetheless, in collaborative relicense proceedings stakeholders are increasingly demanding utilities provide pre-project and regulated hydrologic data as well as perform comparative analysis between proposed instream flow alternatives and pre-project flows.

In collaborative proceedings and settlement negotiations American Whitewater requests the utility provide pre and post project hydrologic data as well as provide comparative analysis using analytical tools developed by Brian Richter from the Nature Conservancy. Richter's paper titled A Method for Assessing Hydrologic Alteration in Ecosystems breaks instream flows into five major components: magnitude, frequency, duration, timing and rate of change. These five components are further divided into thirty metrics. Collectively, these measures of the hydrograph interact to determine the ecological characteristics of river ecosystems. In a follow-up paper, How Much Water Does A River Need, Richter describes a procedure for evaluating alternative flow regimes based on deviations from the pre-project natural hydrograph. The assumption here is that native species evolved around the ecological characteristics of the river which in turn are set by the hydrology. Deviations from that natural hydrology will result in changes to the ecological characteristics and associated species. The analytical concepts presented in Richter's papers are available in an IHA software package by Smythe Scientific Software.

Sidebar: In 1998 American Whitewater was asked to participate in the fisheries technical work group for the Mokelumne Hydroelectric Project (FERC No. 137) located on the Mokelumne River in California. American Whitewater was representing a diverse group of organizations including river conservation groups, anglers and boaters all member groups of the California Hydropower Reform Coalition. The original license for the project had expired in 1972. Relicensing had been going on since before the expiration. Instream flows in multiple stream reaches dewatered by project operations were a principal issue preventing the group from reaching agreement. The fisheries technical work group directed PG&E to provide pre and post project hydrologic data for evaluating instream flow alternatives. American Whitewater's Conservation Director, John Gangemi, requested the analysis include the Index of Hydrologic Alteration (IHA) and the Range of Variability Approach. The U.S. Forest Service, a member of the fisheries group, was hesitant to use an unfamiliar analytical tool. The IHA software was forwarded to the U.S. Forest Service’s Stream Team located in Ft. Collins, Colorado. The stream team approved use of the IHA analysis. This was the first FERC relicense proceeding where IHA was used. The analysis helped the fisheries group reach consensus on instream flow recommendations for individual reaches. Since that initial application the U.S. Forest Service Region 6 (California) requires IHA analysis in all relicense proceedings.

Hydrologic Data Sources:

The U.S. Geological Survey (USGS) measures surface water discharge at sites across the country. The USGS also provides access to long-term hydrologic data sets. In California, the California Department of Water Resources is a good source for streamflow information. Other states and regions may have additional streamflow information.

7.4.3PHP Version1.08sRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (59.35ms)
    • Application (1.02s)
    • 1 x Application (94.5%)
      1.02s
      1 x Booting (5.5%)
      59.35ms
      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 unique1.26ms
      • 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
        450μ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
        280μ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
        310μ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
        220μ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
          _token
          Kfru5cCm7tPP8ia1rSqHTTJWuCoJRy2AfT0rXCqE
          page
          array:1 [ "count" => 9 ]
          PHPDEBUGBAR_STACK_DATA
          []
          _previous
          array:1 [ "url" => "https://beta.americanwhitewater.org/wiki/lib/exe/js.php?edit=0&write=0" ]
          _flash
          array:2 [ "old" => [] "new" => [] ]
          path_info
          /content/Wiki/stewardship:hydrology
          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:16 [ "cookie" => array:1 [ 0 => "PHPSESSID=2r5repc1psquudl5mdvtakbicb; XSRF-TOKEN=eyJpdiI6IjRjOURwSWtkbjNmRUN6N0luYUtoWWc9PSIsInZhbHVlIjoidFhySWZoWTQxYis1TVkxMk5XTk5LV2lyL3BYSnV0aHFNQy9SNGhpTndONEFGM3Z4dXFjUTVpNDdjMXVXWDgzVEcxUURjU1dqUVlQSzh6T1J4d2dVZitYQzRad3BJS0hMNGlRdzVwb1hBUlYra0EycjFXZ3NaYVJGbFZIOGJFS1giLCJtYWMiOiI3YTM5ODkzZWE0ZDJhN2RmNDY3ZWUzYTgwNWRkMWE1YTIzM2Q5M2UzOWZjNzBjZmI3NTc2ZGQ5OWNlYThlMWViIn0%3D; americanwhitewater_session=mOQeYzyQw8W5e6oaLzUMOy49AtLvQTWrXYIidIxBPHPSESSID=2r5repc1psquudl5mdvtakbicb; XSRF-TOKEN=eyJpdiI6IjRjOURwSWtkbjNmRUN6N0luYUtoWWc9PSIsInZhbHVlIjoidFhySWZoWTQxYis1TVkxMk5XTk5LV2lyL3BYSnV0aHFNQy9SNGhpTnd" ] "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:43 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_COOKIE" => "PHPSESSID=2r5repc1psquudl5mdvtakbicb; XSRF-TOKEN=eyJpdiI6IjRjOURwSWtkbjNmRUN6N0luYUtoWWc9PSIsInZhbHVlIjoidFhySWZoWTQxYis1TVkxMk5XTk5LV2lyL3BYSnV0aHFNQy9SNGhpTndONEFGM3Z4dXFjUTVpNDdjMXVXWDgzVEcxUURjU1dqUVlQSzh6T1J4d2dVZitYQzRad3BJS0hMNGlRdzVwb1hBUlYra0EycjFXZ3NaYVJGbFZIOGJFS1giLCJtYWMiOiI3YTM5ODkzZWE0ZDJhN2RmNDY3ZWUzYTgwNWRkMWE1YTIzM2Q5M2UzOWZjNzBjZmI3NTc2ZGQ5OWNlYThlMWViIn0%3D; americanwhitewater_session=mOQeYzyQw8W5e6oaLzUMOy49AtLvQTWrXYIidIxBPHPSESSID=2r5repc1psquudl5mdvtakbicb; XSRF-TOKEN=eyJpdiI6IjRjOURwSWtkbjNmRUN6N0luYUtoWWc9PSIsInZhbHVlIjoidFhySWZoWTQxYis1TVkxMk5XTk5LV2lyL3BYSnV0aHFNQy9SNGhpTnd" "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" => "47691" "REMOTE_ADDR" => "3.137.153.39" "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:hydrology" "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" => 1744251678.8556 "REQUEST_TIME" => 1744251678 ]
          request_cookies
          0 of 0
          array:3 [ "PHPSESSID" => null "XSRF-TOKEN" => "Kfru5cCm7tPP8ia1rSqHTTJWuCoJRy2AfT0rXCqE" "americanwhitewater_session" => null ]
          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 02:21:19 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkJDclRtVVpHbi9hQXBtb2cyUmVIUkE9PSIsInZhbHVlIjoiT1d2cHd0MG83YXpMUHZ6cnNTaTl2WHQ3YVlUcGdlR2NxNVNMdVRSR21RSDBXUGp2TTkxNU8wZGhvUWdtRzg5MkViYW5Jc3dia1gxQk0yVk16WDdBR1dEcW5JL3A5aTczS0JERkgyUVdyVFZ6M09RMm9Yei9xWW1GZjBOZFl6NkIiLCJtYWMiOiI4NzI2MmY0YTBhYTNjY2JhYTI0N2YzMjlkZGY0OTcxMTRhNGJkNDNhOWY0ODJjZmEyMWYwMWEzNzJjNWNiNzg0In0%3D; expires=Thu, 10-Apr-2025 04:21:19 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6IkJDclRtVVpHbi9hQXBtb2cyUmVIUkE9PSIsInZhbHVlIjoiT1d2cHd0MG83YXpMUHZ6cnNTaTl2WHQ3YVlUcGdlR2NxNVNMdVRSR21RSDBXUGp2TTkxNU8wZGhvUWdtRzg5MkViYW5Jc" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IklRU1RKUkJ0eDdhZ2FQV2x6eWtoNlE9PSIsInZhbHVlIjoiN09xcTEzN1JJTDF1bmFybStFUElqdlE1TytsQjlLOHZrajlSV0JFNm5TRTdxVFdWYnRtVVFFNlE3V2dBTnUxSiIsIm1hYyI6IjE1Y2M2ZDA3Y2Q5MDExOGI3MjY4YzUyOWZhOWFlYjQzNTY3ZGYwY2Y4YjEzMGY4YWJhNTFiMGY3ZjRkNzJlYzMifQ%3D%3D; expires=Thu, 10-Apr-2025 02:20:19 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IklRU1RKUkJ0eDdhZ2FQV2x6eWtoNlE9PSIsInZhbHVlIjoiN09xcTEzN1JJTDF1bmFybStFUElqdlE1TytsQjlLOHZrajlSV0JFNm5TRTdxVFdWYnRtV" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkJDclRtVVpHbi9hQXBtb2cyUmVIUkE9PSIsInZhbHVlIjoiT1d2cHd0MG83YXpMUHZ6cnNTaTl2WHQ3YVlUcGdlR2NxNVNMdVRSR21RSDBXUGp2TTkxNU8wZGhvUWdtRzg5MkViYW5Jc3dia1gxQk0yVk16WDdBR1dEcW5JL3A5aTczS0JERkgyUVdyVFZ6M09RMm9Yei9xWW1GZjBOZFl6NkIiLCJtYWMiOiI4NzI2MmY0YTBhYTNjY2JhYTI0N2YzMjlkZGY0OTcxMTRhNGJkNDNhOWY0ODJjZmEyMWYwMWEzNzJjNWNiNzg0In0%3D; expires=Thu, 10-Apr-2025 04:21:19 GMT; path=/XSRF-TOKEN=eyJpdiI6IkJDclRtVVpHbi9hQXBtb2cyUmVIUkE9PSIsInZhbHVlIjoiT1d2cHd0MG83YXpMUHZ6cnNTaTl2WHQ3YVlUcGdlR2NxNVNMdVRSR21RSDBXUGp2TTkxNU8wZGhvUWdtRzg5MkViYW5Jc" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IklRU1RKUkJ0eDdhZ2FQV2x6eWtoNlE9PSIsInZhbHVlIjoiN09xcTEzN1JJTDF1bmFybStFUElqdlE1TytsQjlLOHZrajlSV0JFNm5TRTdxVFdWYnRtVVFFNlE3V2dBTnUxSiIsIm1hYyI6IjE1Y2M2ZDA3Y2Q5MDExOGI3MjY4YzUyOWZhOWFlYjQzNTY3ZGYwY2Y4YjEzMGY4YWJhNTFiMGY3ZjRkNzJlYzMifQ%3D%3D; expires=Thu, 10-Apr-2025 02:20:19 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IklRU1RKUkJ0eDdhZ2FQV2x6eWtoNlE9PSIsInZhbHVlIjoiN09xcTEzN1JJTDF1bmFybStFUElqdlE1TytsQjlLOHZrajlSV0JFNm5TRTdxVFdWYnRtV" ] ]
          session_attributes
          0 of 0
          array:5 [ "_token" => "Kfru5cCm7tPP8ia1rSqHTTJWuCoJRy2AfT0rXCqE" "page" => array:1 [ "count" => 9 ] "PHPDEBUGBAR_STACK_DATA" => [] "_previous" => array:1 [ "url" => "https://beta.americanwhitewater.org/wiki/lib/exe/js.php?edit=0&write=0" ] "_flash" => array:2 [ "old" => [] "new" => [] ] ]