‘Flight’ is a computer program that accompanies Pennycuick (2008) which in detail discusses the theory behind bird flight. However, there are two drawbacks with the program. First, it is only available for Windows OS, and second, it requires manual imputation of bird measurements which is a tedious process when one has thousands of birds to analyse. Thus, the aim of this project is to implement in R, range estimation methods.

The theory behind flight mechanism has evolved over time. Pennycuick (1975) use Breguet equations intended for range estimation in fixed wing aircraft. This methods rely on studies that quantify each body part that contributes to lift and drag during flight. In Pennycuick (1975), fat mass is assumed to be the only source of fuel.

Later ornithologists had hypotheses that in long-distance bird migration a more complex process occurs. And these were confirmed by field study where samples of birds were weighed for fat mass and muscle mass before migration and after migration (Pennycuick and Battley 1998). Considering the tremendous distances covered by migrating birds, at great cost, this branch of ornithology is more concerned with the mechanical and chemical process involved during migration.

In the *Methods* section, the various methods are discussed in a step by step manner should the reader wish to implement the methods. Also included, are snippets of code on how to use the package and tables of results. Under *Future works*, a discussion of the road map for the package to incorporate more functionality from ‘Flight’.

Here we outline the methods in Pennycuick (1975). Five body measurements are necessary in estimating the flight range of birds. These are:

**All up mass**: The body mass (Kg.) including contents of the crop, fuel (fat mass), and any other equipment the bird has to carry for the duration of the flight.**Wing span**: In meters measured from tip to tip of the fully outstretched wings.**Fat mass**: Mass of fat that is consumable as fuel.**Order**: The taxon the bird belongs to (Passerine vs non-passerine). These two taxon in theory have different metabolism rates.**Wing area**: Area of both wings projected on a flat surface, including the body part in-between the wings.

This method is intended for passerines with body mass less than 50 grams. Below is a list of constants or assumptions (variable definition within the package).

Profile power constant \(C_{pro}\) (ppc = 8.4). This can also be adjusted.

Energy content of fuel per kg \(e\) (eFat = 3.9 * 10 ^ 7)

Acceleration due to gravity \(g\) (g = 9.81)

Mechanical conversion efficiency \(\eta\) (mce= 0.23).

Induced power factor \(k\) (ipf= 1.20)

Ventilation and circulation power \(R\) (vcp = 1.10)

Air density at flight height \(\rho\). This can be changed according to altitude the bird species is known to fly (airDensity = 1.00).

Body drag coefficient \(C_{Db}\)(bdc = 0.10)

Basal metabolic rate \(\Pi_m\) empirical constants

alpha passerines = 6.25; alpha non-passerines = 3.79

delta passerines = 0.724; delta non-passerines = 0.723

Step1: With all-up mass and fat mass defined, the first step is to derive the fuel ratio.

\[ F = \frac{fat \ mass}{all-up \ mass} \]

Next calculate *profile power ratio* alternative to defining it as 1.20 for each bird, as was the case in the initially. Instead the profile power constant (\(C_{pro}\)) is used to derive the profile power ratio:

\[ X_1 = \frac{C_{pro}}{R_a} \]

Where the \(C_{pro}= 8.4\) and \(R_a\) is the *aspect ratio*: \[
R_a = \frac{B^2}{wing \ area}
\]

where \(B\) is the wing span.

The box-plot below shows the distribution of profile power ratio of a sample of 28 birds (preset birds) from ‘Flight’ program.

In Pennycuick (1975), a table is provided for interpolation of metabolic power ratio based on body mass (at start of flight) and the wing span. However, in this implementation, the metabolic power ratio is calculated using the formulas provided.

\[ X2 = \frac{6.03 \ \alpha \ \eta \ \rho^{0.5} \ B^{3/2} M ^{\delta - 5/3}}{k^{3/4}g^{5/3}} \]

Where \(\alpha \ \text{and} \ \delta\) are constants from basal metabolism (see equations below), \(\rho\) as air density, \(B\) as wing span, and \(M\) as body mass.

- Basal metabolism for passerines:

\[ \Pi_m = \alpha M^{\delta} \]

\[ \delta = 0.724 \]

\[ \alpha = 6.25 \]

- Basal metabolism for non-passerines:

\[ \Pi_m = \alpha M^{\delta} \]

\[ \delta = 0.723 \]

\[ \alpha = 3.79 \]

With both metabolism power ratio and profile power ratio defined, enables interpolation of the drag factor (D) from Table 1 below.

In calculating the lift:drag ratio, the disk and equivalent flat-plate areas of a bird are important. The disc area (\(S_d\)) is the area of complete circle under which the wing span is the diameter, while the equivalent flat-plate area (\(A\)) is a product of the frontal area and drag coefficient of a bird.

\[ S_d = \frac{\pi B^2}{4} \]

\[ A = S_bC_{Db} \]

\[ S_b = 0.00813m^{0.666} \]

\[ C_{Db} = 0.1 \]

Pennycuick (1975) and Pennycuick (2008). In Pennycuick (1975) the equivalent flat-plate area is defined as below.

\[ A = (2.85 \times 10^{-3})M^{2/3} \] In the package we use Pennycuick (2008) definition instead (\(A = S_b \times C_{Db}\)).

Next step calculate effective lift:drag ratio from the formula:

\[ \bigg( \frac{L}{D}\bigg)' = \frac{D}{k^{0.5}R} \bigg( \frac{S_d}{A}\bigg)^{0.5} \]

This method corrects for change in effective lift:drag ratio during flight by increasing the lift:drag ratio by \(10F\%\).

Finally, the range (in meters) is estimated using Breguet equation:

\[ Y = \frac{e \eta}{g} \bigg( \frac{L}{D}\bigg)' ln \frac{1}{1 - F} \]

Method 2 is only appropriate for **non-passerines** and or birds with __body mass greater than 50 grams. Lift to drag ratio is calculated at the beginning and at the end of the flight. Lift to drag ratio at the start of flight is calculated using the all-up mass at start, while at end of flight the mass of fuel to be used during the flight is subtracted from the all up mass. Same assumptions are used as in Method 1.

*Step 1* Fat fraction is computed as before (as a ratio of fat mass and all-up body mass).

*Step 2* An estimate of the body mass at end of flight is attained by subtracting fuel mass to be consumed during flight from the all-up body mass.

*Step 3* Calculate *metabolic power ratio* but this time using body mass at end of flight.

\[ X2_{end} = \frac{6.03 \ \alpha \ \eta \ \rho^{0.5} \ B^{3/2} M_2 ^{\delta - 5/3}}{k^{3/4}g^{5/3}} \\ \\ \text{where } M_2 = \ \text{body mass at end of flight} \]

*Profile power constant* calculation remains the same as in method 1.

\[ X_1 = \frac{C_{pro}}{R_a} \]

*Step 4* To find drag \((D_{end})\) at end of flight, metabolic power ratio and the profile power constant are summed and interpolation is done on Table 1.

*Step 5* Disk area and flat plate area are components that contribute to lift. While disk area is independent of body mass, flat-plate area is not. Therefore, flat-plate area is computed using body mass at end of flight.

\[ S_d = \frac{\pi B^2}{4} \]

\[ A_{end} = S_bC_{Db} \] \[ S_b = 0.00813 \times \ M_2^{0.666} \] \[ C_{Db} = 0.1 \] Where \(M_2\) is body mass at end of flight.

*Step 6* Proceed to calculate effective lift:drag ratio at end of flight.

\[ \bigg( \frac{L}{D}\bigg)'_{end} = \frac{D_{end}}{k^{0.5}R} \bigg( \frac{S_d}{A_{end}}\bigg)^{0.5} \]

*Step 7* To avoid repetition, Pennycuick (1975) demonstrates how to estimate metabolic power constant at start by dividing the estimate at end of flight by some factor of the fuel ratio.

\[ X2_{start} = \frac{X2_{end}}{\bigg(\frac{1}{1 - F}\bigg)^{7/4}} \]

Followed by interpolation on Table 1 to get drag at start of flight \(D_{start}\).

*Step 8* Get square root of ratio between disk area and flat-plate area at beginning of flight as:

\[ \bigg(\frac{S_d}{A}\bigg)^{0.5}_{start} = \frac{\bigg(\frac{S_d}{A}\bigg)^{0.5}_{end}}{\bigg(\frac{M_1}{M_2} \bigg)^{0.5}} \]

Where \(M_1\) and \(M_2\) are all-up mass at beginning and body mass at end of flight respectively.

*Step 9* Calculate lift to drag ratio using the start of flight estimates then get the average of the two lift to drag ratios.

*Step 10* Get range using the mean of the lift:drag ratio.

\[ Y = \frac{e \eta}{g} \bigg( \frac{L}{D}\bigg)'_{avg} ln \frac{1}{1 - F} \]

Breguet equation used in Method 1 and 2 outlined above assume that lift to drag ratio remains constant through out the flight. This is possible for fixed wing aircraft by manipulating flight speed. There is no evidence that birds try to maintain lift to drag ratio constant during flight Pennycuick and Battley (1998). Furthermore, fat mass is assumed to be the only source of fuel while birds are known to consume part of the engine (use protein in flight muscles and air-frame as supplementary fuel) (Pennycuick 1998, @penny03, @penny08). This leads to an increase in lift to drag ratio during the flight as result of the reduction in body mass and thus, an increase in flight range (Pennycuick and Battley 1998). In the methods discussed above, compensation for change in lift to drag ratio is done by adding 10% of fuel to the lift to drag ratio (Method 1) or averaging lift to drag ratio before start of flight and at the end of flight (Method 2). Pennycuick and Battley (1998) cites studies which found that protein is replenished faster during short stop-overs compared to fat mass. Furthermore, the constant (\(e\)) cannot be assumed to be constant because of two different sources of fuel. Protein and fat have different energy content.

Other than derive equations via ODE, Pennycuick (1998) found it more useful to use the time-marching computation. This simulation assumes that mechanical and chemical powers of a bird are held constant for a short duration during flight (6 minutes), fat and muscle mass are deducted by any one of the three criteria:

Constant specific work

Constant specific power

Constant muscle mass

Pennycuick and Battley (1998) describes time-marching as calculating amounts of fat and protein consumed during a short period (6 minutes) during which all variables including power and speed are assumed constant. After every 6 minute interval, the birds mass composition is revised taking into account the small changes in fat and protein consumed during the interval. In ‘Flight’ this is repeated until the required distance it achieved or it runs out of fat mass. This procedure places no restriction on speed. Pennycuick and Battley (1998) points out that the remaining fat and mass at the end of the flight can be compared with field observations.

The scope of this project involves implementing the time-marching simulation with the constant muscle mass criterion.

Time-marching simulations really on the speed, total mechanical power, and the chemical power.

The minimum power speed \(V_{mp}\) is central in time-marching computation. Note, it is dependent on the air density, and all-up body mass.

\[ V_{mp} = \frac{0.807k^{1/4} m ^{1/2}g^{1/2}}{\rho^{1/2} B^{1/2} S_{b}^{1/4}C_{Db}^{1/4}} \]

The true air-speed is then: \[ V_t = 1.2 \times V_{mp} \]

The total mechanical is a sum of three powers:

**Parasite power**: The rate at which power must be done to overcome drag of body (Pennycuick 2008). For any streamlined body the drag is expressed as:

\[ D_b = \frac{\rho V_t^2 S_b C_{Db}}{2} \] And parasite power is found by multiplying the drag by the true airspeed \(V_t\):

\[ P_{par} = \frac{\rho V_t^3 S_b C_{Db}}{2} \]

where \(\rho\) is the air density, \(V_t\) is the true airspeed, \(S_b\) is the frontal area of the body and \(C_{Db}\) is the body drag coefficient.

**Profile power**This is power needed to overcome the effects of the body drag. And this is a multiple of*profile power ratio*(X1) and the absolute minimum power \(P_{am}\):

\[ P_{pro} = X1 \times P_{am} \]

\[ P_{am} = \frac{(1.05 k ^{3/4} m^{3/2} g^{3/2} S_b^{1/4} C_{Db}^{1/4})}{(\rho^{1/2}B^{3/2})} \] and \(X_1\):

\[ X_1 = \frac{C_{pro}}{R_a} \]

**Induced power**Power required to support a birds wight during forward flight.

\[ P_{ind} = \frac{(mg^2)}{2V_{t}Sd\rho} \]

The total mechanical power is found by summing the profile power, parasite power and induced power. Parasite power and induced power are depend on the true airspeed during flight.

\[ P_{mech} = P_{pro} + P_{par} + P_{ind} \]

Pennycuick (2008) states that mechanical power is derived from measurements made in unaccelerated flight (i.e from forces and speeds that do not involve physiology), however, the chemical power is derived using measurements from physiological experiments. These measurements include:

Rates of consumption of fuel

Rate of consumption of oxygen

Metabolism rate

It is only useful to estimate this in long aerobic flight such as migration (Pennycuick 2008).

To estimate the chemical power during a flight interval, the mechanical power is first estimated (power required from muscles to support the weight against gravity ). Then the mechanical power is divided by the mechanical conversion efficiency (between 0 and 1), in ‘Flight’ the default is 0.23. The basal metabolism rate is added because metabolism is a body function that occurs irrespective of what the bird is doing. Estimate derived so far is increased by \(10\%\) to account for heart and lungs. This chemical power expresses the total energy required by a bird to sustain flight during an interval.

To estimate the flight range, first true airspeed is estimated from the minimum power speed and used to calculate the total mechanical power. Total mechanical power is converted to chemical power then divided by the energy content of fat (since fat is the only source of fuel in this scenario). Multiplying this by the calculation interval (default 6 minutes or 360 seconds) gives the range achieved during this interval in m/s. It was noted that decreasing the flight interval has no effect on range only that the simulation is more fine grained. This procedure is iterated over until fat mass decreases to zero. In ‘Flight’ there is an option to attribute a small percentage of the chemical power to protein from the muscle mass, usually \(5\%\).

It is not fair comparison between the methods discussed in Pennycuick (1975) and the methods in Pennycuick (1998) and Pennycuick (2008) and therefore the tables with range estimations are presented separately. Default constants are used for all the observations and the air density was set to 1.00 which is about 2063 meters above sea level.

Data used as an example, is from the program ‘Flight’ (Pennycuick 2008) version 1.2.5.2. For some observations the fat mass and muscle mass were zero, ‘Flight’ requires that fat mass is non-zero to calculate range since it is the main source of fuel. To overcome this, fat mass was randomly generated between \(18\%\) and about \(35\%\) of the all-up mass (empty mass because crop is empty). For muscle mass, by default, ‘Flight’ uses the muscle fraction 0.17, and therefore this was used to derive the muscle mass.

\[ muscle \ fraction = \frac{muscle \ mass}{all-up \ mass} \]

`results_fixed_wing <- flying::flysim(data = birds) `

```
## ## settings not defined. Using default constants.
##
## Default airDensity = 1.00 kg m^3
```

```
# range
results_fixed_wing$range
```

```
## Anser anser Hydrobates pelagicus Pachyptila desolata
## 3193.8 3252.9 4192.0
## Regulus regulus Calidris canutus Aegypius monachus
## 1521.6 4240.6 3951.6
## Limosa lapponica Anas crecca Hirundo rustica
## 11209.3 3631.4 3898.0
## Cygnus cygnus Sylvia borin Luscinia luscinia
## 3296.0 2801.7 2301.9
## Corvus monedula Anas penelope Fregata magnificens
## 2452.7 5428.0 10527.4
## Larus ridibundus Diomedea exulans Phalacrocorax carbo
## 5847.5 5436.8 2918.8
## Gyps rueppellii Torgos tracheliotus Ardeotis kori
## 6808.3 6334.7 4211.5
## Sturnus vulgaris Fringilla coelebs Carduelis spinus
## 4197.4 2867.9 2926.6
## Turdus philomelos Calidris tenuirostris Buteo swainsoni M
## 3025.5 6053.5 5422.5
## Buteo swainsoni F
## 6994.8
```

```
# constants used
results_fixed_wing$constants
```

```
## ppc eFat eProtein g mce ipf
## 8.40e+00 3.90e+07 1.80e+07 9.81e+00 2.30e-01 1.20e+00
## vcp airDensity bdc alpha1 alpha2 delta1
## 1.10e+00 1.00e+00 1.00e-01 6.25e+00 3.79e+00 7.24e-01
## delta2 invPower speedRatio muscDensity phr
## 7.23e-01 1.20e-06 1.20e+00 1.06e+03 2.20e+00
```

In the simulation in Flight program, air density is set to 1 (Altitude 2063 meters above sea-level), muscle is held constant (Protein burn criterion), fat energy at \(3.9E+07\), continuous flapping style (Flight style), and minimum energy from protein at \(0\%\) instead of the default \(5\%\). Induced power factor is set to 1.20 for all birds. The mitochondrial fraction is set to hold constant.

‘Flight’ provides two methods of speed control, true air-speed to minimum power speed ratio is held constant or true air-speed is held constant. Both of these scenarios are compared to the output of this package below:

See Table 3 and Table 4 for comparison with ‘Flight’.

```
# constant speed
results_cmm_cs <- flying::migrate(data = birds, speed_control = "constant_speed")
```

```
## ## settings not defined. Using default constants.
##
## Default airDensity = 1.00 kg m^3
```

`results_cmm_cs$range`

```
## Anser anser Hydrobates pelagicus Pachyptila desolata
## 3090.212 2670.168 3697.655
## Regulus regulus Calidris canutus Aegypius monachus
## 1112.737 3815.854 3510.380
## Limosa lapponica Anas crecca Hirundo rustica
## 11422.128 3388.010 2922.039
## Cygnus cygnus Sylvia borin Luscinia luscinia
## 3093.674 2251.541 1867.619
## Corvus monedula Anas penelope Fregata magnificens
## 2030.797 5192.960 9892.095
## Larus ridibundus Diomedea exulans Phalacrocorax carbo
## 5311.779 5505.702 2606.114
## Gyps rueppellii Torgos tracheliotus Ardeotis kori
## 6437.457 5791.601 3914.659
## Sturnus vulgaris Fringilla coelebs Carduelis spinus
## 3570.048 2384.724 2221.557
## Turdus philomelos Calidris tenuirostris Buteo swainsoni M
## 2688.390 5657.302 5076.476
## Buteo swainsoni F
## 6432.601
```

```
# constant ratio between true air-speed and minimum power speed
results_cmm_cratio <- flying::migrate(data = birds, speed_control = "vvmp_constant")
```

```
## ## settings not defined. Using default constants.
##
## Default airDensity = 1.00 kg m^3
```

`results_cmm_cratio$range`

```
## Anser anser Hydrobates pelagicus Pachyptila desolata
## 3007.666 2585.928 3578.702
## Regulus regulus Calidris canutus Aegypius monachus
## 1076.763 3684.099 3424.932
## Limosa lapponica Anas crecca Hirundo rustica
## 10656.722 3267.216 2789.200
## Cygnus cygnus Sylvia borin Luscinia luscinia
## 3016.846 2147.015 1798.886
## Corvus monedula Anas penelope Fregata magnificens
## 1975.244 4952.667 9508.971
## Larus ridibundus Diomedea exulans Phalacrocorax carbo
## 5124.442 5378.213 2548.818
## Gyps rueppellii Torgos tracheliotus Ardeotis kori
## 6146.924 5559.672 3756.543
## Sturnus vulgaris Fringilla coelebs Carduelis spinus
## 3378.812 2275.475 2119.291
## Turdus philomelos Calidris tenuirostris Buteo swainsoni M
## 2571.456 5381.771 4887.604
## Buteo swainsoni F
## 6142.628
```

In this section, aim is to discuss the future plan of the package so that it incorporates as many features from Flight program as possible.

Pennycuick and Battley (1998) find that holding specific work constant is most realistic criteria for determining how much fuel and protein to be withdrawn during 6 minute intervals of flight. This is in comparison with field observations. Specific work is defined as work done by unit mass of contractile tissue muscle. Further, Pennycuick and Battley (1998), states that flight muscles contain myofibrils and mitochondria, which are treated separately in the simulation. To be exact enough mass of myofibrils is reduced by an amount sufficient to restore specific work to the value it had at beginning of flight. In addition, fuel energy corresponding to mass of dry protein consumed is deducted from energy that would otherwise come from fuel/fat consumption.

Holding the specific power constant is a third option in Flight program. In this scenario, just enough protein from muscle mass is used to maintain the specific power estimated at beginning of flight.

In Flight program user has an option to specify minimum percentage of energy that should come from protein. It is possible that muscle mass alone would not be able sustain this, and therefore some of the protein can come from the air-frame.

Initial climb, calculates the power required by the bird at start of flight. It is possible that a bird maybe to heavy to fly under some conditions. In Table 3 and 4 there were such cases.

Pennycuick, Colin J. 1975. “Mechanics of Flight.” In *Avian Biology*, edited by D.S. Farner and King J.R, 5:1–75. New York.

———. 1998. “Computer Simulation of Fat and Muscle Burn in Long-Distance Bird Migration.” *Journal of Theoretical Biology* 191 (1): 47–61. https://doi.org/https://doi.org/10.1006/jtbi.1997.0572.

———. 2008. *Modelling the Flying Bird*. First Edition. Vol. 5. New Jersey: Elsevier.

Pennycuick, Colin J., and Philip F. Battley. 1998. “Burning the Engine: A Time-Marching Computation of Fat and Protein Consumption in a 5420-Km Non-Stop Flight by Great Knots, Calidris Tenuirostris.” *Journal of Theoretical Biology* 191 (1): 47–61. https://doi.org/https://doi.org/10.1006/jtbi.1997.0572.