calculate_crop_evapotranspiration()
— Get ETc from ET0¶
Usage¶
from swb import KcStage, calculate_crop_evapotranspiration
calculate_crop_evapotranspiration(
timeseries=a_pandas_dataframe,
planting_date=dt.date(2019, 3, 21),
kc_offseason=0.3,
kc_plantingdate=0.7,
kc_stages=(
KcStage(35, 0.7),
KcStage(45, 1.05),
KcStage(40, 1.05),
KcStage(15, 0.95),
),
)
timeseries
is a pandas dataframe that contains a
ref_evapotranspiration
column with the reference evapotranspiration.
Two time series will be calculated and added to the dataframe: kc
and crop_evapotranspiration
. kc_stages
specifies the Kc
stages, that is, a sequence of (number of days in stage, Kc at end of
stage) pairs. KcStage
is a named tuple whose items are ndays
and
kc_end
. The planting_date corresponds to the beginning (day 1) of
the first stage. At each stage, we do linear interpolation between the
Kc at the end of the stage and the Kc at the end of the previous
stage (or kc_plantingdate
if there’s no previous stage).
This is a generalization of the methodology of FAO56, where three values are given for Kc (Kc ini, Kc mid, Kc end), and there are four development stages: initial, development, middle, and late. The example above is equivalent to Kc ini = 0.7, Kc mid = 1.05, Kc end = 0.95, initial = 35 days, development = 45 days, middle = 40 days, late = 15 days. It also assumes a Kc os (off-season) of 0.3, i.e. how much water is evaporated by the soil before planting. (Technically this isn’t “crop evapotranspiration” and the coefficient isn’t Kc; but in order to calculate depletion we need to know how much water has evaporated from the soil and put this in the resulting time series.)
References¶
R. G. Allen, L. S. Pereira, D. Raes, and M. Smith, Crop evapotranspiration - Guidelines for computing crop water requirements, FAO Irrigation and drainage paper no. 56, 1998.