Skip to contents

This function uses daily rainfall and temperature to estimate a SMI from a weather data object that has been output from get weather functions such as get.SILO.weather().

Usage

add.SMI(weather, verbose = TRUE)

Arguments

weather

A list of length 2. Weather data as outputted from the get.SILO.weather(). Weather covariate names for list items should include:

  • daily_rain

  • max_temp

verbose

Logical. Should progress be printed? Default if TRUE.

Value

The same weather list object as inputted with the addition of a matrix of daily SMI values in ...$data$smi.

Details

A simplified SMI is calculated based on a dynamic water balance model where soil moisture is proportionally dried by daily evapotranspiration and increased by daily precipitation. The equation for SMI for a following day(\(SMI_{i+1}\)) is: $$SMI_{i+1} = \min{(1,\frac{SMI_i}{\frac{PET_i}{AWC \times c_s}c_d + 1} + (P_i \times c_p))}$$ where \(SMI_i\) is the SMI for day \(i\), \(PET_i\) is the potential evapotranspiration using the Thornthwaite equation for day \(i\), and \(P_i\) is the precipitation (mm) for day \(i\). The constants \(c_s\), \(c_d\), and \(c_p\) were optimised based on ground truthed data from TERN

Author

Nick Fradgley