SoilWaterBalance(fc, wp, rd, kc, p, precipitation, evapotranspiration, irrigation_efficiency, rd_factor=1)¶
Calculates soil water balance. The init parameters provide values for some of the attributes (see below). The heart of the class is the
root_zone_depletion()method; see its documentation for the methodology used.
Timeseriesobject with a daily evapotranspiration series; provided at class initialization time.
The field capacity, provided at class initialization time.
Irrigation method efficiency factor, provided at class initialization.
The crop coefficient, provided at class initialization time.
The crop depletion fraction, i.e. RAW/TAW, provided at class initialization time.
Timeseriesobject with a daily precipitation series; provided at class initialization time.
The readily available water:
The crop root depth, provided at class initialization time. It can be in any unit of length. If it is in a different unit than water depth variables (such as evapotranspiration, precipitation, irrigation and depletion)
rd_factoris used to convert it.
If the root depth is in a different unit than the water depth variables (such as evapotranspiration, precipitation, irrigation and depletion)
rd_factoris used to convert it. If the root depth is in metres and the water depth variables are in mm, specify
rd_factor=1000. Provided at class initialization time.
The total available water:
The wilting point, provided at class initialization time.
A list with the intermediate calculations made by
root_zone_depletion(). Before the first time the method is called, it is an empty list.
root_zone_depletion(start_date, initial_soil_moisture, end_date)¶
This method calculates, in a simplified way, the root zone depletion. The basis for the calculation is this formula:Dr,i = Dr,i-1 - (Pi - ROi) - IRn,i - CRi + ETc,i + DPi
(FAO56, p. 170 eq. 85)
- i is the current time period (i.e. the current day).
- Dr,i is the root zone depletion at the end of the previous time period.
- Pi is the precipitation.
- ROi is the runoff.
- IRn,i is the net irrigation depth.
- CRi is the capillary rise.
- ETc,i is the crop evapotranspiration.
- DPi is the water loss through deep percolation.
with the following limits imposed on Dr,i:0 <= Dr,i <=
(FAO56, p. 170 eq. 86)
ROi, CRi and DPi are ignored and considered zero. The equation therefore becomes:Dr,i = Dr,i-1 - Pi - IRn,i + ETc,i
The essential simplifying assumption of this method is that each time we irrigate we reach field capacity (i.e. zero depletion). Therefore, at the last irrigation date we have i=1 and Dr,1=0. The equation then becomes:Dr,i = Dr,i-1 - Pi + ETc,i
(we do not use IRn,i, since, if we irrigated, according to our assumption, we would restart with i=1 and Dr,1=0).
The point i=1 is specified by start_date, which is a
datetimeobject. The initial_soil_moisture will usually equal
fc(this, according to the essential simplifying assumption, means that the crop was irrigated on start_date). However, if the crop has not been irrigated recently, initial_soil_moisture will be set to another value (such as a soil moisture measurement made at start_date).
Soil moisture and depletion are related with this formula:moisture = fc - depletion / (rd * rd_factor)
(FAO56, p. 170 eq. 87)
so, since the initial_soil_moisture is given, Dr,1 is also known.
irrigation_water_amount(start_date, initial_soil_moisture, end_date)¶
The method returns irrigation water needs for end_date in millimeters (mm).
This method calculates the dimensionless transiration reduction factor, Ks, that depends on the available soil water
raw(FAO56, p. 169 eq. 84). When
root_zone_depletion()is smaller than
raw, Ks is equal to 1.
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.