landlab.components.species_evolution.zone_taxon

ZoneTaxon object of SpeciesEvolver.

class ZoneTaxon[source]

Bases: Taxon

A taxon based in zones.

A ZoneTaxon is composed of members of a lower taxonomic level that each exists within a Zone object. Taxonomic rank is not considered by this class despite the use of the term, ‘speciation’, which is used herein to generally describe creation of a child taxon object.

All zones of the taxon can be obtained with the attribute, zones that are the objects that manage the geographic aspect of taxon member populations. The total geographic extent of all populations is depicted by the range_mask attribute. The zones of a ZoneTaxon instance are created and updated using a ZoneController. At model time steps, the connectivity of zones over time is obtained using attributes of the Zone object.

The evolution of this taxon type is carried out in two stages during a model time step. In the first stage, the zones of the taxon are updated as the result of zone connectivity between the prior and current step in the method, _update_zones. This method is the primary implementation of taxon dispersal and it is called in a stage prior to other evolutionary processes so that all taxa are positioned in their landscape locations prior to the other processes.

In the second stage, processes are carried out in methods that are readily expanded or overridden when needed. The primary methods of second stage macroevolution are _evaluate_dispersal, _evaluate_speciation, and _evaluate_extinction. The evaluate dispersal method is intended to modify dispersal conducted in the first stage and it has no effect unless it is expanded or overridden to have an effect. Processes other than those listed above can be called by expanding or overridding the _evolve method.

The taxon is allopatric when it is associated with/exists within multiple zones (signifying multiple member populations). A timer is started when a taxon becomes allopatric. Allopatric speciation occurs once the timer reaches or exceeds the time_to_allopatric_speciation initialization parameter. If the initialization parameter, persists_post_speciation is True (default), a child taxon is created in each zone except one zone (the largest by area) that becomes the sole zone of the taxon. If persists_post_speciation is set to False, a child taxon is created in each and every zone, and the parent no longer occupies any zones, and therefore the parent taxon is no longer extant.

Extinction occurs when the taxon is no longer associated with any zones. This occurs when zones in the prior time step do not overlap zones in the current time step, signifying the geographic range of the taxon is no more. A taxon can become no longer extant also when the taxon speciates and persists_post_speciation is False signifying that the parent taxon has evolved into multiple taxon distinct from the original taxon.

The following columns will be added to the record_data_frame of the SpeciesEvolver instance that tracks objects of this Taxon: ‘speciations’ and ‘extinctions’, which are the counts of these variables at time steps. Another column, ‘pseudoextinctions’ will be included when persists_post_speciation is False. This variable is the count of occurrences when a parent taxon became non-extant due to speciation and not because of an absence of zones.

Initialize a taxon.

Parameters:
  • zones (list of Zones) – The initial SpeciesEvolver Zones where the taxon is located.

  • parent (Taxon, optional) – A SpeciesEvolver taxon that is the parent taxon. The default value, ‘None’ indicates no parent.

  • time_to_allopatric_speciation (float, int, optional) – The delay in model time to speciate following taxon geographic fragmentation, indicated by multiple objects in the attribute, zones. Speciation occurs at the time step when the delay is reached or exceeded. The default value of 0 indicates speciation occurs at the same time step as geographic fragmentation.

  • persists_post_speciation (boolean, optional) – When ‘True’, the default, taxon persists despite speciation. When ‘False’ and following speciation, the taxon is no longer extant.

__init__(zones, parent=None, time_to_allopatric_speciation=0, persists_post_speciation=True)[source]

Initialize a taxon.

Parameters:
  • zones (list of Zones) – The initial SpeciesEvolver Zones where the taxon is located.

  • parent (Taxon, optional) – A SpeciesEvolver taxon that is the parent taxon. The default value, ‘None’ indicates no parent.

  • time_to_allopatric_speciation (float, int, optional) – The delay in model time to speciate following taxon geographic fragmentation, indicated by multiple objects in the attribute, zones. Speciation occurs at the time step when the delay is reached or exceeded. The default value of 0 indicates speciation occurs at the same time step as geographic fragmentation.

  • persists_post_speciation (boolean, optional) – When ‘True’, the default, taxon persists despite speciation. When ‘False’ and following speciation, the taxon is no longer extant.

__new__(**kwargs)
property extant

The living state of the taxon.

The taxon lives at the current model time if True. The taxon is extinct as of the current model time if False.

property parent

The parent taxon.

The parent is the taxon object that produced this object. A value of None indicates no parent taxon.

property range_mask

A mask representing the geographic extent of the taxon.

The mask is an array with a length of grid number of nodes. The taxon exists at nodes where mask elements are True. The mask of a ZoneTaxon object is the union of all of its zone masks.

property tid

The identifier of the taxon.

The identifier is an integer automatically and uniquely assigned by SpeciesEvolver once the component begins tracking the taxon. It is read-only as it should not be changed once this parameter is set.

property zones

The zones of the taxon.