dycove.sim.vegetation.MultipleVegetationSpecies

class dycove.sim.vegetation.MultipleVegetationSpecies(species_list: list[VegetationSpecies])[source]

A class for handling multiple vegetation species.

We want to keep the hydrodynamics code clean, avoiding extra if statements regarding the number of species. This class handles the extra steps required, mostly containing wrappers of functions from VegetationSpecies that distribute the tasks to each species present.

Parameters:

species_list (list[VegetationSpecies]) – A list of VegetationSpecies objects.

__init__(species_list: list[VegetationSpecies])[source]

Methods

__init__(species_list)

check_species_consistency()

colonization(ets, min_depths, max_depths, fl_dr)

compute_veg_model_quantities()

Function to compute weighted area averages of model vegetation variables.

get_drag()

Return average of drag coefficients for all species.

mortality(hydro_vars, morpho_vars)

root_growth(ets)

stemdiam_growth(ets)

stemheight_growth(ets)

update_lifestage_and_stemdensity()

Attributes

cohorts

compute_veg_model_quantities()

Function to compute weighted area averages of model vegetation variables.

Handles the various fractions that are tracked within each grid cell.

This function works the same no matter the number of species, and so it is shared by both classes.

get_drag()[source]

Return average of drag coefficients for all species.

Theoretically, we could take the weighted average of drag attributes based on species and lifestage, but DFM can only accept a single value. So for consistency we use a constant value throughout the simulation.