dycove.sim.coupler.VegetationCoupler
- class dycove.sim.coupler.VegetationCoupler(engine)[source]
Class to handle coupling between hydrodynamic model and vegetation model.
This class orchestrates the vegetation update cycle by coordinating between the hydrodynamic engine and vegetation model at each ecological timestep.
Vegetation object (
self.veg) may be an instance ofVegetationSpeciesorMultipleVegetationSpecies. If it is the latter, the methods inupdate()are distrubuted to each individual species under the methods ofMultipleVegetationSpecies.Methods
__init__(engine)apply_growth(simstate)Apply precomputed growth rates for stem height, diameter, and root depth.
compute_mortality(hydrostats)Compute mortality based on hydrodynamic statistics.
Compute vegetation quantities (stem density, diameter, height), to be pushed to hydro model as single values at each grid cell
do_colonization(simstate, hydro)Compute colonization based on hydrodynamic conditions.
lifestage_update(simstate)Update ETS and eco_year counter, then update vegetation life stage and stem density if we started a new eco year.
Inject updated vegetation properties into hydrodynamic model arrays.
update(simstate, hydro)Advance vegetation by one eco timestep.
- apply_growth(simstate)[source]
Apply precomputed growth rates for stem height, diameter, and root depth.
- compute_veg_model_quantities()[source]
Compute vegetation quantities (stem density, diameter, height), to be pushed to hydro model as single values at each grid cell
- lifestage_update(simstate)[source]
Update ETS and eco_year counter, then update vegetation life stage and stem density if we started a new eco year.
- push_veg_to_hydro()[source]
Inject updated vegetation properties into hydrodynamic model arrays.
Replaces the current vegetation arrays in the hydro model with values from the vegetation module. Skips injection if no vegetation exists (due to delayed colonization, total mortality, or absence on this subdomain).