pub struct RootSystem {
pub root_type: RootType,
pub max_depth_m: f32,
pub spread_radius_m: f32,
pub water_uptake_rate: f32,
}Expand description
Root system properties.
Fields§
§root_type: RootType§max_depth_m: f32§spread_radius_m: f32§water_uptake_rate: f32Implementations§
Source§impl RootSystem
impl RootSystem
pub fn oak() -> Self
pub fn grass() -> Self
Sourcepub fn root_zone_fraction(&self, soil_depth_m: f32) -> f32
pub fn root_zone_fraction(&self, soil_depth_m: f32) -> f32
Root zone fraction — how much of the soil column this root system can access (0.0–1.0).
fraction = min(1.0, max_depth_m / soil_depth_m)
Shallow roots in deep soil access less water; deep roots in shallow soil access all.
soil_depth_m— soil column depth (meters)
Sourcepub fn water_uptake_mm(
&self,
soil: &SoilWater,
transpiration_demand_mm: f32,
) -> f32
pub fn water_uptake_mm( &self, soil: &SoilWater, transpiration_demand_mm: f32, ) -> f32
Water uptake from soil (mm/day).
Actual uptake is the minimum of:
- Transpiration demand (what the canopy needs)
- Root capacity (
water_uptake_ratescaled to soil area, liters/day → mm/day) - Available water in the root zone
Root zone depth limits access: shallow roots in deep soil only see a fraction of available water.
soil— current soil water statetranspiration_demand_mm— canopy transpiration demand (mm/day)
Sourcepub fn stabilization_factor(&self) -> f32
pub fn stabilization_factor(&self) -> f32
Soil stabilization factor (0–1, dimensionless). Fibrous roots stabilize better per area.
Trait Implementations§
Source§impl Clone for RootSystem
impl Clone for RootSystem
Source§fn clone(&self) -> RootSystem
fn clone(&self) -> RootSystem
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RootSystem
impl Debug for RootSystem
Source§impl<'de> Deserialize<'de> for RootSystem
impl<'de> Deserialize<'de> for RootSystem
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RootSystem
impl RefUnwindSafe for RootSystem
impl Send for RootSystem
impl Sync for RootSystem
impl Unpin for RootSystem
impl UnsafeUnpin for RootSystem
impl UnwindSafe for RootSystem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more