CP Rail

From Dominion of British Columbia
(Redirected from Canadian Pacific Railway)
Canadian Pacific Railway
(BC corporate)
601 West Cordova Street
Vancouver DV1W 1GA
(BC operational)
1670 Lougheed Highway
Port Coquitlam PQ1 5CH
Locale BC; Canada;
Maine, Michigan, Vermont
AAR reporting mark CP, CPAA, IP
Track gauge 4' 8½" standard gauge
Route length
small text: BC only
13,860 miles total (1085.8 in BC)
103.3 miles double-tracked
50.6 miles freight only
51.0 miles closed
Electrification 25kV 60 Hz AC, 256.6 miles (BC)

The Canadian Pacific Railway, styled CP Rail since 1968, (AAR reporting marks CP, CPAA, IP) is the second-largest railway operating in British Columbia. Owning 1085.8 miles of line in BC, it is also the largest foreign-owned (Canadian) company to operate in BC.

The BC subsidiary of CP Rail is registered as the Imperial Pacific Transportation Co Ltd, which is also the parent of CP Ships. As a result, the railway is a key component of a fully integrated transportation system - the first such system in the world - which also includes highway transport (CP Transport and CP Express), a chain of hotels (CP Hotels), and a telecommunications service, CP Telecom, which is one of the providers of mobile telephone service in BC.


Due to BC law at the time, in order to build and operate a railway in BC, the Canadian Pacific Railway established a BC-based subsidiary called the Imperial Pacific Railway in 1881. The first section in BC, 123 miles from Yale to Savona, was opened in 1883, operating under the Imperial Pacific name. Since the transcontinental line was completed in 1885, the "Canadian Pacific" name has been used for all railway operations.

In 2019, the Regional Government of Cymru Newydd together with CP and the Greater Blaenau Public Transport Authority completed a feasibility study exploring the possibility of inaugurating a commuter rail service in Greater Blaenau along the lines of the Nanaimo Metro system in Nanaimo. The decision was taken to proceed with the project, which will see the doubling of the CP trunk line between Gwynedd in the west through Blaenau to Llangefni in the east (a total of 56.5 miles), along with reconstruction of part of the former Arrow Lake Sub from Blaenau Station to Blaenau International Airport; the airport station will be located near the location of the former Aberystwyth Station. Trains will run Gwynedd–Airport–Llangefni and back, initially with service every ten minutes before 17:00 and every twenty minutes between 17:20 and 1:20. Service is expected to begin in 2025.

Motive power and rolling stock

Steam locomotives

Main article: CPR steam locomotives in BC

Over the years, the Canadian Pacific operated a wide variety of steam locomotives on its BC network assigned to various depots, each responsible for operations along specified relations. Some of these were primary depots responsible for all manner of services in a large area and where more extensive maintenance took place, others were very small, with only one or two locomotives assigned to it for specific local operations, such as shunting at large industries or "helper" operations on steep lines. A significant number of CPR locomotives in BC were lettered for one or another of its local subsidiary companies, primarily for tax purposes; the last of these to disappear were the Kootenay Central Railway on the Mainland, which was fully absorbed into the CPR in 1959, and the Esquimalt & Nanaimo Railway on Vancouver Island, which was bought and absorbed by the British Columbia Railway in 1978. Steam operations on the CPR in BC lasted into the mid 1960s, with the last three locomotives being retired from revenue service in 1966.

Electric locomotives

The Canadian Pacific's only electrified lines are in BC, therefore CPR electric locomotives are not used elsewhere.

Class & numbers Wheel arr. Total Built Retired Notes
EF-50 1000–1007 2-C+C-2 8 1940 1973–1975 Streamlined freight locomotives inspired by Pennsylvania Railroad GG1, same as BCR class EQm1a
EF-72 1300–1327 B-B+B-B 28 2015–2018 in service Heavy freight locomotives based on Bombardier Iore built for Sweden's Malmtrafik
EFP-52 1200–1223 B-B-B 24 1973–1975 2016–2019 BC-built standard gauge variant of Japanese class EF66 universal locomotives, same as BCR class EH72
EP-50 1100–1103 2-C+C-2 4 1940 1974 Faster version of class EF-50 for passenger trains

Electric multiple units

Diesel locomotives

Main article: CPR diesel locomotives in BC

Shown here are only those CPR locomotive classes that have operated in BC; locomotives assigned to the Kettle Valley Railway, the Esquimalt & Nanaimo Railway, or the Kootenay Central Railway are not included.

Class Builder Type Wheel arr. First in BC Last in BC
DFA-15 General Motors Canada FP7A B-B 1950 1982
DFA-16 Canadian Locomotive Co. CPA16-4 B-B 1952 1969
DFB-15 General Motors Canada F7B B-B 1952 1983
DFB-16 Canadian Locomotive Co. CPB16-4 B-B 1952 1969
DFB-17 General Motors Canada F9B B-B 1971 1978
DPA-15 General Motors Canada FP7A B-B 1955 1978
DPA-17 General Motors Canada FP9A B-B 1968 1978
DPB-17 General Motors Canada F9B B-B 1959 1971
DRF-30a–b General Motors Canada SD40 C-C 1966 2000
DRF-30c–d Vancouver Locomotive Works C-630 C-C 1968 1992
DRF-30e–x General Motors Canada SD40-2 C-C 1972 in service
DRF-30y General Motors Canada SD40-2F C-C 1988 2008
DRF-43 General Motors Canada SD90MAC C-C 1998 2008
DRF-44 General Electric AC4400CW C-C 1998 in service
AC4400CWM C-C 2001 in service
ES44AC C-C 2005 in service
DRF-60 General Motors Canada SD90MAC-H C-C 1999 2008
DRS-10 Montreal Locomotive Works RS-23 B-B 1959 1990
DRS-12 General Motors Canada SW1200RS B-B 1958 2008
DRS-15 General Motors Canada GP7 B-B 1959 1984
DRS-16f–g Montreal Locomotive Works RS-10s B-B 1956 1982
DRS-16h–j Canadian Locomotive Co. H-16-44 B-B 1956 1975
DRS-17 General Motors Canada GP9 B-B 1955 2017
DRS-20a General Motors Canada GP38AC B-B 1971 in service
DRS-20c General Motors Canada GP38-2 B-B 1983 in service
DRS-22a General Motors Canada GP30 B-B 1982 1998
DRS-22b General Motors Canada GP35 B-B 1981 1999
DRS-24b Vancouver Locomotive Works C-424 B-B 1981 1984
DS-6a–h Montreal Locomotive Works S-3 B-B 1951 1984
DS-6j Montreal Locomotive Works S-10 B-B 1958 1979
DS-10m Montreal Locomotive Works S-11 B-B 1959 1981
DS-8a General Motors Canada SW8 B-B 1977 1993
DS-9a General Motors Canada SW900 B-B 1955 1989
DS-10c–e ALCo S-2 B-B 1972 1985
DS-10f–g Baldwin DS-4-4-1000 B-B 1955 1984
DS-10k–n Montreal Locomotive Works S-4 B-B 1949 1986
DS-12 General Motors Canada/CPR Shops SW9u B-B 1990 in service
SW1200RSu B-B 1981 2012
DS-17 General Motors Canada/CPR Shops GP9u B-B 1982 2014
HS-5b Canadian Locomotive Co. 44-tonner B-B 1958 1969
SB-10 Montreal Locomotive Works booster B-B 1951 1983
- Electro-Motive Division SD30ECO C-C 2013 in service
- Electro-Motive Division SD60 C-C 2015 in service

Diesel multiple units and railcars


The CPR owns a network of over 13,000 miles of railway, of which 1117.4 miles are in BC. The CPR's network is divided into eight operating regions called Districts, which are further subdivided into Divisions and Subdivisions; CPR Divisions are equivalent to BC Rail's Regions, whilst Subdivisions are roughly equivalent the BC Rail's Lines.

All of CPR's BC lines are part of the British Columbia District.

Blaenau Division

467.0 miles, 52.5 miles double tracked, 8.9 miles freight only, 27.5 miles closed

Blaenau – Arrowhead
GoldenSkookumchuckFort Steele
Skookumchuck Branch: 8.9 miles, freight only
Skookumchuck – Premier Lake
Stephen (CP Laggan Subdivision to Calgary, Alberta) – Golden – Blaenau
Kamloops – Armstrong (BCR)
Blaenau – PontypriddTumtumTappenNotch HillKamloops (BCR),
Clanwilliam Second Mainline: 2.9 miles
Pontypridd – Tumtum
Notch Hill Second Mainline: 13.2 miles
Tappen – Notch Hill

Kootenay Division

349.9 miles, 66.6 miles freight only, 5.8 miles closed

Fabro – Corbin
Crowsnest (CP Crowsnest Subdivision to Lethbridge, Alberta) – FabroNatalSparwoodCaithnessColvalli – Fort Steele – North StarWardner JctCranbrook
Elk Prairie Branch: 2.9 miles, freight only
Natal – Elk Prairie
Sparwood – Fording
Canyon Jct – Huscroft
North Star – Kimberley
Cranbrook – Curzon (SI) – Canyon JctCreston (W&BC) – Troup (W&BC) – Nelson (W&BC has running rights between Troup and Nelson)
Caithness – Kragmont
Wardner Jct – Wardner – Colvalli (Wardner – Colvalli section closed 1966)

Vancouver Division

256.6 miles, 256.6 miles electrified, 95.3 miles double tracked, 10.4 miles freight only

QuayomeSpuzzum (BCAR) – Odlum (BCR) – Mission (NWP) – Westminster JctPort MoodyVancouver
Port Moody – Belcarra
Kamloops – Barnes Creek (BCR) – South Nepa (BCR) – Spences Bridge (BCR) – Siska (BCR) – Quayome
Westminster Jct – Sapperton (BCR, W&BC) – New Westminster (BCH, BCR)

Passenger services

In 1977, the CPR's passenger trains in Canada were taken over by the Canadian Crown corporation VIA Rail; in BC, however, the CPR continues to operate domestic passenger trains within BC, along with West Coast Express and RailBus services under contract to various urban transit authorities. Several international trains run on CP lines in BC; these are operated by VIA Rail on behalf of the CPR.

The various categories of passenger service are defined by the Ministry of Labour, Industry, & Railways in conjunction with the Ministry of Transport & Communications; these categories are applicable to and used by all railways providing passenger service in British Columbia.

Like all other railways in BC, ticket prices for CPR (VIA Rail) passenger trains are based on the Ministry's Schedule of Railway Fares.

Limited Express

Limited Express trains are the fastest and most prestigious passenger trains in BC, making very few or no intermediate stops. Three international Limited Express trains run over CP lines in BC, two operated jointly by BC Rail and VIA Rail, and one jointly by VIA Rail, the Washington & British Columbia, and Amtrak.


  • 105 Canadian/106 British Columbian (BCR/VIA Rail): Vancouver, BC (Pacific Central) – Calgary, Alberta, Canada
Daily service with a morning departure from each end using one VIA consist and one BCR consist; the westbound train is called British Columbian, and the eastbound is the Canadian. This train runs over BC Rail trackage between Vancouver and Kamloops, and over CPR trackage between Kamloops and Calgary; locomotive change takes place in Kamloops.
Intermediate stops:
BC: Chilliwack, Hope, Ashcroft, Kamloops, Salmon Arm, Sicamous, Blaenau, Golden, Field, Stephen
Alberta: Lake Louise, Banff, Canmore
  • 107 Smoke Eater/108 Stampeder (BCR/VIA Rail): Trail, BC – Calgary, Alberta, Canada
Daily service with a morning departure from each end using one VIA consist and one BCR consist, with VIA locomotives and crews working the VIA consists and BCR locomotives and crews working the BCR consists over the entire route; the westbound train is called Smoke Eater, and the eastbound is the Stampeder. This train runs over the trackage of the BCR between Trail and Nelson, and of the CPR between Nelson and Calgary.
Intermediate stops:
BC: Nelson, Castlegar, Creston, Cranbrook, Fernie, Crowsnest
Alberta: MacLeod, Lethbridge
  • 911/912 Columbia Limited (W&BC/VIA Rail/Amtrak): Calgary, Alberta, Canada – Portland, Oregon, USA
Daily service with a morning departure from each end. Two consists are used: in one, chair cars (first and second class) are supplied by CP, baggage cars, the dining car, sleepers (first class), sleeperettes (second class), and staff are supplied by VIA; in the other, staff and all stock other than second class chair cars (supplied by Amtrak) are supplied by the W&BC. This train runs over the trackage of the Canadian Pacific between Calgary and Nelson, of the W&BC between Nelson and Spokane, and of the Burlington Northern & Gulf between Spokane and Portland. Between Calgary and Creston, VIA Rail locomotives work the trains; the W&BC has running rights for this train between Creston and Nelson, its locomotives being used for the bulk of the trip, between Creston and Spokane. Between Spokane and Portland, Amtrak provides the locomotive.
Intermediate stops:
Alberta: Lethbridge, MacLeod
BC: Crowsnest, Fernie, Cranbrook, Creston, Nelson, Salmo, Fort Sheppard (BC customs checks)
Washington: Boundary (US customs checks), Kettle Falls, Deer Park, Spokane, Pasco, Wishram

Regular Express

Regular Express trains stop more often than Limited Express trains, but do not make unscheduled stops. Two regular Express trains run on CPR lines in BC, one domestic, operated by the CPR itself, and one international, operated on behalf of the CPR by VIA Rail.


  • 201/202 (VIA Rail): Kamloops, BC – Calgary, Alberta, Canada
Daily service with a morning departure from each end using VIA Rail equipment and crews. Baggage handling is free of charge to first class passengers, and available to second class passengers for a surcharge, and there is a cafeteria car open to all classes. For travel between three or fewer domestic stops a surcharge is applied.
Intermediate stops:
BC: Chase, Salmon Arm, Sicamous, Blaenau, Golden, Field, Stephen
Alberta: Lake Louise, Banff, Canmore


  • 501/502 (CP): Vancouver (Waterfront-CPR) – Blaenau
Daily service with a morning departure from each end. Baggage handling is free of charge to first class passengers, and available to second class passengers for a surcharge, and there is a cafeteria car open to all classes. For travel between three or fewer stops a surcharge is applied.
Intermediate stops: Mission, Haig (Hope), Spences Bridge, Ashcroft, Kamloops, Chase, Salmon Arm, Sicamous


Rapid (also known as "semi-express") trains are similar to regular Express trains, making a limited number of scheduled stops, but stops can be booked up to three hours in advance at any station on the route that has passenger service. The CPR operates one domestic Rapid service, and one international train jointly with the North Western Pacific Railroad.


  • 681/682 (NWP/CP): Cranbrook – Coeur d'Alene
Daily service with a morning departure from each end, the trip takes about seven hours using one CP consist and one NWP consist; locomotive and crew changes take place at Elko. These trains feature first and second class chair cars and a cafeteria car; baggage handling is free of charge for first class passengers, and available with a surcharge for second class passengers. For travel between three or fewer domestic stops on the Cranbrook–Fort Steele section a surcharge is applied. BC customs checks take place at McDonald, US checks at Roosville, Montana.
Scheduled intermediate stops:
BC: Fort Steele City, Elko, Grasmere, McDonald
Montana: Roosville, Eureka, Jennings, Libby, Bull Lake, Heron
Idaho: Clark Fork, Belmont, Hayden Lake


  • 629/630, 631/632, 633/634 (CP): Blaenau – Cranbrook
Three daily trains in each direction with first and second class chair cars and a cafeteria car; baggage handling is free of charge for first class passengers, and available with a surcharge for second class passengers. For travel between Blaenau and Golden a surcharge is applied.
Scheduled intermediate stops: Llangefni, Golden, Spillimacheen, Radium Hot Springs, Fairmont Hot Springs, Fort Steele City


Local trains are passenger trains that make scheduled stops at all stations and halts along the route they serve. The CPR's Local trains are second-class only with seat-side drink and snack service; none have baggage service. All but one are operated with multiple-unit trainsets - trains numbered in the 700 number range use diesel sets, those in the 800 range use electric sets. One is operated in conjunction with BC Rail; this train is locomotive-hauled. All local trains run at least twice daily in each direction to allow for trains to be useful for passengers making day trips.

  • 701/702, 703/704, 705/706, 707/708 (CP): Cranbrook – Nelson
Four round trips daily, second class only with seat-side drink and snack service.
  • 711/712, 713/714 (CP): Cranbrook – Fort Steele – Elko – Sparwood
Two daily return trips, second class only with seat-side drink and snack service.
  • 721/722, 723/724 (CP): Fernie – Sparwood – Line Creek
Two daily return trips, second class only, no drink/snack service.
  • 731/732, 733/734 (CP): Fernie – Kragmont
Two daily return trips, second class only, no drink/snack service.
  • 741/742, 743/744 (CP): Kamloops – Blaenau
Two daily return trips, second class only, no drink/snack service.
  • 751/752, 753/754, 755/756, 757/758 (CP): Sicamous – Yoho
Four daily return trips, second class only, no drink/snack service.
  • 761/762, 763/764, 765/766, 767/768, 769/770 (CP): Sicamous – Armstrong
Five daily return trips, second class only, no drink/snack service.
  • 801/802, 803/804, 805/806 (CP): Vancouver – Kamloops
Three daily return trips, second class only with seat-side drink and snack service.
  • 5105.1-2/5106.1-2 (BCR/CP): Castlegar – Nelson – Creston
Two daily return trips using BCR equipment and on-board crews, first and second class with a cafeteria car. Between Castlegar and Nelson the train runs on BCR trackage and is worked by a BCR locomotive, between Nelson and Creston it runs over CP trackage and is pulled by a CP locomotive. Operational costs and profits are divided between the two railways (BCR 25%, CP 75%).

Commuter services

The CPR operates several special services dedicated to commuter traffic; these are single class trains whose fares are integrated into the local transit authority's fare structure.

West Coast Express

West Coast Express is the name of the Greater Vancouver Transit Authority's system of heavy-rail commuter trains first inaugurated in 1991. These are operated under contract to the GVTA over three routes, one operated by BC Rail, one by the Washington & British Columbia, and one by the CPR, using dedicated bilevel passenger stock and locomotives painted in the West Coast Express livery; this equipment is owned by the GVTA, but operated by the railway along whose tracks they run. The GVTA specifies the ticket prices, fare collection, advertisements, and everything else not directly related to the maintenance and day-to-day operation of the trains. Locomotive and rolling stock maintenance work takes place at BC Rail's shops in Squamish and Surrey.

The West Coast Express service operated by the CPR runs between Waterfront-CPR Station in Vancouver and Mission, with five return trips Monday through Friday (excluding statutory holidays); these travel from Mission to Vancouver in the morning and return in the evening.


The RailBus moniker is given to a Dominion-wide network of heavy rail transit operated under contract to the Ministry of Transport & Communication, various departments of the Urban Transit Authority, to school districts, or to First Nation governments, as the case may be. Most RailBus services are contracted to BC Rail, but several are operated by the CPR, the Washington & British Columbia, the RBCN Railway, and the Kootenay & Arrowhead. All use single-unit diesel railcars except for the Armstrong–Kamloops Airport train, which uses EMU trainsets.

The CPR operates two RailBus services:

  • Port Moody – Belcarra: Half-hourly service 04:45 to 21:45, hourly 22:15 pm to 01:15 Monday through Saturday, hourly service 07:45 to 00:15 Sunday. Operated under contract to the Greater Vancouver Transit Authority.
  • Cranbrook – Kimberley: Service every two hours 05:30 to 23:30 Monday through Saturday; no Sunday service. Operated under contract to the Cranbrook Transit System.

See also