Species (Populations)

Popdyn species are created independently to solve their population (without any regard for parameters or a domain), and possess unique traits which are specified using the Species Classes:

Species(name, **kwargs) Top-level species customization
Sex(name, sex, **kwargs) Child of Species, containing sex-based attributes
AgeGroup(species_name, group_name, sex, …) Child of Sex, containing age information

Species may possess attributes in a hierarchy, whereby the entire species, an individual sex (gender), or range of ages (stage group) can be customized separately. For convenience, species attributes in a model domain are inherited using the hierarchy outlined in the figure below. Species are linked in the model domain using their name, which is the minimum requirement to create a species.

_images/species_inheritance.png

Note

For inheritance to Sex and Age Ranges to work, the species names must align

The Species Class

Attributes related to a specific species are specified in the Species Class. These attributes are inherited by Sexes or Age Groups of species with the same name if they are added to a model domain.

Dispersal is also applied through the add_dispersal() method, see Dispersal for further information on these methods.

class popdyn.Species(name, **kwargs)

Top-level species customization

Parameters:

name (str) – Name of the species (example “Moose”), which is limited to 25 characters. The Species name is transformed into a unique key that is utilized to determine inheritance between Species, Sex, and Age Groups in the model domain.

Keyword Arguments:
 
contributes_to_density (bool) –

This species contributes to density calculations (default: True)

density_threshold (float) –

The density at which density-dependent mortality has an effect (default: 1.)

density_scale (float) –

This is the rate of density dependent mortality, applied linearly between the density_threshold and the maxmum density (default: 1.)

minimum_viable_population (float) –

The minimum population that may exist within a statistically-derived region. All of the population will not be allowed to exist if below this value (default: 0.)

minimum_viable_area (float) –

The minimum statistically-derived area to apply the minimum_viable_population to (default: 0.)

live_past_max (bool) –

This is a switch that determines whether a species may live past the oldest age group maximum age. (default: False)

global_population (bool) –

The global total population in a Domain is calculated using all Species with the global_population kwarg set to True. (default: True)

use_global_density (bool) –

If True, density-based calculations (i.e. density-dependent mortality, fecundity) will be completed using the global density, and not the species-level density. (default: False)

add_dispersal(dispersal_type, args=())

Sequentially add disperal methods to the species

Attention

Current solvers apply dispersal in the order that they are applied through these calls

Parameters:
  • dispersal_type (str) – One of the dispersal.METHODS keywords
  • args (tuple) – Arguments to accompany the dispersal method

Sexes (Gender)

A species that has information related to Sex (gender), but age (stage groups) are optional. The Sex Class:

class popdyn.Sex(name, sex, **kwargs)

Child of Species, containing sex-based attributes

Parameters:
  • name (str) – Name of the species (example “Moose”), which is limited to 25 characters. The Species name is transformed into a unique key that is utilized to determine inheritance between Species, Sex, and Age Groups in the model domain.
  • sex (str) – Name of sex, must be one of ‘male’ or ‘female’. Case is not important.
Keyword Arguments:
 
contributes_to_density (bool) –

This species contributes to density calculations (default: True)

density_threshold (float) –

The density at which density-dependent mortality has an effect (default: 1.)

density_scale (float) –

This is the rate of density dependent mortality, applied linearly between the density_threshold and the maxmum density (default: 1.)

minimum_viable_population (float) –

The minimum population that may exist within a statistically-derived region. All of the population will not be allowed to exist if below this value (default: 0.)

minimum_viable_area (float) –

The minimum statistically-derived area to apply the minimum_viable_population to (default: 0.)

live_past_max (bool) –

This is a swtich that determines whether a species may live past the oldest age group maximum age. (default: False)

Age (Stage) Groups

A species that has both sex and age information is created using the AgeGroup class:

class popdyn.AgeGroup(species_name, group_name, sex, min_age, max_age, **kwargs)

Child of Sex, containing age information

Parameters:
  • species_name (str) – Name of the species (example “Moose”), which is limited to 25 characters. The Species name is transformed into a unique key that is utilized to determine inheritance between Species, Sex, and Age Groups in the model domain.
  • group_name (str) – Name of the group associated with the age range (example “newborn”), which is limited to 25 characters. The group name is transformed into a unique key.
  • sex (str) – Name of sex, must be one of ‘male’ or ‘female’. Case is not important.
  • min_age – The minimum age included in this group.
  • max_age – The maximum age included in this group.
Keyword Arguments:
 
contributes_to_density (bool) –

This species contributes to density calculations (default: True)

density_threshold (float) –

The density at which density-dependent mortality has an effect (default: 1.)

density_scale (float) –

This is the rate of density dependent mortality, applied linearly between the density_threshold and the maxmum density (default: 1.)

minimum_viable_population (float) –

The minimum population that may exist within a statistically-derived region. All of the population will not be allowed to exist if below this value (default: 0.)

minimum_viable_area (float) –

The minimum statistically-derived area to apply the minimum_viable_population to (default: 0.)

live_past_max (bool) –

This is a swtich that determines whether a species may live past the oldest age group maximum age. (default: False)