CSR Soil Water

Jump to: navigation, search

The module SoilWater of CSR serves to determine water stress on plants, caused by the actual moisture content of the soil.

SoilWater relates the soil water ratio θ to the potential force h that has to be excerted by the plant roots to draw the water from the soil. Wösten-Van Genugten pedotransfer-functions (ptf) are used to estimate the pressure heads.


Create an instance of the SoilWater-class. The object has a method called selfTest() which may be used to verify that the model calculations produce the same results as the published data on the pedotransfer-functions. Since the ptf use a large number of regrression parameters, the selfTest is quite important, but it is not necessary always to run it.

After instantiation, the soil type must be defined. Six predefined types are available:

  • Coarse
  • Medium
  • MediumFine
  • Fine
  • VeryFine
  • Organic

Alternatively, user defined soil types may be assigned, supplying OM, texture, and density. In the example below first the predefined type MediumFine is assigned to the object, but in the next code line it is overruled by giving it a user defined type:

sw = SoilWater()
sw.selfTest(verbose = False)
sw.setSoilType(True, SoilClasses.MediumFine)
sw.setSoilType(True, OrganicPct = 7.8, ClayPct = 4.3, SiltPct = 11.7, BulkDensity = 1.25)
print sw

Soil Type: user-defined (OM 7.8%, clay 4.3%, silt 11.7%, density 1.25 [kg/dm3]
  fieldCapacity: 0.228445
  wiltingPoint : 0.096782
  h1           : 0.000000
  h2           : 330.000000
  h3l          : 500.000000
  h3h          : 800.000000
  h4           : 15000.000000
  PTF          : theta_r: 0.025000; theta_s: 0.457259; alpha: 0.045985; Ks: 53.370084; l: -0.929805; n: 1.274669; m: 0.215483


Both the permanent wilting point as the field capacity are calculated when the soilType is set. The wilting point is placed where the pressurehead drops under -1500 J/kg of suction pressure, the field capacty at -33 J/kg.

After setting the soilType, these values can be set manually. Note however, that the values will be reset to their calculated defaults when another soilType is set.


pressurehead functions

The soil water pressure head (cm of water) is calculated based on the parameters gotten from the ptf and a soil water ratio θ. Two functions are available:

  • pressureHead(theta, returnType)
  • pF(theta)

The returnType is one of PressureType.cmWater or PressureType.Joule_per_kg.

reduction function

Stresses due to dry or wet conditions may reduce water uptake by the plant. The water stress is described by the function proposed by Feddes et al. (1978) [1], which is depicted below.


Four typical pressure heads — h1, h2, h3 and h4 — parameterize αz(h) and delimit five specific ranges of uptake. Root water uptake is limited between h1 and h2 by oxygen deficiency, and between h3 and h4 by decreased water availability. The Feddes model uses low (h3l) and high (h3h) values of h3 to differentiate between low (Tl) and high (Th) atmospheric demands and potential transpiration rates. Commonly utilized values are Tl = 1 mm d-1 and Th = 5 mm d-1. For intermediate potential transpiration rates, the value of h3 actually used was linearly interpolated between h3l and h3h

h1 is based on θs of the ptf; h2 and h4 correspond with fieldCapacity and wiltingPoint respectively; h3l and h3h ought to be plant species specific. For the moment, for the latter values for "Deciduous fruit" [2] are used for all species the same.


  1. Feddes, R.A., Kowalik, P.J., Zaradny, H., 1978. Simulation of field water use and crop yield. Simul. Monogr. Ser. Pudoc, Wageningen, The Netherlands.
  2. Kroes, J.G. ; Dam, J.C. van, 2003. Reference manual SWAP version 3.0.3. Alterra-rapport (ISSN 1566-7197 ; 773). get it