Columbia River Dam Operations

Hourly and daily operations of Columbia and Snake River hydro projects, including Bonneville Dam (BON), Grand Coulee, Chief Joseph, McNary, John Day, The Dalles, Ice Harbor and Lower Granite, from the Corps' Dataquery: forebay and tailwater elevation, outflow, spill, turbine flow, generation (MW), inflow and storage, one row per CWMS series and time.

One row per
CWMS series x time
Hourly cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Point-in-time records
UTC · event_time

Overview

Query contract
Preserve one canonical row per (ts_id, event_time) before aggregating.
Analysis rules
A project is location_id, the Corps' code, never its name: GCL Grand Coulee, CHJ Chief Joseph, WEL Wells, RRH Rocky Reach, RIS Rock Island, WAN Wanapum, PRD Priest Rapids, LWG Lower Granite, IHR Ice Harbor, MCN McNary, JDA John Day, TDA The Dalles, BON Bonneville. Any other name resolves through usace_nwd.timeseries_registry.location_name.Filter one ts_id, or one (location_id, parameter, version); CBT-REV and CBT-RAW versions of a measure are both kept, so prefer CBT-REV.
Interpretation
Freshness is per project, parameter and series, never the newest row in the whole table or ingested_at. Power can stop upstream while flow and elevation continue. For current MW rank only projects with non-null Power within three hours, at a common observation hour; disclose missing projects. Flow-Gen is turbine flow, not MW, and cannot substitute for a dam-output ranking.Fish spill caps and targets are constraints or targets, not measured spill or a required minimum. Preserve the series version and its TDG threshold; do not mix TargetTDG115/120/125. A missing or seasonal series is unknown, not no constraint. A cap alone does not establish that fish passage caused a generation change.

Access

Download
Query it in SQL, download it, or read it with an API key. Download data
MCP
Connect an MCP client and load the contract with describe_data before calling query_data.BPA MCPAPI reference
HTTP endpoint
POST /api/v1/datasets/usace_nwd_project_timeseries/query
Full history
Delivered to Snowflake, Databricks or your own storage on a schedule by Data services.
More coverage

Schema

12 columns
ColumnType
event_timeDateTime64(6, 'UTC')
ts_idLowCardinality(String)
location_idLowCardinality(String)
parameterLowCardinality(String)
parameter_typeLowCardinality(String)
ts_intervalLowCardinality(String)
ts_durationLowCardinality(String)
versionLowCardinality(String)
valueNullable(Float64)
unitLowCardinality(Nullable(String))
quality_codeNullable(Int32)
ingested_atDateTime64(6, 'UTC')

Sample data

event_timets_idlocation_idparameterparameter_typets_intervalts_durationversionvalueunitquality_codeingested_at
2026-11-04 03:00:00.000000TDA.Flow-Spill.Ave.1Hour.1Hour.CBT-REVTDAFlow-SpillAve1Hour1HourCBT-REV0kcfs02026-11-04 03:26:57.167150
2026-11-04 03:00:00.000000TDA.Flow-Gen.Ave.1Hour.1Hour.CBT-RAWTDAFlow-GenAve1Hour1HourCBT-RAW104kcfs02026-11-04 03:26:57.167150
2026-11-04 03:00:00.000000TDA.Elev-Tailwater.Inst.1Hour.0.CBT-REVTDAElev-TailwaterInst1Hour0CBT-REV77.39ft02026-11-04 03:26:57.167150
2026-11-04 03:00:00.000000TDA.Flow-Gen.Ave.1Hour.1Hour.CBT-REVTDAFlow-GenAve1Hour1HourCBT-REV104kcfs02026-11-04 03:26:57.167150
2026-11-04 03:00:00.000000TDA.Flow-Out.Ave.1Hour.1Hour.CBT-REVTDAFlow-OutAve1Hour1HourCBT-REV109.8kcfs02026-11-04 03:26:57.167150
2026-11-04 03:00:00.000000TDA.Elev-Forebay.Inst.1Hour.0.CBT-REVTDAElev-ForebayInst1Hour0CBT-REV159.24ft02026-11-04 03:26:57.167150
2026-11-04 03:00:00.000000TDA.Flow-Spill.Ave.1Hour.1Hour.CBT-REVTDAFlow-SpillAve1Hour1HourCBT-REV0kcfs02026-11-04 04:27:02.199950
2026-11-04 03:00:00.000000TDA.Flow-Gen.Ave.1Hour.1Hour.CBT-RAWTDAFlow-GenAve1Hour1HourCBT-RAW104kcfs02026-11-04 04:27:02.199950
2026-11-04 03:00:00.000000TDA.Elev-Tailwater.Inst.1Hour.0.CBT-REVTDAElev-TailwaterInst1Hour0CBT-REV77.39ft02026-11-04 04:27:02.199950
2026-11-04 03:00:00.000000TDA.Flow-Gen.Ave.1Hour.1Hour.CBT-REVTDAFlow-GenAve1Hour1HourCBT-REV104kcfs02026-11-04 04:27:02.199950
2026-11-04 03:00:00.000000TDA.Flow-Out.Ave.1Hour.1Hour.CBT-REVTDAFlow-OutAve1Hour1HourCBT-REV109.8kcfs02026-11-04 04:27:02.199950
2026-11-04 03:00:00.000000TDA.Elev-Forebay.Inst.1Hour.0.CBT-REVTDAElev-ForebayInst1Hour0CBT-REV159.24ft02026-11-04 04:27:02.199950
2026-11-04 02:00:00.000000HGH.Flow-Gen.Ave.1Hour.1Hour.CBT-REVHGHFlow-GenAve1Hour1HourCBT-REV2.7kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000HGH.Elev-Forebay.Inst.1Hour.0.CBT-REVHGHElev-ForebayInst1Hour0CBT-REV3538.99ft02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000LIB.Flow-In.Ave.1Hour.1Hour.CENWS-COMPUTED-RAWLIBFlow-InAve1Hour1HourCENWS-COMPUTED-RAW8.759248kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000LIB.Flow-Out.Ave.1Hour.1Hour.CBT-REVLIBFlow-OutAve1Hour1HourCBT-REV14kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000HCR.Flow-Out.Ave.1Hour.1Hour.BestHCRFlow-OutAve1Hour1HourBest450cfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000LIB.Flow-Spill.Ave.1Hour.1Hour.CBT-REVLIBFlow-SpillAve1Hour1HourCBT-REV0kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000WAN.Flow-Out.Ave.1Hour.1Hour.CBT-REVWANFlow-OutAve1Hour1HourCBT-REV109.3kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000TDA.Elev-Forebay.Inst.1Hour.0.CBT-REVTDAElev-ForebayInst1Hour0CBT-REV159.28ft02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000GCL.Flow-Spill.Ave.1Hour.1Hour.CBT-REVGCLFlow-SpillAve1Hour1HourCBT-REV0kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000HGH.Elev-Tailwater.Inst.1Hour.0.CBT-REVHGHElev-TailwaterInst1Hour0CBT-REV3074.54ft02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000LIB.Flow-In.Ave.1Hour.0.NWSRADIO-COMPUTED-RAWLIBFlow-InAve1Hour0NWSRADIO-COMPUTED-RAW8.95012kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000WAN.Flow-Spill.Ave.1Hour.1Hour.CBT-REVWANFlow-SpillAve1Hour1HourCBT-REV0.711kcfs02026-11-04 03:26:57.167150
2026-11-04 02:00:00.000000RRH.Flow-Out.Ave.1Hour.1Hour.CBT-REVRRHFlow-OutAve1Hour1HourCBT-REV93.5kcfs02026-11-04 03:26:57.167150

Coverage

Complete
37.3%
Gap days
41,121
Days with data
24,415
Show coverage history
Coverage: 37.3%Days with data: 24,415Gaps: 41,121
2149
2148
2147
2146
2145
2144
2143
2142
2141
2140
2139
2138
2137
2136
2135
2134
2133
2132
2131
2130
2129
2128
2127
2126
2125
2124
2123
2122
2121
2120
2119
2118
2117
2116
2115
2114
2113
2112
2111
2110
2109
2108
2107
2106
2105
2104
2103
2102
2101
2100
2099
2098
2097
2096
2095
2094
2093
2092
2091
2090
2089
2088
2087
2086
2085
2084
2083
2082
2081
2080
2079
2078
2077
2076
2075
2074
2073
2072
2071
2070
2069
2068
2067
2066
2065
2064
2063
2062
2061
2060
2059
2058
2057
2056
2055
2054
2053
2052
2051
2050
2049
2048
2047
2046
2045
2044
2043
2042
2041
2040
2039
2038
2037
2036
2035
2034
2033
2032
2031
2030
2029
2028
2027
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
1982
1981
1980
1979
1978
1977
1976
1975
1974
1973
1972
1971
1970
gaplessmore