1Supporting Materia for2

Developments and Applications of the HYDRUS Computer

3

Software Packages since 2016

456789101112131415161718192021222324252627282930
3132333435
3637
3839404142Jiří Šimůnek1, Giuseppe Brunetti2, Diederik Jacques3, Martinus Th. van
Genuchten4,5, and Miroslav Šejna61

Department of Environmental Sciences, University of California, Riverside, CA 92521, USA
2
Department of Civil Engineering, University of Calabria, Rende, CA, Italy
3
Performance Assessments, Belgian Nuclear Research Institute, Mol, Belgium
4Department of Nuclear Engineering, Federal University of Rio de Janeiro, UFRJ, Brazil
5
Department of Earth Sciences, Utrecht University, Netherlands
6PC-Progress, Ltd., Anglická 28, 120 00 Prague, Czech Republic

1. HYDRUS Graphical User Interface
The HYDRUS Graphical User Interface (GUI) defines the overall computational environment ofthe system. It controls the execution of the program and determines which other optionalmodules are necessary for a particular application. The GUI contains a project manager for
managing HYDRUS projects as well as the pre-processing and post-processing units. The preprocessing unit includes specification of all required parameters to successfully run theHYDRUS FORTRAN codes, grid generators for relatively simple rectangular and hexahedraltransport domains, a grid generator for unstructured finite element meshes appropriate forrelatively complex two- and three-dimensional domains, a small catalog of soil hydraulicproperties, and the Rosetta Lite program for generating soil hydraulic functions from soil textural
data (Schaap et al., 2021). The post-processing unit consists of simple x-z graphics for a graphicalpresentation of the hydraulic functions, distributions versus time of a particular variable atselected observation points, and actual or cumulative water and solute fluxes across boundaries
of a particular type. The post-processing unit also includes options to present the simulation
results using contour maps, isolines, spectral maps, and velocity vectors, and/or provides
animations using contour or spectral maps. Details about various options in the HYDRUS
graphical user interfaces are provided in the User Manuals. Recent developments about the GUIs
are discussed below.

2. New Developments in the HYDRUS Graphical User Interface
2.1.

Merging of HYDRUS-1D with HYDRUS (2D/3D)

The most significant change in the HYDRUS GUI since 2018 has been its extension to onedimensional projects (Figure S1). The graphic interface for this purpose had to be modified sothat the inputting scheme of the older popularly-used HYDRUS-1D program could be preserved
while at the same time making it possible to use all of the new options available in HYDRUS1

434445
46
47
48

4950
5152

(2D/3D). For this purpose, we added several new graphical options for one-dimensional projects
that were not available in the original software, such as the main HYDRUS-1D GUI window
displaying a one-dimensional project (Figure S1), z-t graphs (i.e., graphs with a vertical z-axis
and a horizontal t-axis) of major quantities (Figure S2), and particle trajectories (Figure 2). The
result is a consistent GUI applicable to all project dimensions, i.e., 1D, 2D, and 3D.

Figure S1. The main HYDRUS GUI window displaying a one-dimensional project.

53
54
2

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
8889909192939495
96
9798
99
100

Figure S2. The main HYDRUS GUI window displaying a z-t graph for concentration.

2.2.

Working with Large Projects

Much attention has been paid to the optimization and acceleration of the software when working
with large projects where the number of FE-mesh nodes exceeds one million (generally required
only for a few 3D applications). Significant improvements have been implemented to enablesolving such problems. For example, the HYDRUS GUI has been modified to support newmodern hardware, especially high-resolution monitors (4K and higher) and more powerfulgraphics cards. This generally improved the speed and quality of graphical displays of objects
and results. The speedup, of course, also depends on the specific project (notably the number ofmesh nodes and the number of time layers), but when graphing the results of a project with, forexample, 1.2 million mesh nodes and 160 time layers, we noticed a 100-1000 times speedup
compared to version 3 of HYDRUS (such as when switching quantities using the clipper-tool).
Regarding large projects, HYDRUS 5 is distributed only in the 64-bit version, which allows theuse of the entire RAM memory available on modern computers. Although for standard projects(up to 1 million FE-mesh nodes), the usual 8-16 GB of memory normally is sufficient, large
projects (for example, 20 million or more nodes) require up to 64 GB of RAM (and more). Even
though the HYDRUS GUI allows working with such large projects, we noted that thesimulations may take an extremely long time and hence may become unrealistic in practice.

2.3.

New Auxiliary Objects and VTK

Mesh-Surfaces may be used in 3D projects (similar to Mesh-Lines in 2D projects) to quantify
actual and cumulative water and solute fluxes through selected parts of the transport domain.
Mesh-Surfaces can be defined directly on the FE-mesh using the surface areas (translated as"faces") of selected finite elements or on geometric objects, i.e., surfaces when the transfer to theFE-mesh will occur automatically. Mesh-Surfaces (again similar to Mesh-Lines) can be placed
both on the boundary of the transport domain and inside it.
HYDRUS 5.03 can import an external three-dimensional FE-Mesh in VTK Unstructured Meshformat (*.vtu file). VTK refers here to an open-source software visualization toolkit in C++ for
3D computer graphics, image processing, and scientific visualization. The VTK importfeature enables one to work with 3D transport domains created in other programs. The VTK
imported mesh can be used to define all input data (domain properties and initial and boundaryconditions), run calculations, and execute the post-processing. FE-Meshes in many other formats
can first be loaded into the Paraview program and then saved in VTU format for HYDRUS.
So-called Background Layer objects have been available in HYDRUS for a long time. Theyserve as a template for defining the transport domain or other objects and properties. We addedin HYDRUS 5 the possibility to import a Background Layer in the VTP format (VTK Polydata),
which significantly expanded the options for importing data that use different formats. The data
can be imported into or edited in the Paraview program first, then saved in a VTP file, andimported into HYDRUS as a Background Layer. The points and lines of the Background Layer
can then be used for "snapping" when graphically entering various objects in HYDRUS (Figure3101102

103
104
105
106
107
108
109
110
111
112
113
114

S3).

Figure S3. The main HYDRUS GUI window demonstrating the process of defining HYDRUS
objects using snapping to the Background Layer.
We further added the auxiliary objects Line Probes and Point Probes. Line Probe is used for
displaying graphs of all available variables (e.g., pressure heads, concentrations) along any
broken line (Figure S4). Unlike existing similar graphs (e.g., Mesh-Line and Cross-section), aLine Probe is defined by a point that may be independent of the FE-Mesh nodes, can be locatedboth on the surface of the mesh or inside the computational area, and can be defined after theresults already have been obtained (i.e., after the calculations were carried out).

4115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

Figure S4. The main HYDRUS GUI window showing the use of a Line Probe to display
computed results.
Point Probe is a set of points used to display the values of all available variables (e.g., pressureheads, concentrations) at those points in the form of "labels" (Figure S5). Unlike already existing"Observation Nodes," which must be defined before the calculations, Point Probes can also bedefined for already existing results. In addition to the line and point probes, several other usefultools have been added to the HYDRUS GUI. One is the distance measurement tool (Figure S6),
which can be used to measure distances using a broken line both between topological objects andbetween points on the surface of the current FE-mesh.

5130
131
132
133
134

135
136
137

Figure S5. The main HYDRUS GUI window showing the use of Point Probes to display
computed results.

Figure S6. The main HYDRUS GUI window showing the use of the distance measurement tool.
6138
139
140
141
142
143
144
145
146

2.4.

GUI of HP Geochemistry and HPx

Significant efforts have been made to integrate HPx smoothly in the HYDRUS GUI. A
completely new dialogue window has been designed for defining the input for the geochemicalmodel (Fig. S7). A major improvement is the dynamic interpretation of the selected
thermodynamic database listing aqueous and gaseous components and all species and minerals
that contain the selected components for the transport problem. Input is facilitated by input forms
for additional thermodynamic and kinetic data, syntax coloring, and auto-completion.

147
148

149
150
151
152
153
154

Figure S7. The HP input dialogue window (top) with a selected database and automatic listing of
aqueous and gaseous components from the database. The Solution Definitions input tab (bottom)
illustrating the guidance for components, species, and minerals from the database, syntax
coloring, and auto-completion.
7155
156
157
158
159
160

The HPx input dialogue window (Figure S8, top) facilitates the design and use of an input tablefor global variables (Fig. S8, bottom) that are subsequently used as inline variables in the input
or additional script functions. Input tables, script functions, and other types of global variables(data blocks) can be shared between different simulations within a project group.

161
162

163
164
165
166

Figure S8. A Design view for an input table (top) and a resulting input table for defining projectspecific calculations (bottom).
8

167
168
169
170
171
172
173
174
175
176
177
178

Visualization of geochemical state variables is now possible via an extra dialogue window (Fig.
S9). HPx requires that the open-source, free plotting software gnuplot (www.gnuplot.org) isinstalled. For example, for one-dimensional problems, observation node time series and printtime depth profiles can be plotted for each relevant output variable defined in the HPx input,including user-specified variables defined via the USER_PUNCH command. Graphs can beedited using the gnuplot commands and exported in various formats. Several special graph types
are available, such as geochemical variables along mesh lines and line probes (2D), amounts of aparticular variable integrated over the mobile and immobile domains, or a specified domain (e.g.,materials, subregions, depths; e.g., Figure S10, left), and combinations of different variables in asingle graph (e.g., Figure S10, right).

179
180
181
182

Figure S9. Illustration of the output dialogue window of HPx.

183
9

184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211

Figure S10. Examples of advanced plotting possibilities: The total amount of pyrite in the entire
soil profile and in some defined depth intervals (left), and depth profiles of three cation exchange
species at two selected times (right).
HYDRUS 5 also comes with a new interface for PHREEQC that combines the input and output
dialogue windows of HPx, resulting in a unique GUI for geochemical calculations(HPGeochemistry). All advanced options available in HPx (e.g., global variables, new scripting
language, etc.) are also available in HPGeochemistry, thus enhancing the flexibility of using
PHREEQC. In addition, managed projects can be defined by integrating HPgeochemistrycalculations with HYDRUS calculations and all auxiliary data and input.

2.5.

Other New Options

Other new capabilities implemented into HYDRUS 5 GUI:• The option to import initial conditions from the results of another HYDRUS project was also
implemented for 1D projects (this option was previously available only for 2D and 3Dprojects).
• HYDRUS 5 allows seamless transfer of project parameters (e.g., soil hydraulic and solutetransport/reaction parameters) between projects of different dimensionalities.
• In the standard Color Palette, blue is used for the lowest values and red for the largest values.
The Reverse Colors command allows users to reverse the sequence of colors in the color
palette (e.g., allowing them to quickly switch the sequence of colors so that blue is used for
wet regions and red for dry regions, etc.).
• HYDRUS 5 displays new quantities used in the PFAS module, such as the area of the airwater interface (AWI), and kinetically and instantaneously sorbed concentrations on theAWI.

10