Course of the Willamette River

The Willamette River is a 187 mi tributary of the Columbia River in the U.S. state of Oregon. The upper tributaries of the Willamette originate in mountains south and southeast of the twin cities of Eugene and Springfield. Formed by the confluence of the Middle Fork Willamette River and Coast Fork Willamette River near Springfield, the main stem meanders generally north from source to mouth. The river's two most significant course deviations occur at Newberg, where the stream turns sharply east, and about 18 mi downriver from Newberg, where it turns north again. Near its mouth, the river splits into two channels that flow around Sauvie Island. The main channel enters the Columbia about 101 mi from the larger stream's mouth on the Pacific Ocean, and the smaller Multnomah Channel enters the Columbia about 14.5 mi further downstream near St. Helens in Columbia County.

Incorporated Cities along the Willamette's course include Springfield and Eugene in Lane County; Harrisburg in Linn County; Corvallis in Benton County; Albany in Linn and Benton counties; Independence in Polk County; Salem in Marion and Polk Counties; Keizer in Marion County; Newberg in Yamhill County; Oregon City, West Linn, Milwaukie, and Lake Oswego in Clackamas County (Small portions of the later two extend into Multnomah County), and Portland in Multnomah County. (Parts of Portland are also in Washington County, but the Willamette never makes contact with Washington County.) Significant tributaries include the McKenzie, Long Tom, Marys, Calapooia, Santiam, Luckiamute, Yamhill, Molalla, Tualatin, and Clackamas rivers.

Arising at 438 ft above sea level, the river loses 428 ft in elevation between source and mouth or about 2.3 feet per mile (43 cm per km). The gradient is slightly steeper from the source to Albany than from Albany to Oregon City. At Willamette Falls, the river plunges about 40 ft. For the rest of its course, the river is extremely low-gradient and is influenced by Pacific Ocean tidal effects from the Columbia. The main stem of the Willamette varies in width from about 330 to 660 ft.

Contributing forks
The Middle Fork and the North Fork&mdash;a tributary of the Middle Fork&mdash;rise on the western side of the Cascades between Three Sisters Wilderness on the north and Diamond Peak Wilderness on the south. Originating in Douglas County, the Middle Fork receives the North Fork northwest of Oakridge in Lane County and flows northwest through the mountains to the southern end of the Willamette Valley. The Coast Fork, draining part of the Calapooya Mountains south of Cottage Grove and part of the eastern slopes of the Oregon Coast Range, begins in Douglas County and flows north to join the Middle Fork about 3 mi southeast of Eugene. The elevation at the source of the mainstem Willamette is 438 ft above sea level.

Eugene–Springfield to Albany
At the Willamette's source, the confluence of the two forks, is on the right and Franklin Boulevard is on the left. Interstate 5 (I-5), co-terminous with Oregon Route 99 (Pacific Highway), is also on the left bank slightly further from the river than Franklin Boulevard. For its first 2 mi, the river flows north. It passes Willamette Heights Park, which is on the right, then enters the city of Springfield. The river then flows under a Southern Pacific Railroad bridge and under a bridge carrying Business Route 126 (Main Street); Millrace Park is on the upstream side of the second bridge, and Island Park is on the downstream side, both on the right. The unincorporated community of Glenwood is on the left.

Turning sharply west at river mile (RM) 185 or river kilometer (RK) 298, the river flows by West D Street Greenway in Springfield, which is on the right, before passing under I-5 and turning northwest and entering Eugene. On the river's right beyond I-5 is Alton Baker Park, and on the left is Route 99, coterminous with Business Route 126. Along this stretch, the Willamette flows under the Knickerbocker Bicycle Bridge, the Dave and Lynn Frohnmayer Pedestrian and Bicycle Bridge (formerly the Autzen Bicycle Bridge), and the Peter DeFazio Bridge before reaching the Ferry Street Bridge, which carries Coburg Road. The river then passes Skinner Butte Park, which is on the left, and under Interstate 105 (I-105). Turning north, the river flows between East Bank Park on the right and West Bank Park on the left and passes under the Greenway Bike Bridge and then the Owosso Bike Bridge before passing under Oregon Route 569 (Beltline Highway) and leaving the city. Just downstream of the highway, Dedrick Slough enters from the right and then Dodson Slough, also from the right, before the river flows around Confluence Island and receives the McKenzie River from the right north of Eugene and 175 mi from the Willamette's mouth.

Meandering north, the river receives Spring Creek from the left about 4 mi later, then flows around Marshall Island before reaching Linn County at about RM 167 (RK 269). For about the next 7 mi, the river forms the boundary between Lane County on the left and Linn County on the right. Curtis Slough enters from the right about 163 mi from the mouth, where the river passes under bridges carrying the Southern Pacific and BNSF railways. The Willamette passes under U.S. Route 99E at RM 161 (RK 259) at Harrisburg, which is on the right. A United States Geological Survey (USGS) stream gauge, is on the right just beyond the highway bridge.

Downstream of RM 160 (RK 260), the Willamette stops being the border between Lane and Linn counties, flows for about 1 mi entirely in Linn County, then becomes the border between Linn County on the right and Benton County on the left. McCartney County Park straddles the river about 156 mi from the mouth, and Ingram Slough enters from the left at the northern end of Ingram Island, about 2 mi further downstream. Below this confluence, Anderson County Park is on the left. As the river curves around Irish Bend, Irish Bend County Park is on the left, and then Long Tom River enters from the left at Norwood Island, near RM 149 (RK 240). Meandering around Sam Daws Bend, the river splits to go around Hoacum Island. The main channel, rounding Snag Boat Bend, is re-joined by the side channel and arrives at Peoria, which is on the right. At this location, Peoria County Park is on the right.

Below Peoria, the river subdivides at about 140 mi from the mouth to form a complex set of linked sloughs and channels that flow around islands&mdash;McBee, Baker, Bear, John Smith, Centennial, Horseshoe, Kiger, Stahlbusch, and Fischer&mdash;before re-joining about 7 mi downstream near Corvallis. In this stretch, the east channel of the river receives Muddy Creek from the right, and the main channel flows by Willamette Park and the Crystal Lake Sports Fields and Kendall Natural Area, all in Corvallis, on the river's left. Marys River enters from the left at about RM 132 (RK 212), at the Pioneer Boat Basin City Park. In Corvallis, the river passes under the Corvallis Bypass Bridge, which carries Oregon Route 34 Bypass, then flows by Kermit E. Ross City Park on the left and Alan B. Berg City Park on the right. It passes under the Van Buren Street Bridge, which carries eastbound Oregon Route 34 traffic, and then under the Harrison Street Bridge, which carries the highway's westbound traffic. U.S. Highway 20 runs roughly parallel to the river on its left bank from Corvallis to Albany.

Below Corvallis, the Dead River enters from the right at Half Moon Bend, 127 mi from the mouth. About 3 mi downstream, a side channel called the Kiger Cutoff, in concert with the main channel, helps form Lower Kiger Island. Below the island, the river reaches Bowers Rock State Park at RM 123 (RK 198), where Bowers Slough enters from the left and the Little Willamette River enters from the right. On the opposite bank from the state park, the much smaller Hyak County Park is on the left. As the river reaches Albany, the Calapooia River enters from the right 120 mi from the Willamette's mouth. Bryant Park is on the right, and a USGS stream gauge is just beyond the confluence, where the combined rivers flow under the Ellsworth Street Bridge and then the Lyon Street Bridge, which carry U.S. Route 20 eastbound and westbound, respectively. The gradient is slightly steeper in these upper reaches than in the reaches between Albany and Oregon City.

Albany to Oregon City
In Albany, the river flows east under a Union Pacific railroad bridge and through the city, then curves north by a series of industrial ponds as well as First, Second, Third, and Fourth lakes, which are on the right. At RM 113 (RK 182), Wilson Lake is on the right, and about 2.5 mi further downstream, the Willamette leaves Benton County and becomes the boundary between Linn County, on the right, and Polk County on the left. Roughly 1.5 mi later, the river leaves Linn County and becomes the boundary between Polk County on the left and Marion County on the right. The Santiam River enters from the right 108 mi from the Willamette's mouth, and the Luckiamute River enters from the left slightly below the mouth of the Santiam. About 2 mi later, the river reaches Buena Vista County Park and the unincorporated community of Buena Vista, both on the left, and the Buena Vista Ferry, which carries vehicles using Buena Vista Road between Polk and Marion counties. Below the ferry crossing, the river goes around Wells Island and receives Rock Creek from the right at RM 104 (RK 167). Through the next stretch, Ankeny National Wildlife Refuge is on the right. The river then passes Tyson Island and Murphy Bar before passing under a bridge carrying River Road South in Independence, where Riverview Park is on the left about 96 mi from the mouth. Ash Creek, which flows through Independence, enters from the left.

Fuller Creek enters from the right about 5 mi later. About 1 mi further downstream, Dove's Bar is on the right and Hayden Island on the left before Rickreall Creek enters from the left. Over the next stretch, Oregon Route 22 and the Union Pacific Railroad are on the left. Holman State Wayside is on the left and Minto-Brown Island Park is on the right. At RM 85 (RK 137), the river passes the neighborhood of West Salem, which is on the left, while the main part of the city of Salem is on the right. Slightly downstream on the right is a USGS gauging station, below which the Willamette flows under the Center Street Bridge and then the Marion Street Bridge, which carry Oregon Route 22 eastbound and westbound, respectively. Then Mill Creek enters from the right, opposite Wallace Marine Park. Still in Salem, the river flows by River Road City Park and Rivers Edge Park, both on the right. North of Salem, the river passes the city of Keizer, which is on the right, before receiving Glenn Creek from the left about 79.5 mi from the mouth. On the right at this point is Keizer Rapids Park, and slightly downstream on the left is Darrow Rocks. Over the next stretch, Oregon Route 221 runs roughly parallel to the river and on its left.

The river arrives at Spongs Landing County Park, then Spongs Bar and Lincoln Bar before passing Windsor Island and receiving Spring Valley Creek from the left at about RM 75 (RK 121). Slightly further downstream, the Willamette becomes the boundary between Marion County on the right and Yamhill County on the left and receives King Creek from the left. Here Willamette Mission State Park is on the right. Flowing by Beaver Island, on the right, the river reaches the Wheatland Ferry, which carries vehicles traveling on Wheatland Road. Beyond the ferry, the river passes the Wheatland, Upper and Lower Martine, Matheny, and Eldridge bars and receives Eldridge Slough from the right at about RM 69 (RK 111). Passing the Snaggy Bend, Allison, Fairfield, and Duke bars, the river reaches Lambert Bar and receives Lambert Slough from the left. The river flows around Five Islands, the Five Islands Bar and the Coffee, Weston, Candiani, and Mission bars before receiving the Yamhill River from the left 55 mi from the mouth. About 2 mi below the Yamhill, Chehalem Creek enters from the left, and then the river flows around Ash Island, where it receives High Water Slough from the right. Downstream of the island, the city of Newberg is on the left, 50 mi from the mouth.

At Newberg the river, which has been meandering north from Eugene, turns sharply east, passes under a pipeline bridge and, about 2 mi later, under Oregon Route 219. It then receives Spring Brook from the left before reaching part of the Willamette Greenway on the left, and Champoeg State Park, on the right. Champoeg Creek enters from the right at RM 45 (RK 72) and Ryan Creek from the right less than 1 mi later. Then the river leaves Yamhill County and becomes the border between Clackamas County, on the left, and Marion County, on the right, slightly upstream of the unincorporated community of Butteville, which is on the right. From Champoeg to Wilsonville, Wilsonville Road runs roughly parallel to the river and to its left, and from Butteville to Wilsonville, Butteville Road follows the river and to its right. About 1 mi below Butteville, the river ceases to be the border between two counties and flows entirely within Clackamas County. Corral Creek enters from the left about 40 mi from the mouth, and then the river reaches Wilsonville and Wilsonville City Park, which are on the left.

The river then flows under the Boone Bridge, which carries Interstate 5 (I-5), and receives Boeckman Creek from the left about 1 mi later. Newland Creek enters from the left and the Molalla River from the right at RM 36 (RK 58), where Molalla River State Park is on the right. About 2 mi later, the river reaches the Canby Ferry, which carries vehicles across the river between Canby to the right and Wilsonville and Stafford to the left. The Willamette then flows by Walnut Eddy and Fish Eddy, where it turns sharply north again about 32.5 mi from the mouth. From Fish Eddy to Oregon City tracks of the Union Pacific Railroad run roughly parallel to the river along its right bank, and from Fish Eddy to Gladstone, Oregon Route 99E runs roughly parallel to the river, also along the right bank. Below Fish Eddy, the river passes Willow Island and New Era Bar before receiving Beaver Creek from the right, near Sevcik Pond. Below Beaver Creek, the river flows through the Rock Island Complex (Willamette Narrows) before receiving the Tualatin River from the left about 28 mi from the mouth. Here the outskirts of West Linn are on the left. From West Linn to Oregon City, I-205 and Willamette Falls Drive run roughly parallel to the river to its left. About 1 mi later, Canemah, a neighborhood of Oregon City, is on the right and Tanner Creek enters from the left as the river approaches Willamette Falls.

Oregon City to Columbia River
The river flows by Abernethy Island and Moore's Island and by a USGS stream gauge before plunging about 40 ft over the falls. At the falls, West Linn is on the left and Oregon City on the right. Below the falls, the river passes under the Oregon City Bridge, which carries Oregon Route 43, and less than 1 mi later, the Abernethy Bridge, which carries I-205. At about RM 25 (RK 40), the Willamette passes Clackamette Park, which is on the right, and the Clackamas River enters from the right opposite Goat Island. Flowing around the island, the left-hand channel passes through Clackamas Rapids. The right-hand channel flows by the city of Gladstone, which is on the right. About 1.5 mi further downriver, Mary S. Young State Recreation Area is on the left, and then the river passes Cedar Island. Below that, it flows around Hog Island, opposite Marylhurst University, which is on the left. As it reaches the city of Lake Oswego, the river receives Oswego Creek, which drains Oswego Lake, from the left. From Lake Oswego to near the Ross Island Bridge in Portland, Oregon Route 43 runs roughly parallel to the river and to its left. Downriver, about 20 mi from the mouth, the Willamette receives Tryon Creek from the left, opposite the unincorporated community of Oak Grove, and flows under the Lake Oswego Railroad Bridge, which carries a branch of the Southern Pacific Railroad. Then the river passes the unincorporated community of Dunthorpe, which is on the left, and flows around Elk Rock Island. Between Dunthorpe and the Sellwood neighborhood of Portland, the river forms the boundary between Multnomah County, on the left, and Clackamas County, on the right. Reaching the city of Milwaukie, the Willamette receives Kellogg Creek from the right and then Johnson Creek from the right slightly above RM 18 (RK 29).

Below Milwaukie, the river passes between Sellwood, on the right, and the River View Cemetery, both in Portland, and flows under the Sellwood Bridge, which carries Southeast Tacoma Street. Below the bridge, Sellwood Riverfront Park, Oaks Amusement Park, and Oaks Bottom Wildlife Refuge are on the right, and Willamette Park is on the left. In this stretch, Stephens Creek enters from the left. The north–south leg of the Springwater Corridor, a pedestrian and bicycle path, runs parallel to the river along its right bank from Sellwood to the Hawthorne Bridge in central Portland. About 15 mi from the mouth, the river flows around East, Hardtack, Toe, and Ross islands before reaching the Ross Island Bridge, where Poet’s Beach is to the left, which carries U.S. Route 26. From Ross Island to the Marquam Bridge, I-5 runs roughly parallel to the river and to its left, and for much of this distance Oregon Route 99E (Southeast McLoughlin Boulevard) follows the river and to its right. About 0.5 mi later, the Willamette flows by the Oregon Museum of Science and Industry (OMSI), which is on the right, then under the Marquam Bridge, with Audrey McCall Beach to the right between OMSI and the Hawthorne Bridge. Subsequently, the river passes under the Hawthorne, Morrison, Burnside, Steel, and Broadway bridges in downtown Portland. All carry city streets and pedestrian walkways, and the Steel Bridge carries the Union Pacific Railroad, and the Metropolitan Area Express (MAX) light rail as well. Between the Marquam and Steel bridges, the river flows by Tom McCall Waterfront Park on the left. Between the Hawthorne and Steel bridges, the Eastbank Esplanade and I-5 are on the river's right.

Downstream of the Broadway Bridge, the river flows under the Fremont Bridge, which carries Interstate 405 and U.S. Route 30. Between the bridge and Sauvie Island, Route 30 runs roughly parallel to the left of the river between it and Forest Park in the Tualatin Mountains (West Hills). Below this, Swan Island and its marine terminals, run by the Port of Portland, is on the right at about 10 mi from the mouth, and Balch Creek enters from the left. Near Swan Island, the University of Portland is above the river on a bluff to the right. The Willamette then receives Saltzman and Doane creeks from the left before flowing under the Burlington Northern Railroad Bridge 5.1 at RM 7 (RK 11). The river then flows by a USGS gauging station, which is on the left, and under the St. Johns Bridge, which carries U.S. Route 30 Bypass. Here Portland's Linnton neighborhood is on the left, and its St. Johns neighborhood is on the right. About 3.5 mi from the mouth, the river divides to flow around Sauvie Island. Over the final stretch of the river, the main channel flows north by Sauvie Island, which is on the left and marine terminals and industrial areas, which are on the right. About 1 mi from the mouth, the Columbia Slough enters from the right. Kelley Point Park is to the right at the confluence of the Willamette and the Columbia, about 101 mi from the larger river's mouth on the Pacific Ocean. The elevation at the mouth is about 10 ft above sea level. The reaches of the river below Willamette Falls are influenced by tidal effects from the Columbia River. Over its entire course, the main stem of the Willamette varies from about 100 to 200 m in width.

Multnomah Channel
The Willamette's smaller distributary, the Multnomah Channel, flows northwest then north around Sauvie Island for about 21.5 mi to meet the Columbia River near the city of St. Helens, in Columbia County. U.S. Route 30 and tracks of the Burlington Northern Railroad run roughly parallel to the channel, and to its left, between its source and the Multnomah–Columbia county border at about RM 12.5 (RK 20.1).

In its first 0.5 mi, the channel receives Miller Creek from the left, then passes under Sauvie Island Bridge, which carries Northwest Sauvie Island Road. Below the bridge, Ennis Creek enters from the left, then McCarthy Creek from the left at RM 18. Further along, Johns Creek enters from the left, and then Joy Creek enters from the left where the channel leaves Multnomah County and enters Columbia County. About 8 mi from the mouth, the channel flows around Coon Island. Shortly thereafter, Crane Slough, which drains Crane's Lake, and the Gilbert River, which drains Sturgeon Lake, enter from the right. Then the channel receives Jackson Creek from the left and Cunningham Slough from the right before flowing around Louse Island and merging with Scappoose Bay, which is on the left. St. Helens is on the left as the channel enters the Columbia, about 86.5 mi from the larger stream's mouth on the Pacific Ocean.

Discharge
Ranking 19th in volume among U.S. rivers, the Willamette makes up 12 to 15 percent of the total flow of the Columbia River. The flow at the Willamette's mouth averages about 32400 cuft/s, although it varies from about 8200 cuft/s in August during the dry season to more than 79000 cuft/s in December. The United States Geological Survey (USGS) operates four stream gauges along the river, at Harrisburg, Albany, Salem, and Portland. The oldest of these, at Albany, has collected discharge data since the 1880s.

A gauge at RM 161 (RK 259) in Harrisburg recorded an average flow of 11630 cuft/s over the 65 years between 1945 and 2009. Flow is regulated by eight dams on upstream tributaries, and withdrawals for irrigation also affect water levels. The maximum flow recorded since 1945 was 210000 cuft/s on December 29, 1945. The minimum flow was 1990 cuft/s on October 30, 1944. The Harrisburg gauge measures the flow from an area of about 3420 sqmi, about 30 percent of the Willamette watershed.

During the 115 years of 1894 plus 1896–2009, the average discharge recorded by a gauge at the Ellsworth Street Bridge in Albany, Oregon, at RM 119.31 (RK 192.01), was 14210 cuft/s. Nine upstream dams on tributaries regulate the flow, which is also affected by diversions for irrigation, municipal water supplies, and electricity generation. The maximum discharge during the period of record, including fragmentary data from 1878–88, was 266000 cuft/s on January 14, 1881, and the minimum discharge was 1840 cuft/s on September 1 and 2, 1940. This was from a drainage basin of 4840 sqmi, or about 43 percent of the watershed. Extremes outside the period of record include a discharge of 340000 cuft/s on December 4, 1861, and 291000 cuft/s on February 4, 1890.

A gauge at RM 84.16 (RK 135.44), near the Center Street Bridge in downtown Salem recorded an average discharge of 23250 cuft/s over the 93 years between 1910–16 and 1924–2009. Flow is regulated by 12 reservoirs on upstream tributaries and is also affected by diversions for irrigation. The maximum flow recorded at this station was 348000 cuft/s on January 8, 1923. The minimum flow was 2470 cuft/s on August 27, 1940. The Salem gauge measures the flow from an area of about 7280 sqmi, which is about 63 percent of the Willamette watershed. Extremes outside the period of record include a maximum discharge of 500000 cuft/s on December 4, 1861, based on flood marks and other data.

The average discharge at a gauge near the Morrison Bridge in Portland was 22590 cuft/s between 1972 and 2009. Located at RM 12.8 (RK 20.6), the gauge measures the flow from an area of 11200 sqmi, roughly 97 percent of the Willamette basin. During these years, the flow was regulated by many dams on upstream tributaries, and was affected by withdrawals for irrigation and by tidal fluctuations. The maximum flow recorded at this station was 420000 cuft/s on February 9, 1996, during the Willamette Valley Flood of 1996, and the minimum was 4200 cuft/s on July 10, 1978. Extremes outside the period of record include flood maximums during the roughly 110 years before the Morrison Bridge gauge was put in place. The biggest recorded Willamette River flood, the Great Flood of 1861, produced a much larger maximum, 635000 cuft/s, in downtown Portland than that of the 1996 flood. During the Portland Flood of 1894 and the Vanport Flood of 1948, the river reached stages of 33 ft and 30 ft, respectively, both higher than the 1996 flood. By comparison, the river reached only about 28 ft in downtown Portland during the 1996 flood.