This guide presents a collection of fish swimming performance fatigue (swim speed versus endurance time) and distance (swim distance versus water velocity) curves that were produced from data collected from the literature. The focus of the analysis was on freshwater species (e.g. potamodromous) and species with a life cycle stage that requires the use of freshwater (e.g. diadromous species, including anadromous salmonids and catadromous eels).

Data from fish performance studies were collected in the laboratory or the field through a variety of methods and constitute the database for analyses conducted. Data from swim chamber tests, such as time to fatigue (fixed velocity) and increasing velocity (critical swim speed), as well as fish speed and endurance from volitional open channels were used. Regressions were performed to generate fatigue curves for endurance in the range of 3 s (seconds) to 30 min (minutes). This range was considered the most practical and relevant for fish passage and other protection measures related to the swimming ability of fish.

Data grouping was used to produce more inclusive and diverse datasets that capture measurements from a wide range of data sources. Furthermore, data grouping helps bridge data gaps related to limited or missing data, makes the results more universal and reduces the potential bias when data is limited. Each independent swim test should be regarded as a point in time measurement that reflects the performance of the specific fish that were tested and the conditions under which they were tested. Environmental conditions that can affect swimming capacity of fish are variable in the natural world, and include factors such as water velocity, water temperature, the fish’s energy stores related to food supply, fish health, and others. Testing may not capture the potential variation in performance from all these factors and therefore it is important to be aware of this when using swimming performance data.

Fish length appears to be a major factor affecting swimming performance. Longer fish have higher fish speeds (U) expressed in m/s, than shorter ones. Fish speed is also expressed in body lengths per second (BL/s) or if l is fish length, U/l. In this case, shorter fish usually have higher relative speeds than longer ones. Estimates in BL/s are often used for various species, indicating swimming performance similarity between different species. A dimensionless speed (U*) is another way of expressing fish speed and is defined as U(gl)-0.5, where g has a constant value of 9.81 m/s2. The dimensionless speed identifies fish species with similar swimming performance more clearly and provides better regressions compared to BL/s or m/s.

Regression analysis of available data was used to formulate a collection of dimensionless fatigue curves (dimensionless swim speed versus dimensionless endurance time) derived by grouping fish species with similar swimming performance. Dimensionless fatigue curves, for the 3 s to 30 min time range and corresponding distance curves, were generated for the following groups: 1) Eel; 2) Salmon and Walleye; 3) Catfish and Sunfish; 4) Sturgeon; 5) Herring; and 6) Pike (derived). The “Eel Group” and the “Salmon and Walleye Group”, which correspond to the previously named “anguilliform” and “subcarangiform” groups, have the more complete data sets and more robust regressions. The “Catfish and Sunfish” and “Sturgeon” groups lack burst or high fish speed data, while the “Herring Group” has limited prolonged or low speed fish data. These limitations should be kept in mind when using the results.

The “Pike Group” was a special case where a lack of data at the higher swimming speeds prevented the creation of a complete fatigue curve. Given the importance of pike for certain regions, a special curve was developed to provide some guidance on swimming capacity. The derived curve was based on existing pike swimming data at the lower end of the curve. Pike are known for strong burst speeds so the high end of the curve was estimated from the similar highest speeds from the “Eel” and the “Salmon and Walleye” groups. The derived curve was considered a more effective option that trying to include pike with one of the other groups where the fit may be more compromised.

A more detailed description of the analysis and derivation of the swimming performance curves presented in this guide can be found in Katopodis and Gervais (2016).

Using the Equations

This document contains a series of equations that can be used to estimate:

  1. fatigue which relates swimming speed and endurance time and
  2. swim distance which relates swimming distance and water velocity

Both sets of relationships are based on grouped data made up of a collection of different fish species. The swimming performance of a particular fish species is represented by the group. For example, to estimate the swimming performance of rainbow trout, the Salmon & Walleye Group would be used, since rainbow trout is part of this group. Table 4 contains a listing of species and the groups those species belong to. The fatigue equations and webtool provide a regression line with 75% and 95% prediction interval lines. Distance equations were generated from the fatigue equations and correspond to the fatigue lines. Prediction intervals are sometimes known as probability intervals and are different from confidence intervals. The prediction interval is a statistical interval calculated to include one or more future observations from the same population with a specified confidence. A prediction interval is used to predict the range within which a single observation is expected to fall. It was included to capture the variation in performance (scatter above and below the regression line) which is important when quantifying performance. For example, the 95% prediction interval for the swim distance would represent the range where there is a 95% chance that the next measurement would fall within. For a 95% prediction interval, there is a 2.5% chance that an observation will be below the lower bound of the interval and a 2.5% chance an observation will be above the upper bound of the interval. Consequently, the lower boundary line of this prediction interval would represent the dividing point above which there is 97.5% chance that a fish would be able swim that distance. The choice of which line to use, should reflect the overall risk to the particular species and watershed. For example, where fish passage is a concern and the goal is to minimize long term impact to a particular population, the lower boundary curve would be used to reflect a higher degree of passage to be achieved. It is important to emphasize that swimming speeds are but one of several factors to be considered in achieving desirable levels of upstream or downstream fish passage and should not be used exclusively to judge designs or effectiveness.

Fatigue Curves

The fatigue equations section contains the dimensionless equations for the fatigue curves and summary tables of coefficients (k and b) for the regression line with 75% and 95% prediction intervals for each of the groups. The equations can be used to calculate the following:

  • endurance time (t in s) given fish species, fish length (l in m) and swimming speed (U in m/s)
  • swim speed (U in m/s) given fish species, fish length (l in m) and endurance time (t in s)
  • fish length (l in m) given fish species, swim speed (U in m/s) and endurance time (t in s)

Fatigue Equations

Dimensionless fatigue curves are relationships between dimensionless fish speed (U*) and dimensionless endurance time (t*).

\[U_* = K(t_*)^b \]

Where: \[U_* = \frac{U}{\sqrt{gl}}\] And: \[t_* = \frac{t}{\sqrt{l/g}}\]


  • U* is the fish swimming speed in m/s
  • t* is endurance time in seconds and is limited from 3 to 1800 seconds
  • g is gravitational acceleration (9.81 m/s2)
  • l is fish length in meters
  • k and b are coefficients derived from Deming regression analysis
Table 1. Dimensionless fatigue regression equations.
Group k b R2 ChiSQ Count Comments
Catfish & Sunfish 2.176 -0.202 0.64 59.5 1282 Limited data on burst range
Eel 3.722 -0.367 0.84 124.7 1747 Most comprehensive data sets
Herring 10.119 -0.402 0.90 7.4 592 Lack of prolonged data; b could be high
Salmon & Walleye 4.004 -0.250 0.70 1933.2 17085 Most comprehensive data sets
Sturgeon 0.756 -0.130 0.69 22.7 1008 Lack of burst data; b could be low
Pike (derived) 3.811 -0.329 NA NA NA All points in low prolonged range; lack of burst data; curve derived by assuming burst performance similar to Salmon & Walleye and Eel groups
Table 2. Dimensionless fatigue equations for 75% and 95% prediction interval coefficients.
95% Prediction Interval
75% Prediction Interval
Upper Boundary
Lower Boundary
Upper Boundary
Lower Boundary
Group k b k b k b k b
Catfish & Sunfish 3.326 -0.202 1.424 -0.202 2.791 -0.202 1.696 -0.202
Eel 6.295 -0.367 2.201 -0.367 5.066 -0.367 2.735 -0.367
Herring 12.605 -0.402 8.123 -0.402 11.511 -0.402 8.895 -0.402
Salmon & Walleye 7.744 -0.250 2.070 -0.250 5.897 -0.250 2.719 -0.250
Sturgeon 1.018 -0.130 0.562 -0.130 0.900 -0.130 0.635 -0.130
Pike (derived) 5.962 -0.329 2.437 -0.329 4.950 -0.329 2.935 -0.329

Distance Curves

The distance equations section contains the dimensionless equations for the distance curves and summary tables of the coefficients (M and a) for the regression line with 75% and 95% prediction intervals for each of the groups. The equations can be used to calculate the following:

  • swim distance (X in m) given fish species, fish length (l in m) and water velocity (V in m/s)
  • water velocity (V in m/s) given fish species, fish length (l in m) and swim distance (X in m)
  • fish length (l in m) given fish species, water velocity (V in m/s) and swim distance (X in m)

Distance Equations

Dimensionless swim distance curves are relationships between dimensionless water velocity (V*) and dimensionless swimming distance (X*).

\[X_* = M(V_*)^a\] Where: \[X_* = X/l\] And: \[V_* = \frac{V}{\sqrt{gl}}\]


  • X* = dimensionless swimming speed
  • X = swimming distance (m)
  • V* = dimensionless water velocity
  • V = water velocity (m/s)
  • l = fish length (meters)
  • g = gravitational acceleration = 9.81 m/s2
  • M and a are coefficients derived from dimensionless speed vs. time regression
Table 3. Dimensionless swim distance equations and prediction interval coefficients derived from fatigue regressions.
95% Prediction Interval
75% Prediction Interval
X vs. V
Upper Boundary
Lower Boundary
Upper Boundary
Lower Boundary
Group M a M a M a M a M a
Catfish & Sunfish 3.892 -3.953 31.668 -3.948 0.4760 -3.958 13.321 -3.950 1.136 -3.956
Eel 5.982 -1.723 25.017 -1.723 1.4300 -1.724 13.850 -1.723 2.584 -1.723
Herring 59.340 -1.489 102.933 -1.491 34.2390 -1.487 81.967 -1.490 42.973 -1.488
Salmon & Walleye 26.919 -2.994 374.991 -2.993 1.9320 -2.994 126.330 -2.994 5.736 -2.994
Sturgeon 0.006 -6.669 0.059 -6.668 0.0006 -6.669 0.023 -6.668 0.002 -6.669
Pike (derived) 8.512 -2.040 33.161 -2.040 2.1850 -2.040 18.839 -2.040 3.846 -2.040

Speed vs. Time Example

Question: How long can the average 250 mm rainbow trout swim 1 m/s?

There are two ways to answer this question. The first and recommended method is using the interactive webtool. The webtool automatically and reliably performs the calculations contained in this guide. Alternatively, you can manually perform the calculations.

WebTool - Speed vs. Time

  1. Go to the Swim Speed & Swim Time tool.
  2. Below “Select Fish by:”, click the “Common name” radio button.
  3. In the “Select species” drop down menu, choose “Rainbow or Steelhead trout”.
  4. Drag the “Fish length” slider to 250 mm.
  5. Below “Calculations:” press the “Swim time” radio button.
  6. Enter “1” in the “Swim speed” box.

Once these steps are completed, the tool should look like this:

Formula - Speed vs. Time

  1. Identify the correct group for rainbow trout. The Group Summary by Species contains a list of species for each group and from the table, rainbow trout is part of the ‘Salmon and Walleye’ Group.
  2. Endurance time can be calculated using the fatigue equations. To use the equations, find the k and b coefficients. For average endurance time use the regression equation coefficients.

\[U_* = 4.004(t_*)^-0.25\] Where: \[U_* = \frac{1.0}{\sqrt{9.81\times0.250}} = 0.639\]

And: \[ t_* = \frac{t}{\sqrt{0.250/9.81}} = 6.264t\] Substitute the values of U* and t* into the first equation: \[0.639 = 4.004(6.264t)^{0.25}\] Solving for t: \[ t = \left(\frac{0.639}{4.004}\right)^{-1/0.25}\div6.264 = 246 \text{ seconds}\]

Solution - Speed vs. Time

The average 250 mm rainbow trout can swim 1 m/s for 246 seconds.

Distance vs. Velocity Example

Question: A proponent wishes to install a 30 meter culvert. What is the maximum water velocity that 87.5% of 400 mm northern pike can pass through?

There are two ways to answer this question. The first and recommended method is using the interactive webtool. The webtool automatically and reliably performs the calculations contained in this guide. Alternatively, you can manually perform the calculations.

Webtool - Distance vs. Velocity

  1. Go to the Swim Speed & Swim Time tool.
  2. Below “Select Fish by:”, click the “Common name” radio button.
  3. In the “Select species” drop down menu, choose “Northern Pike”.
  4. Drag the “Fish length” slider to 400 mm.
  5. Below “Calculations:”, press the “Water velocity” radio button
  6. Enter “30” in the “Swim distance in meter:” box.
Once these steps are completed, the tool should look like this:

Formula - Distance vs. Velocity

  1. Identify the correct group for northern pike. The Group Summary by Species contains a list of species for each group and from the table, northern pike is part of the ‘Pike (derived)’ Group.
  2. Swim distance can be calculated using the distance equations. To use the equations, find the k and b coefficients. For average endurance time use the regression equation coefficients.

\[X_* = 3.846(V_*)^{2.040}\]

Where: \[X_* = \frac{30.0}{0.4} = 75\]

And: \[V_* = \frac{V}{\sqrt{9.81\times0.4}} = 0.505V\] \[75 = 3.846(0.505V)^{-2.040}\]

Solving for V: \[V = \left(\frac{75}{3.846}\right)^{-1/2.040} \div 0.505 = 0.46 \text{ m/s}\]

Solution - Distance vs. Velocity

This culvert should not exceed a maximum water velocity of 0.46 m/s to allow passage of 87.5% of 400 mm northern pike.

Concluding Remarks

The following are some general observations related to fish swimming performance, the testing that has been used to measure performance and the analysis of the data to produce the estimates of performance.

  • An extensive database on fish swimming performance was generated from the literature for both diadromous and potamodromous species.
  • There are limited standards for measuring the swimming capacity of fish. Data were collected through a variety of fish swimming performance tests, which tend to cover different parts of fatigue curves.
  • The database contains a mix of mean and individual swimming data; for more consistency, data were grouped.
  • Burst speed data collected in volitional channels complement prolonged speed data from swim tunnels and assist in defining fatigue curves over a large time range.
  • Extrapolating curves derived from volitional channel data only, would underestimate prolonged performance, as fatigue curves based on burst data only are characterised by steep slopes. The reverse is also true, i.e. fatigue curves based on data from swim tunnel only, tend to have flatter slopes and would underestimate burst performance, if extrapolated.
  • Large variability in individual swimming performance is indicated. This is not surprising since fish species and populations have survived for millions of years at least in part because of different group or individual abilities or strategies.
  • There are insufficient data available for many species to derive individual fatigue curves. An ecohydraulic approach using dimensionless variables allowed more global data analyses for groups of fish species and the ability to use limited data sets.
  • Although variability in swimming performance exists between species and individuals within a species, data analyses indicate broad similarities in relative performance for groups of species.
  • Grouping of species by family and swimming mode was used to create 6 fish groups. Two of these groups, the “Eel” and the “Salmon and Walleye”, have the best data sets and most robust regressions. These two groups correspond to update versions of the previously labelled “Anguilliform” and “Subcarangiform” species. The other 4 groups have data limitations which should be considered when using the results.
  • Speed-time regressions provided estimates of swim distance – water velocity relationships for different confidence levels.
  • Swim distance estimates from fatigue curves, were comparable with available direct measurements.
  • Estimates of fatigue time or distance may be useful when considering physiological aspects in practical applications, such as fish screens and fishways.
  • In nature, survival often depends on the efficient use of energy stores and fish may limit activities that demand high energy usage.
  • The results of these analyses may represent a “best effort” given the limitations of the data available. Swimming performance depends on factors which cannot be measured conclusively. Actual fish passage structures often generate hydraulic conditions which defer from those tested in swimming performance devices.

Group Summary by Species

Table 4. Summary of the families and species that were used in the analysis to define the different swimming performance groups; taxonomic classification source: Integrated Taxonomic Information System - ITIS (
GroupName ScientificName CommonName
Catfish & Sunfish Ictalurus furcatus Blue catfish
Catfish & Sunfish Ictalurus punctatus Channel catfish
Catfish & Sunfish Ictalurus punctatus x furcatus Channel x blue hybrid catfish
Catfish & Sunfish Lepomis auritus Redbreast sunfish
Catfish & Sunfish Lepomis incisor Sunfish
Catfish & Sunfish Lepomis macrochirus Bluegill
Catfish & Sunfish Lepomis megalotis Longear sunfish
Catfish & Sunfish Micropterus dolomieu Smallmouth bass
Catfish & Sunfish Micropterus salmoides Largemouth bass
Catfish & Sunfish Pomoxis annularis White crappie
Eel Anguilla anguilla European eel
Eel Lampetra tridentata Pacific lamprey
Eel Lota lota Burbot
Eel Petromyzon marinus Sea lamprey
Herring Alosa aestivalis Blueback herring
Herring Alosa fallax Twaite shad
Herring Alosa pseudoharengus Alewife
Herring Alosa sapidissima American shad
Pike (derived) Esox lucius Northern pike
Pike (derived) Esox sp. Tiger muskellunge
Salmon & Walleye Abramis brama Bream
Salmon & Walleye Barbus barbus Barbel
Salmon & Walleye Campostoma anomalum Central stoneroller
Salmon & Walleye Carassius carassius Crucian carp
Salmon & Walleye Catostomus catostomus Longnose sucker
Salmon & Walleye Catostomus commersoni White sucker
Salmon & Walleye Catostomus laipinnis Flannelmouth sucker
Salmon & Walleye Catostomus macrocheilus Largescale sucker
Salmon & Walleye Catostomus platyrhynchus Mountain sucker
Salmon & Walleye Chasmistes liorus June sucker
Salmon & Walleye Coregonus artedii Cisco
Salmon & Walleye Coregonus autumnalis Arctic cisco
Salmon & Walleye Coregonus clupeaformis Lake whitefish
Salmon & Walleye Coregonus nasus Broad whitefish
Salmon & Walleye Coregonus sardinella Least cisco
Salmon & Walleye Cyprinella lutrensis Red shiner
Salmon & Walleye Cyprinella proserpina Proserpine shiner
Salmon & Walleye Cyprinella venusta Blacktail shiner
Salmon & Walleye Cyprinus carpio Carp
Salmon & Walleye Etheostoma grahami Rio Grande darter
Salmon & Walleye Gila cypha Humpback chub
Salmon & Walleye Gila elegans Bonytail chub
Salmon & Walleye Gobio gobio Gudgeon
Salmon & Walleye Hybognathus amarus Silvery minnow
Salmon & Walleye Hybognathus placitus Plains minnow
Salmon & Walleye Iotichthys phlegethontis Least chub
Salmon & Walleye Lepidomeda aliciae Southern leatherside chub
Salmon & Walleye Leuciscus cephalus European chub
Salmon & Walleye Leuciscus leuciscus Dace
Salmon & Walleye Luxilus chrysocephalus Striped shiner
Salmon & Walleye Lythrurus fumeus Ribbon shiner
Salmon & Walleye Lythrurus umbratilis Redfin shiner
Salmon & Walleye Macrhybopsis aestivalis Speckled chub
Salmon & Walleye Morone americana White perch
Salmon & Walleye Morone saxatilis Striped bass
Salmon & Walleye Notropis amabilis Texas shiner
Salmon & Walleye Notropis atherinoides Emerald shiner
Salmon & Walleye Notropis atrocaudalis Blackspot shiner
Salmon & Walleye Notropis bairdi Red River shiner
Salmon & Walleye Notropis buccula Smalleye shiner
Salmon & Walleye Notropis buchanani Ghost shiner
Salmon & Walleye Notropis hudsonius Spottail shiner
Salmon & Walleye Notropis oxyrhynchus Sharpnose shiner
Salmon & Walleye Notropis sabinae Sabine shiner
Salmon & Walleye Notropis shumardi Silverband shiner
Salmon & Walleye Notropis stramineus Sand shiner
Salmon & Walleye Notropis texanus Weed shiner
Salmon & Walleye Notropis topeka Topeka shiner
Salmon & Walleye Notropis volucellus Mimic shiner
Salmon & Walleye Oncorhynchus clarki Cutthroat trout
Salmon & Walleye Oncorhynchus gorbuscha Pink salmon
Salmon & Walleye Oncorhynchus keta Chum salmon
Salmon & Walleye Oncorhynchus kisutch Coho salmon
Salmon & Walleye Oncorhynchus mykiss Rainbow or Steelhead trout
Salmon & Walleye Oncorhynchus nerka Sockeye salmon
Salmon & Walleye Oncorhynchus tshawytscha Chinook salmon
Salmon & Walleye Perca flavescens Yellow perch
Salmon & Walleye Perca fluviatilis European perch
Salmon & Walleye Pimephales promelas Fathead minnow
Salmon & Walleye Pimephales vigilax Bullhead minnow
Salmon & Walleye Platygobio gracilus Flathead chub
Salmon & Walleye Pogonichthys macrolepidotus Sacramento splittail
Salmon & Walleye Prosopium williamsoni Mountain whitefish
Salmon & Walleye Ptychocheilus lucius Colorado squawfish
Salmon & Walleye Ptychocheilus oregonensis Northern squawfish
Salmon & Walleye Rhinichthys atratulus Blacknose dace
Salmon & Walleye Rhinichthys cataractae Longnose dace
Salmon & Walleye Rhinichthys osculus Speckled dace
Salmon & Walleye Richardsonius balteatus Redside shiner
Salmon & Walleye Rutilus rutilus Roach
Salmon & Walleye Salmo salar Atlantic salmon
Salmon & Walleye Salmo trutta Brown trout
Salmon & Walleye Salvelinus alpinus Arctic char
Salmon & Walleye Salvelinus confluentus Bull trout
Salmon & Walleye Salvelinus fontinalis Brook trout
Salmon & Walleye Salvelinus namaycush Lake trout
Salmon & Walleye Sander vitreus Walleye
Salmon & Walleye Semotilus atromaculatus Creek chub
Salmon & Walleye Stenodus leucichthys Inconnu
Salmon & Walleye Thymallus arcticus Arctic grayling
Salmon & Walleye Thymallus thymallus European grayling
Sturgeon Acipenser brevirostrum Shortnose sturgeon
Sturgeon Acipenser fulvescens Lake sturgeon
Sturgeon Acipenser transmontanus White sturgeon
Sturgeon Scaphirhynchus albus Pallid sturgeon
Sturgeon Scaphirhynchus platorynchus Shovelnose sturgeon


Katopodis, C, and R Gervais. 2016. “Fish Swimming Performance Database and Analyses.” DFO Can. Sci. Advis. Sec. Res. Doc. 2016/002., 550.