50% off | Unlimited Data & AI Learning
Get 50% off unlimited learning

medfate (version 0.2.2)

swb: Soil water balance model

Description

Function swb is a soil water balance model that determines changes in soil moisture, soil water potentials and plant drought stress at daily steps for a given forest stand during a period specified in the input climatic data.

Usage

swb(x, soil, meteo, petMode = "Input", hydraulicMode = "Simple", 
    latitude = NA, elevation = NA, verbose=TRUE)

Arguments

x

A data frame with parameters for each plant cohort (see forest2swbInput).

soil

A list containing the description of the soil (see soil).

meteo

A data frame with daily meteorological data series. When petMode = "Input" the following columns are required:

  • DOY: Day of the year (Julian day).

  • Precipitation: Precipitation (in mm).

  • MeanTemperature: Mean temperature (in degrees Celsius).

  • PET: Potential evapotranspiration (in mm).

When petMode = "PenmanMonteith" the following columns are required:

  • DOY: Day of the year (Julian day).

  • Precipitation: Precipitation (in mm).

  • MeanTemperature: Mean temperature(in degrees Celsius).

  • MinTemperature: Minimum temperature (in degrees Celsius).

  • MaxTemperature: Maximum temperature (in degrees Celsius).

  • MinRelativeHumidity: Minimum relative humidity (in percent).

  • MaxRelativeHumidity: Maximum relative humidity (in percent).

  • Radiation: Solar radiation (in MJ/m2/day).

  • WindSpeed: Wind speed (in m/s). If not available, this column can be left with NA values.

petMode

Potential evapotranspiration mode (either "Input" or "PenmanMonteith"). If petMode = "Input" the function takes column 'PET' in meteo as potential evapotranspiration. If petMode = "PenmanMonteith" the function calculates 'PET' internally, taking into account the current leaf area index of the stand.

hydraulicMode

Hydraulic model (either 'Simple' or 'Sperry').

latitude

Latitude (in radians).

elevation

Elevation above sea level (in m).

verbose

Boolean flag to indicate console output during calculations.

Value

A list of class 'swb' with the following elements:

  • "petMode": Potential evapotranspiration mode (either "Input" or "PenmanMonteith").

  • "hydraulicMode": Hydraulic model (either 'Simple' or 'Sperry').

  • "DailyBalance": A data frame where different variables (in columns) are given for each simulated day (in rows):

    • "LAIcell": The LAI of the stand (accounting for leaf phenology) (in m2/m2).

    • "Cm": The water retention capacity of the stand (in mm) (accounting for leaf phenology).

    • "Lground": The proportion of PAR that reaches the ground (accounting for leaf phenology).

    • "PET": Potential evapotranspiration (in mm).

    • "Rainfall": Input precipitation (in mm).

    • "NetPrec": Net precipitation, after accounting for interception (in mm).

    • "Infiltration": The amount of water infiltrating into the soil (in mm).

    • "Runoff": The amount of water exported via surface runoff (in mm).

    • "DeepDrainage": The amount of water exported via deep drainage (in mm).

    • "Etot": Evapotranspiration (in mm).

    • "Esoil": Bare soil evaporation (in mm).

    • "Eplanttot": Plant transpiration (considering all soil layers) (in mm).

    • "Eplant1": Plant transpiration from soil layer 1 (in mm).

    • "Eplant2": Plant transpiration from soil layer 2 (in mm).

    • "Eplant3": Plant transpiration from soil layer 3 (in mm).

  • "SoilWaterBalance": A data frame where different variables (in columns) are given for each simulated day (in rows):

    • "W1": Relative soil moisture content (relative to field capacity) in layer 1.

    • "W2": Relative soil moisture content (relative to field capacity) in layer 2.

    • "W3": Relative soil moisture content (relative to field capacity) in layer 3.

    • "ML1": Soil water volume in layer 1 (in L/m2).

    • "ML2": Soil water volume in layer 2 (in L/m2).

    • "ML3": Soil water volume in layer 3 (in L/m2).

    • "MLTot": Total soil water volume (in L/m2).

    • "psi1": Soil water potential in layer 1 (in kPa).

    • "psi2": Soil water potential in layer 2 (in kPa).

    • "psi3": Soil water potential in layer 3 (in kPa).

  • "PlantTranspiration": A data frame with the amount of daily transpiration (in mm) for each plant cohort. Days are in rows and plant cohorts are in columns. Columns in this data frame correspond to the elements in 'SP'.

  • "PlantStress": A data frame with the amount of daily stress suffered by each plant cohort (relative whole-plant conductance). Days are in rows and plant cohorts are in columns. Columns in this data frame correspond to the elements in 'SP'.

  • "PlantTmax": A data frame with the amount of daily maximum transpiration (in mm) for each plant cohort. Days are in rows and plant cohorts are in columns. Columns in this data frame correspond to the elements in 'SP'.

  • "PlantPsi" (only for hydraulicMode = "Sperry"): A data frame with the average daily water potential each plant (in kPa). Days are in rows and plant cohorts are in columns. Columns in this data frame correspond to the elements in 'SP'.

Details

Detailed model description is available in the vignettes section. The model using simple hydraulic model is described in De Caceres et al. (2015). WARNING: objects x and soil are modified during the simulation.

References

De C<U+00E1>ceres M, Mart<U+00ED>nez-Vilalta J, Coll L, Llorens P, Casals P, Poyatos R, Pausas JG, Brotons L. (2015) Coupling a water balance model with forest inventory data to predict drought stress: the role of forest structural changes vs. climate changes. Agricultural and Forest Meteorology (doi:10.1016/j.agrformet.2015.06.012).

See Also

plot.swb, swbpoints, swbgrid,forest

Examples

Run this code
# NOT RUN {
#Load example daily meteorological data
data(examplemeteo)

#Load example plot plant data
data(exampleforest)

#Default species parameterization
data(SpParamsMED)

#Initialize soil with default soil params
examplesoil = soil(defaultSoilParams())

#Call simulation function
S1<-swb(forest2swbInput(exampleforest,SpParamsMED, examplesoil$dVec), 
        examplesoil, examplemeteo)
        
#Plot results
plot(S1)

#Monthly summary (averages) of soil water balance
summary(S1, freq="months",FUN=mean, output="SoilWaterBalance")


#Simulation with PET calculated with Penman-Monteith
examplesoil = soil(defaultSoilParams())
S2<-swb(forest2swbInput(exampleforest,SpParamsMED, examplesoil$dVec, petMode="PenmanMonteith"), 
        examplesoil, examplemeteo, latitude = 0.73, 
        elevation = 100, petMode="PenmanMonteith")
        
#Simulation with transpiration calculated using Sperry & Love
examplesoil = soil(defaultSoilParams())
S3<-swb(forest2swbInput(exampleforest,SpParamsMED, examplesoil$dVec, hydraulicMode="Sperry"), 
        examplesoil, examplemeteo, hydraulicMode="Sperry")

#Simulation with PET calculated using PenmanMonteiht
#and transpiration calculated using Sperry & Love
examplesoil = soil(defaultSoilParams())
S4<-swb(forest2swbInput(exampleforest,SpParamsMED, examplesoil$dVec, 
                        petMode = "PenmanMonteith", hydraulicMode="Sperry"), 
        examplesoil, examplemeteo, latitude = 0.73, 
        elevation = 100, petMode = "PenmanMonteith", hydraulicMode="Sperry")

# }

Run the code above in your browser using DataLab