Skip to main content

Mekong - Rice: the water bill

Two rice crops a year in the Mekong Delta, 33 years, four ways to manage the water: which season pays for the water, what it buys, and where it goes

Setup
Area 105.2-106.2 E, 9.7-10.7 N, in the Mekong Delta (provinces below)
Crop map MapSPAM 2020 rice, physical area (International Food Policy Research Institute (IFPRI) 2024)
Weather, soil AgERA5 1990-2024 (Copernicus Climate Change Service 2019); SoilGrids 2.0 (Poggio et al. 2021), one profile per 0.1° cell
Crop, template CERES-Rice, IR 64 (DSSAT cultivar IB0015), 105 kg N/ha; template XDRW8601.RIX, from the transplanted IRRI experiment IRMZ8601 (Muñoz, 1986)
Seasons dong xuan transplanted on 1 December, he thu on 20 April, every year
Water four regimes, each run on every rice cell: continuous flood (bund raised to 150 mm, flood kept at 5, then 30, then 50 mm) with percolation of 1, 2 (the experiment’s own) or 4 mm a day; and rainfed behind the same bund
Years 1991-2023, 33 dong xuan and 33 he thu seasons
Boundaries edge-matched OCHA administrative boundaries (COD-AB) from HDX: Viet Nam (Government of Viet Nam), Cambodia, CC BY-IGO
Experiment file configs/cases/mekong-rice.yml

Where

The model runs on the 0.1° weather cells and weights each cell by the crop area inside it, not by the area of the cell. The switch picks the map that gives that area: MapSPAM 2020 rice, the runs’ own crop mask, or LGRIP30 cropland, all or irrigated only, for comparison. It changes the area map, the table below and the water volumes of the next section; the simulated cells, their yields and the other charts stay as they are.

Two seasons, two bills

A flooded rice field loses water every day: the crop transpires it, the sun evaporates it from the water surface, and some of it seeps down through the puddled soil. To keep the flood, the farmer pays the difference with irrigation. The model keeps the flood of the 1986 IRRI experiment and counts every millimetre it has to add. One millimetre over a hectare is 10 cubic metres.

How fast water seeps through a puddled field is a property of the soil and of how it was puddled. The experiment measured 2 mm a day; this case also runs half and double of that. The switch below sets it for every chart on the page.

What the water buys

Where the water goes

The soil you cannot see

What this does not say

  • Simulated, not observed. Why the simulated yields differ from official statistics, in every case study: FAQ.
  • Uncalibrated. IR 64 runs with DSSAT’s own coefficients, at 105 kg N, without pests, diseases or weeds. The yields are above the national average; the comparisons between seasons and regimes are the result.
  • Water at the field. Irrigation is what the field receives. Canal and pumping losses on the way are not counted, and the model has no salt in its water.
  • One flood schedule. Bund heights, flood depths and their dates come from the 1986 experiment. Other water-saving practices, such as letting the field dry between floods, would need another template.
  • Each season starts afresh at 90% of the soil’s available water. In the field the water left at a harvest partly carries into the next season; a crop sequence (DSSAT’s mode Q, which xdssat runs) would follow it.
  • Every rice hectare, both seasons. MapSPAM gives the physical area of rice; the volumes above assume all of it carries both crops.

Run it yourself

python scripts/make_templates.py          # writes templates/XDRW8601.RIX
python scripts/prepare_weather.py   --config configs/cases/mekong-rice.yml
python scripts/prepare_crop_mask.py --config configs/cases/mekong-rice.yml
python scripts/prepare_soils.py     --config configs/cases/mekong-rice.yml --aoi mekong_rice
python scripts/run_aoi.py --config configs/cases/mekong-rice.yml --regime irrigated
python scripts/run_aoi.py --config configs/cases/mekong-rice.yml --regime irrigated_perc1
python scripts/run_aoi.py --config configs/cases/mekong-rice.yml --regime irrigated_perc4
python scripts/run_aoi.py --config configs/cases/mekong-rice.yml --regime rainfed
python docs/scripts/export_cases.py mekong
python docs/scripts/export_boundaries.py mekong

The three-year version of this area ships with xdssat: example-inputs/mekong_rice/ (Examples).

Back to top

References

Copernicus Climate Change Service. 2019. Agrometeorological Indicators from 1979 up to 2019 Derived from Reanalysis (AgERA5). ECMWF. https://doi.org/10.24381/cds.6c68c9bb.
Food and Agriculture Organization of the United Nations. 2025. FAOSTAT: Crops and Livestock Products (QCL), Yield. Via Our World in Data: maize https://ourworldindata.org/grapher/maize-yields, rice https://ourworldindata.org/grapher/rice-yields, millet https://ourworldindata.org/grapher/millet-yield, accessed 2026-11-09. https://www.fao.org/faostat/en/#data/QCL.
International Food Policy Research Institute (IFPRI). 2024. Global Spatially-Disaggregated Crop Production Statistics Data for 2020 Version 2.0 Release 2. Harvard Dataverse. https://doi.org/10.7910/DVN/SWPENT.
Poggio, Laura, Luis M. de Sousa, Niels H. Batjes, et al. 2021. “SoilGrids 2.0: Producing Soil Information for the Globe with Quantified Spatial Uncertainty.” SOIL 7 (1): 217–40. https://doi.org/10.5194/soil-7-217-2021.