CRITERIA-3D is an open-source agro-hydrological model for simulating water flow, crop water use, and slope stability in small to medium-sized catchments.
Its fully three-dimensional numerical solver is parallelized for shared-memory multi-core CPUs (OpenMP) or NVIDIA GPUs (CUDA). The model also includes meteorological interpolation, radiation modelling, crop development, root water uptake, snow processes, and slope stability analysis.
The model requires hourly meteorological data as input, including:
See latest release to download precompiled binaries.
Case study of the Ravone creek catchment (Bologna, Italy)
Note
Crop water uptake is simulated as part of the three-dimensional soil water balance. For dedicated irrigation scheduling and crop water requirement applications, see CRITERIA-1D.
Screenshot of the CRITERIA-3D interface
The agrolib/soilFluxes3D library (shared with the Criteria-1D model) implements a fully coupled numerical solution for three-dimensional water and heat transport in soil. Parallel implementations are available for both multi-core CPUs (OpenMP) and NVIDIA GPUs (CUDA).
Features include:
Surface water flow is described by the two-dimensional parabolic approximation of the St. Venant equation, using Manning’s equation of motion. Subsurface water flow is described by the three-dimensional Richards’ equation for the unsaturated zone and by three-dimensional Darcy’s law for the saturated zone, using an integrated finite difference formulation. The available boundary conditions are surface runoff, culvert runoff, free drainage (lateral or deep) and prescribed total potential. The water flow equations may be coupled with the heat transport equations, which include diffusive, latent and advective terms. Atmospheric variables (net irradiance, air temperature, relative humidity and wind speed) can be used as upper boundary conditions.
Model description (PDF)
The user manual (draft) is available in the DOC directory.
CRITERIA is operational at Arpae Emilia-Romagna. It has been used in several international projects (Vintage, Highlander, Arcadia) and it is reported in the International Soil Modeling Consortium.
CRITERIA3D/
├─ agrolib/ Core libraries (shared with Criteria-1D and PRAGA)
├─ src/ Criteria-3D specific libraries
├─ DATA/ Templates and sample projects
├─ DOC/ Documentation
├─ MapGraphics/ GUI library
├─ bin/ Applications
└─ ..
| Component | Version |
|---|---|
| C++ | C++17 |
| Qt | 5.15 or later |
| Build system | qmake |
| Platforms | Windows, Linux, macOS |
The project uses qmake and can be built with Qt Creator on Windows, Linux and macOS.
Make sure the following software is installed:
Note
By default, CRITERIA-3D is built with the multi-core CPU solver (OpenMP). GPU acceleration is optional and can be enabled by installing the NVIDIA CUDA Toolkit and activating the
CUDA_CONFIGbuild option.
MapGraphics/MapGraphics.pro
Build the project using Build → Build Project.
bin/Makeall_CRITERIA3D/Makeall_CRITERIA3D.pro
Important
- Always build MapGraphics before building the main project.
- For both projects, open Projects → Build Settings in Qt Creator and disable Shadow build. This prevents common compilation errors.
- To build the GPU solver, uncomment
CONFIG += CUDA_CONFIGinagrolib/parallel.pri. By default CRITERIA-3D is compiled with the OpenMP CPU solver.
After successfully compiling the project:
CRITERIA3D containing the following subdirectories:
CRITERIA3D/
├── bin/
├── DATA/
└── DOC/
Copy the compiled executable from the build directory to CRITERIA3D/bin.
bin directory and run:
windeployqt CRITERIA3D.exe
Copy the DATA/TEMPLATE and DATA/SETTINGS directories from the repository into CRITERIA3D/DATA.
Create the directory CRITERIA3D/DATA/PROJECT and copy one of the sample projects (for example, DATA/PROJECT/Montue) from the repository.
Copy the entire contents of the repository’s DOC directory into CRITERIA3D/DOC.
Linux / macOS only: define the environment variable CRITERIA3D_HOME and set it to the path of CRITERIA3D/DATA.
CRITERIA3D from the bin directory.Fedora packages can be built using the provided RPM specification: fedora/SPECS/CRITERIA3D.spec
CRITERIA-3D is developed by ARPAE Hydro-Meteo-Climate Service (Emilia-Romagna, Italy).
The applications (CRITERIA3D, VINE3D) are distributed under the GNU GPL license.
The agrolib libraries are distributed under the GNU LGPL license.
See the LICENSE and COPYING.LESSER files for the complete license terms.