AgMIP open source software development and use.
Many models have internal procedures for computing irrigation based on dynamic soil water deficit. The APSIM and DSSAT translators can provide two input parameters to the models which can be used to trigger an automatic irrigation event. These two parameters are: management depth (cm) and threshold soil water deficit (percent of available water). If both of these parameters are included in the data, DSSAT and APSIM models will use them to set automatic irrigation for the simulation. There is no DOME function associated with this feature, but rather, the irrigation events are computed dynamically by the models based on the user input values of IRMDP and IRTHR.
// Calculate water deficits over top irmdp depth of soil (cm)
cumdep = 0.0;
current_sw = 0.0;
pot_sw = 0.0;
for (int i = 0; i < NumberOfLayers; i++)
{
if (cumdep > irmdp) break; // you’re done, get out of the loop
cumdep = cumdep + LayerThickness[i] / 10.0; // accumulate soil depth, convert units to cm
if (cumdep < irmdp) // both are in cm
layerFrac = 1.0; // use the entire layer, it’s less than the management depth
else
layerFrac = 1.0 - (cumdep - irmdp) / LayerThickness[i]; // use only partial layer
current_sw = current_sw + (SW_mm[i] - LL_mm[i]) * layerFrac; //accumulate actual SW in mm
pot_sw = pot_sw + (DUL_mm[i] - LL_mm[i]) * layerFrac; // accumulate potential SW in mm
}
PctAvailWater = current_sw / pot_sw * 100.; // this is current soil water as percentage of available water
if (PctAvailWater < irthr)
{
irrigation.amount = (1.0 - PctAvailWater/100.) * pot_sw; // irrigation in mm
}
&, REPLACE, IRMDP, 30
&, REPLACE, IRTHR, 50