rootwater.sapflow |
The Sap flow toolbox |
The Sap flow toolbox¶
Sap velocity and sap flow is a very interesting means to monitor xylem water dynamics in higher plants (i.e. trees in our case). Since a mere flow conversion is likely to result in erroneous assumptions (Čermák et al., 2004), we have compiled a couple of sapwood-related functions to estimate active sapwood area for sap velocity conversion to sap flow.
Note
This toolbox is by no means complete nor exhaustive. Please regard it as helper functions which require throughout testing and deserve substantial extension to further application cases.
Note
To get started and for direct application (tested for beech trees) use rootwater.sapflow.sap_calc and provide a pandas.DataFrame with measured sap velocity from East30 sensors (in cm/h).
References
Čermák, J., J. Kučera, and N. Nadezhdina (2004), Sap flow measurements with some thermodynamic methods, flow integration within trees and scaling up from sample trees to entire forest stands, Trees, 18(5), 529–546, doi:10.1007/s00468-004-0339-6.
-
rootwater.sapflow.
A_circ
(r, sens=[0.0, 1.1], tree='beech')[source]¶ Calculate area of circular ring
Simple geometrical calculation of a circular ring area as reference cross-section for sap flow calculation.
Parameters: - r (float) – tree radius at breast height (in cm)
- sens (list of floats) – outer and inner point of ring (in cm)
- tree (str) – Tree name, for which to calculate and subtract bark thickness. Can be one of [‘beech’, ‘oak’].
Returns: return – area of ring as
Return type: float
-
rootwater.sapflow.
galvac
(r)[source]¶ sap-wood thickness after Galvac et al. (1990)
Calculates sap-wood thickness as a function of the tree radius at breast height.
Parameters: r (float) – tree radius at breast height (in cm) Returns: sapwood – sapwood thickness (in cm) Return type: float References
Glavac, V., Koenies, H. & Ebben, U. Holz als Roh- und Werkstoff (1990) 48: 437. https://doi.org/10.1007/BF02627628
-
rootwater.sapflow.
gebauer
(r, tree='beech')[source]¶ Sap-wood thickness
Calculates sap-wood thickness as published by Gebauer et al. (2008)
Parameters: - r (float) – tree radius at breast height (in cm)
- tree (str) – Tree name, for which to calculate bark and sapwood thickness. Can be one of [‘beech’, ‘oak’]
Returns: th – sap-wood thickness (in mm)
Return type: float
Raises: NotImplementedError : if tree is not in (‘oak’, ‘beech’)
References
Gebauer, T., Horna, V., and Leuschner, C.: Variability in radial sap flux density patterns and sapwood area among seven co-occurring temperate broad-leaved tree species, Tree Physiol., 28, 1821–1830, 2008.
-
rootwater.sapflow.
gebauer_act
(r, perc=0.95, tree='beech')[source]¶ Active sapwood area based on percentile of Weibull distribution
Calculates the “zero” sap velocity limit as given percentile of relative flux velocity distribution as a Weibull function after Gebauer et al. (2008)
Parameters: - r (float or numpy.ndarray) – tree radius at breast height (in cm)
- perc (float) – percentile to define the “zero” sap velocity limit
- tree (str) – Tree name, for which to calculate Weibull function. Tree name has to be in gp.keys()
Returns: act_sap – depth of “zero” sap velocity limit as active sapwood in tree (in cm)
Return type: float or numpy.ndarray
References
Gebauer, T., Horna, V., and Leuschner, C.: Variability in radial sap flux density patterns and sapwood area among seven co-occurring temperate broad-leaved tree species, Tree Physiol., 28, 1821–1830, 2008.
-
rootwater.sapflow.
gebauer_rel
(r, tree='beech', n_points=50)[source]¶ relative flux density
Calculates relative flux density as a function of depth on sapwood for n_points.
Parameters: - r (float) – tree radius at breast height (in cm)
- tree (str) – Tree name, for which to calculate Weibull function. Tree name has to be in gp.keys()
- n_points (int) – Number of points for solving Weibull. This is the resolution over depth.
Returns: sv – relative flux density at n_points
Return type: numpy.ndarray
References
Gebauer, T., Horna, V., and Leuschner, C.: Variability in radial sap flux density patterns and sapwood area among seven co-occurring temperate broad-leaved tree species, Tree Physiol., 28, 1821–1830, 2008.
-
rootwater.sapflow.
gebauer_weibull
(x, a, b, c, d)[source]¶ 4-parameter Weibull function after Gebauer
Calls Weibull distribution function as published by Gebauer et al. (2008).
Parameters: - x (float or numpy.ndarray) – realtive sampling points for distribution function
- b, c, d (a,) – Weibull function parameters, which are tree-specific in this case
References
Gebauer, T., Horna, V., and Leuschner, C.: Variability in radial sap flux density patterns and sapwood area among seven co-occurring temperate broad-leaved tree species, Tree Physiol., 28, 1821–1830, 2008.
-
rootwater.sapflow.
get_default_gp
()[source]¶ read default gp
Loads default Weibull distribution parameters as published by Gebauer et al. (2008). Can be used by
gebauer_weibull
to calculate sap velocity distribution in sapwoodReferences
Gebauer, T., Horna, V., and Leuschner, C.: Variability in radial sap flux density patterns and sapwood area among seven co-occurring temperate broad-leaved tree species, Tree Physiol., 28, 1821–1830, 2008.
-
rootwater.sapflow.
recko
(r, hydra=False)[source]¶ sap-wood thickness after Račko et al. (2018)
Calculates sap-wood thickness as a function of the tree radius at breast height.
Parameters: - r (float) – tree radius at breast height (in cm)
- hydra (bool) – selects if only the hydrated area is returned (when True)
Returns: sapwood – sapwood thickness (in cm)
Return type: float
References
Račko, V., O. Mišíková, P. Hlaváč, and V. Deáková (2018), Can bark stripping cause red heartwood formation in beech stems? iForest - Biogeosciences and Forestry, 11(2), 251–258, doi:10.3832/ifor2147-011.
-
rootwater.sapflow.
roessler
(r, tree='beech')[source]¶ Estimate bark thickness
Returns the estimated bark thickness as published by Rössler (2008)
Parameters: - r (float) – tree radius at breast height (in cm)
- tree (str) – Tree name, for which to calculate bark thickness. Can be one of [‘beech’, ‘oak’]
Returns: db – bark thickness (in mm)
Return type: float
Raises: NotImplementedError : if tree is not in (‘oak’, ‘beech’)
References
Rössler, G.: Rindenabzug richtig bemessen, Forstzeitung, 4, p. 21, 2008.
-
rootwater.sapflow.
sap_calc
(SV, r, perc=0.95, tree='beech')[source]¶ Wrapper for sap flow calculation with rootwater.sapflow.sap_volume
Calculates the sap flow after Gebauer et al. (2008) based on measured sap velocity with East30 sensors.
Parameters: - SV (pandas.DataFrame) – sap velocity (in cm/h) in three columns ordered inner, mid, outer point
- r (float) – tree radius at breast height (in cm)
- perc (float) – percentile to define the “zero” sap velocity limit
- tree (str) – Tree name, for which to calculate bark thickness and Weibull function. Tree name has to be in gp.keys()
Returns: return – sap volume flux (cm3/h)
Return type: pandas.DataFrame
-
rootwater.sapflow.
sap_volume
(r, s1, s2, vout=False, perc=0.95, tree='beech')[source]¶ Estimate sap flow from sap velocity in inner sapwood measured with East30 sensors
Calculates the sap flow after Gebauer et al. (2008) based on sap velocity measurements by fitting of Gebauer-Weibull function to measured sap velocity at mid and inner point through a scaling factor (but not changing the empirical, tree-specific parameters).
Parameters: - r (float) – tree radius at breast height (in cm)
- s1 (float or pandas.Series (datetime index is preferable)) – sap velocity measurement at mid point of East30 sensor (cm/time)
- s2 (float or pandas.Series (datetime index is preferable)) – sap velocity measurement at inner point of East30 sensor (cm/time)
- vout (bool) – True returns aggregated volume flux (cm3/time), False returns velocity distribution (cm/time)
- perc (float) – percentile to define the “zero” sap velocity limit
- tree (str) – Tree name, for which to calculate bark thickness and Weibull function. Tree name has to be in gp.keys()
Returns: return – aggregated volume flux (cm3/time) (if vout is True), or returns velocity distribution (cm/time) (if vout is False)
Return type: float or pandas.Series
References
Gebauer, T., Horna, V., and Leuschner, C.: Variability in radial sap flux density patterns and sapwood area among seven co-occurring temperate broad-leaved tree species, Tree Physiol., 28, 1821–1830, 2008.