Hydrus 1D is a public domain Windows-based modeling environment for analysis of water flow and solute transport in variably saturated porous media.

water flowsolute transportvariably saturated porous medi



Initial contribute: 2019-12-16


Is authorship not correct? Feed back


Application-focused categoriesNatural-perspectiveLand regions

Detailed Description

English {{currentDetailLanguage}} English

Quoted from: https://www.pc-progress.com/en/Default.aspx?h1d-description 

The HYDRUS program is a finite element model for simulating the one-dimensional movement of water, heat, and multiple solutes in variably saturated media.

The program numerically solves the Richards' equation for saturated-unsaturated water flow and Fickian-based advection dispersion equations for heat and solute transport.

The Flow equation incorporates a sink term to account for water uptake by plant roots.

The Heat transport equation considers conduction as well as convection with flowing water.

The Solute transport equations consider advective-dispersive transport in the liquid phase, and diffusion in the gaseous phase.

The transport equations also include provisions for:

  • Nonlinear and/or Nonequilibrium reactions between the solid and liquid phases,
  • Linear equilibrium reactions between the liquid and gaseous phases,
  • Zero order production, and
  • Two First-order degradation reactions:
    • One which is independent of other solutes, and
    • One which provides the coupling between solutes involved in sequential first-order decay reactions.

The program may be used to analyze water and solute movement in unsaturated, partially saturated, or fully saturated porous media.

The flow region itself may be composed of nonuniform soils. Flow and transport can occur in the vertical, horizontal, or a generally inclined direction. The water flow part of the model can deal with (constant or time-varying) prescribed head and flux boundaries, boundaries controlled by atmospheric conditions, as well as free drainage boundary conditions. Soil surface boundary conditions may change during the simulation from prescribed flux to prescribed head type conditions (and vice versa).

For solute transport the code supports both (constant and varying) prescribed concentration (Dirichlet or first-type) and concentration flux (Cauchy or third-type) boundary conditions. The dispersion coefficient includes terms reflecting the effects of molecular diffusion and tortuosity.

The Unsaturated Soil Hydraulic Properties are described using van Genuchten [1980], Brooks and Corey [1964] and modified van Genuchten type analytical functions. Modifications were made to improve the description of hydraulic properties near saturation. The HYDRUS code incorporates hysteresis by using the empirical model introduced by Scott et al. [1983] and Kool and Parker [1987]. This model assumes that drying scanning curves are scaled from the main drying curve, and wetting scanning curves from the main wetting curve.

HYDRUS also implements a scaling procedure to approximate hydraulic variability in a given soil profile by means of a set of linear scaling transformations which relate the individual soil hydraulic characteristics to those of a reference soil.

Root growth is simulated by means of a logistic growth function. Water and salinity stress response functions can be defined according to functions proposed by Feddes et al. [1978] or van Genuchten [1987].

The governing flow and transport equations are solved numerically using Galerkin type linear finite element schemes. Integration in time is achieved using an implicit (backwards) finite difference scheme for both saturated and unsaturated conditions. Additional measures are taken to improve solution efficiency for transient problems, including automatic time step adjustment and adherence to preset ranges of the Courant and Peclet numbers. The water content term is evaluated using the mass conservative method proposed by Celia et al. [1990]. Possible options for minimizing numerical oscillations in the transport solutions include upstream weighing, artificial dispersion, and/or performance indexing.

HYDRUS implements a Marquardt-Levenberg type parameter estimation technique for inverse estimation of selected soil hydraulic and/or solute transport and reaction parameters from measured transient or steady-state flow and/or transport data. The procedure permits several unknown parameters to be estimated from observed water contents, pressure heads, concentrations, and/or instantaneous or cumulative boundary fluxes (e.g., infiltration or outflow data). Additional retention or hydraulic conductivity data, as well as a penalty function for constraining the optimized parameters to remain in some feasible region (Bayesian estimation), can be optionally included in the parameter estimation procedure.

New features in Hydrus-1D version 4.0 (Released in 2007; as compared to version 3.0 include):

  1. Vapor flow
  2. Coupled water, vapor, and energy transport
  3. Dual-permeability type water flow and solute transport
  4. Dual-porosity water flow with solute transport and two-site sorption in the mobile zone,
  5. Penman-Monteith combination and Hargreaves equations to calculate potential evapotranspiration
  6. Daily variations in evaporation, transpiration, and precipitation
  7. Support for the HP1 code, obtained by coupling HYDRUS with the PHREEQC biogechemical code.
  8. An option to consider root solute uptake, including both passive and active uptake [Šimunek and Hopmans, 2009]. See also FAQ18.

New features in Hydrus-1D version 3.0 (Released in April 2005; as compared to version 2.0 include):

  1. Root water uptake with compensation
  2. Additional analytical models for the soil hydraulic properties suggested by Kosugi [1996] (log normal model) and Durner [1994] (dual porosity model)
  3. Water flow in the dual-porosity system
  4. Solute transport with attachment/detachment coefficients, permitting simulations of colloid, virus, and bacteria transport
  5. Two kinetic sorption sites (one can be used for example for the air-water interface)
  6. Filtration theory based evaluation of attachment coefficients
  7. Carbon dioxide production and transport module (the Unsatchem Module)
  8. Geochemical carbonate chemistry module that considers transport, precipitation/dissolution, cation exchange, and complexation reactions for major ions (the Unsatchem Module)
  9. The new model is (may be) about 3 times faster than the old model.

User Interface

A Microsoft Windows-based graphical user interface (GUI) manages the input data required to run HYDRUS, as well as for nodal discretization and editing, parameter allocation, problem execution, and visualization of results.

All spatially distributed parameters, such as soil type/layer, root water uptake distribution, and the initial conditions for water, heat and solute movement, are specified in a graphical environment.

The location of discretization nodes can be graphically edited by a user to optimize the thickness of different elements.

The program includes controls to allow a user to build an application specific flow and transport model, and to perform graphical analyses on the fly.

Both input and output can be examined using graphical tools.

The Hydrus-1D shell program translates all geometric and parameter data into the HYDRUS input format.

File management is handled by a sophisticated project manager.


Post-processing is also carried out in the shell.

Hydrus-1D offers graphs of the distribution of the pressure head, water content, water and solute fluxes, root water uptake, temperature and the concentration in the soil profile at preselected times.

Output also includes variable-versus-time plots, such as actual, potential and cumulative fluxes across boundaries or leaving the root zone.

Observation points can be added anywhere in the profile to obtain graphical output for the water content, pressure head, temperature, and/or the concentration.

Peripheral devices supported include most popular types of printers and plotters.

A small catalog of soil hydraulic properties is included in the program.

Extensive context-sensitive, online Help is part of the interface.

Examples distributed with the model



  1. Water flow and solute Transport in a field soil profile under grass - Seasonal simulation
  2. Infiltration and drainage in a large caisson
  3. Transient flow involving hysteresis
  4. Column infiltration test - Data from Skaggs
  5. Solute transport with nonlinear cation adsorption - Data from Lai and Jurinak
  6. Solute transport with nonlinear cation adsorption - Data from Selim et al.
  7. Solute transport with nitrification chain
  8. Solute transport with non-equilibrium cation adsorption
  9. Heat transport under fluctuating atmospheric condition


  1. One-step outflow experiment - Data from Kool et al. (1987)
  2. Multi-step outflow experiment - Data from Hopmans
  3. Evaporation Experiment - Data from Wendroth
  4. Upward infiltration
  5. Transient flow involving hysteresis
  6. Solute transport with nonlinear cation adsorption - Data from Lai and Jurinak
  7. Solute transport with nonlinear cation adsorption - Data from Selim
  8. Solute transport with nitrification chain
  9. Horizontal infiltration - Data from George Vachaud
  10. Horizontal infiltration and redistribution - Data from Vachaud
  11. Drainage in a sand column - Data from Vachaud
  12. Water flow in a field soil profile under grass - Seasonal simulation

System Requirements

Intel Pentium or higher processor, 16 Mb RAM, hard disk with at least 20 Mb free disk space, VGA graphics (High Color recommended), MS Windows 95, 98, NT, 2000, XP, Vista (32/64-bit), Windows 7 (32/64-bit) and Windows 8 (32/64-bit), Windows 10.

Source Code

The (open) source code of the direct computational module of HYDRUS-1D is covered by the GNU General Public License, detailed conditions of which are listed here. You can download the source code of the computational module of HYDRUS-1D only if you agree with conditions listed in this document. We welcome any comments you may have concerning this source code or any improvements you may make to it. Whenever you use this source code, please reference either the HYDRUS-1D technical manual or the following manuscript: Simunek et al., VZJ - 2008, Hydrus and Stanmod models.pdf.

The source code for the computational direct module of HYDRUS-1D can be downloaded here. This source code can be compiled and linked using a FORTRAN compiler. The resulting executable code should be named h1d_calc.exe. It can then be placed directly into the folder with the HYDRUS-1D installation and executed directly from the HYDRUS-1D GUI.

Note that when compiling this source code using compilers not descending from Microsoft PowerStation (e.g., on workstations), you need to delete (or comment out) in the main file calls to functions GetDat and GeTim (get date and get time) and perhaps replace them with corresponding functions. Additionally, you need to delete the calls to the MSFLIB library (use MSFLIB, code between "interface" and "end interface" (including), and Signal handler routines h_sig and hand_fpe). This part of the code has no effect on the rest of the program. It only catches the exceptions, such as division by zero, and closes the programs and the output files in such case.

Note from the authors: Please be aware that the source code posted here (in 2009) does not correspond exactly (is not fully compatible) with the latest version of the computational module in HYDRUS-1D and may differ in some (small) details. We frequently make changes and modifications to our version of the code (reflecting many research projects we have been working on since 2009) and these changes and modifications are not included in the posted code (which was thoroughly cleaned of unneeded code before being posted; we currently do not have plans to repeat that effort in the near future).



PC-Progress (2019). HYDRUS 1D, Model Item, OpenGMS, https://geomodeling.njnu.edu.cn/modelItem/9a60d6eb-5266-49ac-82da-4fafdcd3398b


Initial contribute : 2019-12-16



Is authorship not correct? Feed back

QR Code


{{curRelation.author.join('; ')}}



Drop the file here, orclick to upload.
Select From My Space
+ add


Cancel Submit
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Localizations}} + {{htmlJSON.Add}}
{{ item.label }} {{ item.value }}
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
名称 别名 {{tag}} +
系列名 版本号 目的 修改内容 创建/修改日期 作者
摘要 详细描述
{{tag}} + 添加关键字
* 时间参考系
* 空间参考系类型 * 空间参考系名称

起始日期 终止日期 进展 开发者
* 是否开源 * 访问方式 * 使用方式 开源协议 * 传输方式 * 获取地址 * 发布日期 * 发布者

编号 目的 修改内容 创建/修改日期 作者

时间分辨率 时间尺度 时间步长 时间范围 空间维度 格网类型 空间分辨率 空间尺度 空间范围
{{tag}} +
* 类型

* 名称 * 描述
示例描述 * 名称 * 类型 * 值/链接 上传

{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
Title Author Date Journal Volume(Issue) Pages Links Doi Operation
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Add}} {{htmlJSON.Cancel}}


Authors:  {{articleUploading.authors[0]}}, {{articleUploading.authors[1]}}, {{articleUploading.authors[2]}}, et al.

Journal:   {{articleUploading.journal}}

Date:   {{articleUploading.date}}

Page range:   {{articleUploading.pageRange}}

Link:   {{articleUploading.link}}

DOI:   {{articleUploading.doi}}

Yes, this is it Cancel

The article {{articleUploading.title}} has been uploaded yet.

{{htmlJSON.Cancel}} {{htmlJSON.Confirm}}