calc_ration_growthfac {LeMaRns}R Documentation

Calculate growth increments

Description

Calculates the amount of food required for fish of a given species and length class to grow according to the von Bertalanffy growth curve in a time step.

Usage

calc_ration_growthfac(
  k,
  Linf,
  nsc,
  nfish,
  l_bound,
  u_bound,
  mid,
  W_a,
  W_b,
  phi_min,
  vary_growth = TRUE,
  growth_eff = 0.5,
  growth_eff_decay = 0.11
)

Arguments

k

A numeric vector of length nfish representing the von Bertalanffy growth parameter (1/yr) for each species.

Linf

A numeric vector of length nfish representing the asymptotic length of each species.

nsc

A numeric value representing the number of length classes in the model.

nfish

A numeric value representing the number of species in the model.

l_bound

A numeric vector of length nsc representing the lower bounds of the length classes.

u_bound

A numeric vector of length nsc representing the upper bounds of the length classes.

mid

A numeric vector of length nfish representing the mid-point of the length classes.

W_a

A numeric vector of length nfish representing the parameter a in the length-weight conversion. See 'Details' for more information.

W_b

A numeric vector of length nfish representing the parameter b in the length-weight conversion. See 'Details' for more information.

phi_min

A numeric value representing the time step of the model.

vary_growth

A logical statement indicating whether growth efficiency should vary for each species (vary_growth=TRUE) or be fixed at the value given by fixed_growth (vary_growth=FALSE). The default is FALSE.

growth_eff

If vary_growth==TRUE, growth_eff is a numeric representing the growth efficiencies of a fish of length 0. If vary_growth==FALSE, growth_eff is a numeric value of length 1 representing a fixed growth efficiency for all fish. The default is 0.5.

growth_eff_decay

A numeric value specifying the rate at which growth efficiency decreases as length approaches Linf. The default is 0.11.

Details

The weight increments of the ith species in the jth length class is calculated by determining the amount an individual will grow in one time step, phi_min, if it were to follow the von Bertalanffy growth curve

L22=(Linf[i]-mid[j])*(1-exp(-k[i]*phi_min)).

The weight of a fish at the mid-point of the size class is calculated using the length-weight relationship

wgt[j,i] = a[i]*mid[j]^b[i],

and similarly the expected change in weight of the the fish is calculated as

growth_inc = (W_a[i]*L22^W_b[i]).

It also has a growth efficiency

g_eff[j, i]=(1-(wgt[j,i]/(W_a[i]*Linf[i]^W_b[i]))^growth_eff_decay)*growth_eff

if vary_growth==TRUE or g_eff[j, i]=growth_eff otherwise.

ration is then calculated by

growth_inc*(1/g_eff[j, i]).

Value

A list object containing ration, sc_Linf, wgt and g_eff. ration is a matrix with dimensions nsc and nfish representing the amount of food required for fish of a given species and length class to grow according to the von Bertalanffy growth curve in a time step. sc_Linf is a numeric vector of length nfish representing the length class at which each species reaches Linf. wgt is a matrix with dimensions nsc and nfish representing the weight of each species in each length class. g_eff is a matrix with dimensions nsc and nfish representing the growth efficiency of each species in each length class.

References

von Bertalanffy, L. (1957). Quantitative Laws in Metabolism and Growth. The Quarterly Review of Biology, 32:217-231

Examples

# Set up the inputs to the function - species-independent parameters
nfish <- nrow(NS_par)
nsc <- 32
maxsize <- max(NS_par$Linf)*1.01 # the biggest size is 1% bigger than the largest Linf
l_bound <- seq(0, maxsize, maxsize/nsc); l_bound <- l_bound[-length(l_bound)]
u_bound <- seq(maxsize/nsc, maxsize, maxsize/nsc)
mid <- l_bound+(u_bound-l_bound)/2

# Set up the inputs to the function - species-specific parameters
Linf <- NS_par$Linf # the von-Bertalanffy asymptotic length of each species (cm).
W_a <- NS_par$W_a # length-weight conversion parameter.
W_b <- NS_par$W_b # length-weight conversion parameter.
k <- NS_par$k # the von-Bertalnaffy growth parameter.
Lmat <- NS_par$Lmat # the length at which 50\% of individuals are mature (cm).

# Get phi_min
tmp <- calc_phi(k, Linf, nsc, nfish, u_bound, l_bound, calc_phi_min=FALSE,
                  phi_min=0.1) # fixed phi_min
phi_min <- tmp$phi_min

# Calculate growth increments
tmp <- calc_ration_growthfac(k, Linf, nsc, nfish, l_bound, u_bound, mid, W_a, W_b, phi_min)
ration <- tmp$ration
sc_Linf <- tmp$sc_Linf
wgt <- tmp$wgt
g_eff <- tmp$g_eff

[Package LeMaRns version 0.1.2 Index]