Release text HPx

Last Updated: 2025-04-28

By: Diederik Jacques


Main References

Jacques D, Simunek J, Mallants D, van Genuchten MT. The HPx software for multicomponent reactive transport during variably-saturated flow: Recent developments and applications. JOURNAL OF HYDROLOGY AND HYDROMECHANICS. 2018;66(2):211-26.

Šimůnek, J., G. Brunetti, D. Jacques, M. Th. van Genuchten, and M. Šejna, Recent developments and applications of the HYDRUS computer software packages since 2016, Vadose Zone Journal, 23(1), e20310, 29 p., doi: 10.1002/vzj2.20310, 2024


Web - https://www.pc-progress.com/en/Default.aspx?h1d-hp1 


Current Version: 3.03.005


Version 3.05

----------

3.05/000                202x xx xx

-----------


Phreeqc 

Adding GEMS

Adding YANTRA

Adding PNM

Adding hydrus: colloidal transport (mobile surfaces)


Version 3.04

----------

3.04/000                202x xx xx

-----------


Phreeqc 

Feature        PHREEQC version 3.8.7

Feature        Script functions can be used as alternative geochemical solvers

Feature        Python available as script interpreter

       

ORCHESTRA

Feature        Available as alternative geochemical solver


HYDRUS1D        

Feature        Available for Linux


HYDRUS2D        

Feature        Available for Linux


HYDRUS3D        

Feature        3D transport solver available

Feature        Available for Linux


MT3D-USGS


Version 3.03

----------

3.03/005                2025 xx xx        

-----------

Phreeqc 

Feature        Adding option to adapt log_K values during simulations for phases, exchange species, aqueous species and surface species (-var_logk)

Change


HYDRUS1D        


HYDRUS2D


MT3D-USGS


----------

3.03/005                2025 04 28        

-----------

Phreeqc 

Feature        PHREEQC version 3.8.2

Feature        Selected_graphs. For standard graphs in HPGeochemistry, the option -fig_multi identifier will create for each index (identified with punch index or similar in the input) a plot.

Feature        Selected_graphs. -export true will save pgn files of the plots after the simulations (when launched with the graphical user interface).

Feature        Define variants in x and y axis for a graph via Selected_graph

Feature        New mybasic functions – string.trim()

          Feature        _CURVE in curve transformations

Change        Includepath and include$ - enabling short writing of paths to allow for longer paths

Change        string.trim() extended to add elements to an existing record



HYDRUS1D        


HYDRUS2D


MT3D-USGS



----------

3.03/004                2024 04 01        

-----------

Phreeqc 

Feature        Option for not pressing Enter for closing the run

Feature        New mybasic functions – push_def(), clear_def(), deletef(), string.strtoint()

Feature        Mybasic script : # as a comment symbol

Feature        Counter linked to file: commented lines possible

Feature        Comments in datablock possible

Feature        Calculated_values: add state print_value

Feature        selected_graph: -fig_showzeros to indicate if curves with all zeros should be shown

Change        Selected_graph: -fig_include and -include 

Bug        When -reaction true in selected_output during transport        

Bug        When a global variable (used as inline variable) is an integer

Bug        Need to set punch_on to true after calculated_values -state definition calculation

Bug        SUnitConversion: initialisation of members to 1.0


HYDRUS1D        


HYDRUS2D

Feature        Option for one-dimensional radial transport (only halve of nodes requires geochemical calculations)

Feature        Dispersive fluxes over mesh lines are calculated        

Bug        Bug in output files when number of solutes > 20


MT3D-USGS


----------

3.03/003                2022 11 04        

-----------

Phreeqc 

Feature        Adding options for reset

Feature        Selected_output: add identifier -counter 

Feature        Selected_graph – curve options: add q (query) for filtering data rows and s (sort) for sorting data rows

Bug        MyBasic: entity.run() when working with multiple arguments

Bug        Memory leak when deleting descriptions of GLOBAL_variables

Bug        Printing integers with high precision

Bug        OPENMP when SIT model is used


HYDRUS1D        


HYDRUS2D

Feature        Adding options for reservoir BC (and other features e.g. sublimation)

Feature        Extend number of components from 10 to 40


MT3D-USGS

       Adding version 1.1.0 from MT3D-USGS


----------

3.03/002                2022 05 05        

-----------


Phreeqc

Bug        Solving memory leak in error messages of MyBasic

Bug        Error when type of a put_var() is changed from integer to real value

Bug        CounterIncr: - operator was not working

Bug        Double heading and spacing in profile output files when gnuplot templates are selected


Calc                3.01/003


HP1                3.01/001 


HP2                3.02/.002



----------

3.03/001                2022 03 26        

-----------


Phreeqc

Feature        PHREEQC version 3.7.3

Feature        Add new MyBasic functions from PHREEQC 3.7.0-3.7.3 (except set_diff_c(), mcd_jtot(), mcd_jconc())

Feature         Selected_graph: add several graph types for reactive transport simulation results 

Feature         Selected_graph: add option for stacked graph

Feature        Add _PHREEQCVERSION as global variable

Feature        Mybasic functions: 

str.format() for formatting a string according to C++ string format conditions

       Functions to modify, copy and run chemical entities (entity.modify(), entity.copy(), entity.run())

Feature        Improve error messaging for MyBasic and inline variables

Feature         PRINT: control of –echo_input when including a file


Calc                3.01/003


HP1                3.01/001 


HP2                3.02/.002



Version 3.02

----------

3.02/002                2021 08 23        

-----------


Phreeqc

Feature        Selected_graph: add smooth function

Feature        Selected_output: add –system for total amounts of elements in different phases

Feature        Selected_output: add –contour to create outputfiles than enables gnuplot to make a contour plot

Feature        selected_output: allow for multiple selected_output definitions, including for –crosssection and mobile/immobile.

Feature        selected_output: add summed variables

Feature        Inline variables: add format specifiers

Feature         Inline variable: from DATABLOCK and calculate_values

Feature        Reactive_transport: choosing script functions as geochemical solver

Feature        solution_spread: add extra delimiter (comma)

Feature        datablock: add extra delimiters (comma, tab)

Bug        Change MyBasic function kin_times() to kin_time()

Bug        get_defexist: memory problem

Bug        print_values: correction for punch_on

Bug        Bug when file (in datablock) is used as a counter

Bug        Inline variables including : or ::


Beta versions

       Including python

       Including ORCHESTRA as an alternative geochemical solver during reactive transport

       Script function: get_orch() (MyBasic)

       Calculate_Values: new –state Orchestra to send script to ORCHESTRA calculator

       Reactive_transport_num: add option –orchestra to define if the parallel option in ORCHESTRA is used instead of –openmp.

                Contact djacques@sckcen.be for more information


Calc                3.01/003


HP1                3.01/001 


HP2

Upgrade        to current HPx version

Upgrade        to x64


----------

3.02/001                2020 10 18        

-----------


Phreeqc

Feature        Adaptations for error messaging

Feature        SELECTED_GRAPH: add option for stacked graphs

Feature        SELECTED_graphs: add option to transform variables

Bug                Calculate mass balance error when temperature is different from 25


Calc                3.01/003


HP1                3.01/001



Version 3.01


----------

3.01/003                2020 08 21        

-----------


Phreeqc

Feature        Adaptations for error messaging

Feature        SELECTED_GRAPH: add YX plot, add combined Time series plot, add curve option for k “__nc”.

Feature        Some improved error messages – Stop of transport calculation when geochemistry does not converge

Feature        Addition of some script functions: modify_reactant, module entity (MyBasic)

Bug        Column heading in out files for Alkalinity changed to Alk

Bug        Resolve some bugs for information written to HPx.xlm file


Calc                

Feature        Including Horizontal Drains bottom boundary condition

Feature        Allowing for negative seepage bottom boundary condition



HP1                3.01/001



----------

3.01/002                2020-02-04

----------


Phreeqc

Version                Integration of PHREEQC 3.6.1

Feature                Add sum_solid() to mybasic scripting language

Bug                        Memory allocation error for gas component name


Calc                3.00/001


HP1                3.01/001

       

---------

3.01/001        2020-01-20

---------


Phreeqc

Feature                Keyword GNUPLOT_DEF: Add option to read a number of gnuplot script  (for HPOutput)

Bug                Indices of output files for immobile region in MIM model – wrong numbering of nodes after introducing PHREEQC 3.6.0 (HP 3.00.003)

Output        Axis labels for punch variables (-plot_titles) are added to HPx.xml


Calc                3.00/003


HP1                3.01/003



Version 3.01


---------

3.00/003        2020-01-06

---------


Phreeqc

Version        Integration of PHREEQC 3.6.0

Feature                GLOBAL_VARIABLE – include muparserx to define the value of a numerical global variable with a simple set of arithmetic expressions. Use & as a command separator.


                                       GLObal_variable var1=@_NODES*2

GLOBAL_VARIABLE r 0.5

                                       GLOBAL_VARIABLE area=pi=3.1415 &\

                                                   pi*@r^2


Feature        Numerical inline variables can be defined with a simple set of arithmetic expressions (muparseX). Use & as a command separator.

Feature        COUNTER & COUNTERINCR: an integer global variable to be used as an inline variable. If it is used as inline variable, the current value is used and then changed according its definition and use.

Feature        REPEAT include: save a file with a repetitive Include$ statement

Feature        PUNCH: print text to a selected-output file

Feature        selected_graph: defines graphs for viewing in HPOutput. Selected_graphs are lined to selected_output.

Bug        Use _float_to_string instead of to_string for using global variables in input files.

Bug        Topmix was also calculated for variable water flow boundary conditions other than atmospheric boundary conditions. Topmix is now only calculated for atmospheric conditions.

Bug        pgasphase needs to be treated as a private variable in openmp.

Output        HPx.xml for HP1 is created and is used in HPOutput to create graphs (time series at observation nodes, profiles at selected times). *.plt files are not needed.

Output        Options for printing profile data: identifier –profile in RT_OUTPUT to define the number of blank lines between profiles and a Boolean for repeating the headings.

Output        Multiple selected_output files can be defined and plotting after transport calculatins.



Calc        

Feature        Automatic handling of more than 20 output files when NSD > 20 (NSD > 20 only available on user request).

Output        Component names are printed in obs_node.out, node_inf.out and solute.out files

Output        Nodal solute fluxes and cumulative solute fluxes are printed for each component when lflux = true.

Output        Solute in runoff and cumulative solute in runoff, and average GWL concentration for components are added.


HP1                3.00/001


---------

3.00/002        2017-10-12

---------


Phreeqc

Feature        identifier –case added to DATABLOCK. Names of labels in a record are not case sensitive.

Feature        Improved error messaging when using mybasic as the script language

Bug        Printing PHREEQC version

Bug        _value_to_string_format with return value

Bug        RT_OUTPUT –depths assignment on nodes as a function of depth for HP1.


Calc                3.00/001


HP1        

                       Add logfile.txt


---------

3.00/001        2017-10-05

---------


Set up versioning system with GIT

Integrate HP1 (main, phreeqc, calc) in one MSVS solution