Type: Package
Title: Simulation of Bird Flight Range
Version: 0.2.2
Description: Functions for range estimation in birds based on Pennycuick (2008) and Pennycuick (1975), 'Flight' program which compliments Pennycuick (2008) requires manual entry of birds which can be tedious when there are hundreds of birds to estimate. Implemented are two ODE methods discussed in Pennycuick (1975) and time-marching computation methods as in Pennycuick (1998) and Pennycuick (2008). See Pennycuick (1975, ISBN:978-0-12-249405-5), Pennycuick (1998) <doi:10.1006/jtbi.1997.0572>, and Pennycuick (2008, ISBN:9780080557816).
License: Apache License version 1.1 | Apache License version 2.0 [expanded from: Apache License]
Encoding: UTF-8
LazyData: true
Imports: utils, Rcpp (≥ 1.0.2), knitr, kableExtra, rmarkdown
Suggests: testthat, covr
RoxygenNote: 7.2.0
Depends: R (≥ 2.10)
VignetteBuilder: knitr
Collate: 'FlyingR.R' 'RcppExports.R' 'birds_documentation.R' 'constant_muscle_mass.R' 'constant_specific_power.R' 'constant_specific_work.R' 'control.R' 'method_2.R' 'method_1.R' 'input_match.R' 'lookup_table2.R' 'misc_functions.R' 'flight_simulation.R' 'migrate.R' 'stopover_mass_calculator.R' 'zzz.R'
LinkingTo: Rcpp
URL: https://github.com/BMasinde/FlyingR
BugReports: https://github.com/BMasinde/FlyingR/issues
NeedsCompilation: yes
Packaged: 2022-06-27 20:14:41 UTC; masinde
Author: Brian Masinde [aut, cre], Krzysztof Bartoszek [ctb, ths]
Maintainer: Brian Masinde <masindeb@live.com>
Repository: CRAN
Date/Publication: 2022-06-27 20:40:02 UTC

Sample 28 birds

Description

Preset birds data, extracted from Flight Pennycuick(2008). Fat mass percentage generated randomly where zero.

Usage

birds

Format

A data frame with 28 observations and 5 variables not counting the name.

Scientific.name

Name of bird species

Empty.mass

Body mass in Kg. Includes fuel (fat mass). In this case the crops were empty but otherwise one should always use the all-up mass (body mass + crop)

Wing.span

Length of wings spread out in meters

Fat.mass

Mass of fat that is consumable as fuel in Kg

Order

Order of the species (passerine = 1 vs non-passerine = 2)

Wing.area

Area of both wing projected on a flat surface in meters squared

Muscle.mass

Mass in Kg. of flight muscles


Range Estimation

Description

Practical range estimation of birds using methods in Pennycuick (1975) Mechanics of Flight. These methods are based on Breguet equations.

Usage

flysim(file, header = TRUE, sep = ",", quote = "\"", dec = ".",
             fill = TRUE, comment.char = "", ..., data = NULL,
             settings = list())

Arguments

file

Arguments for path to data.

header

Logical. If TRUE use first row as column headers

sep

separator

quote

The set of quoting characters. see read.csv

dec

The character used in the file for decimal points.

fill

See read.csv

comment.char

For more details see read.csv

...

further arguments see read.csv

data

A data frame.

settings

A list for re-defining constants. See details.

Details

The option *settings takes the arguments (those particularly required by this function)

Value

S3 class object with range estimates based on methods defined and settings used

Author(s)

Brian Masinde

Examples

flysim(data = birds, settings = list(fatEnergy = 3.89*10^7))
flysim(data = birds,  settings = list(airDensity = 0.905))


Range Estimation

Description

Practical range estimation of birds using methods from Pennycuick (2008).

Usage

migrate(file, header = TRUE, sep = ",", quote = "\"", dec = ".",
               fill = TRUE, comment.char = "", ...,
               data = NULL, settings = list(), method = "cmm",
               speed_control = 1, min_energy_protein = 0.05)

Arguments

file

Path to file where data resides.

header

Logical. If TRUE use first row as column headers

sep

separator

quote

The set of quoting characters. see read.csv

dec

The character used in the file for decimal points

fill

See read.csv

comment.char

For more details see read.csv

...

further arguments see read.csv

data

A data frame with required columns: body mass (Kg), fat mass (Kg), muscle mass (Kg), wing span (m), wing area (m^2), order / taxon (passerines = 1, non passerines = 2).

settings

A list for re-defining constants. See details for these with default values from Pennycuick(2008) and Pennycuick(1998).

method

Methods for protein energy consumption from muscle mass

speed_control

One of two speed control methods. By default 1 is used. 0 is the alternative. The former holds the true airspeed constant while the latter holds the ratio of true airspeed to the minimum power speed constant (V:Vmp constant).

min_energy_protein

Percentage of energy attributed to protein due to metabolism. Default value is 5 percent (0.05). If method "csw" or "csp" is chosen, 2 would be attained from consuming protein in the airframe mass.

Details

The option *control takes the following arguments

Value

S3 class object with range estimates based on methods defined and settings

Author(s)

Brian Masinde

Examples

migrate(data = birds, settings = list(fed = 3.89*10^7))
migrate(data = birds,  method = "cmm", settings = list(airDensity = 0.905))



Stopover mass calculator

Description

During stop-overs birds replenish fat mass. Using simplifications from Lindström 1991. The implementation here is simplistic in that muscle mass is not restored as theory and field experiments have shown.

Usage

stopover.mass.calculator(bodyMass, fatMass, taxon, duration)

Arguments

bodyMass

left-over after running function migrate

fatMass

left-over after running function migrate

taxon

(or order) classified into two categories (passerines and non-passerines)

duration

number of hours spent at stop-over site. This must be an integer see example

Value

fat_mass, body_mass

Examples

stopover.mass.calculator(bodyMass = c(2.2, 3.4), fatMass = c(0.34, 0.42),
taxon = c(1,2), duration = 36L)