Computer Programs
last modified: 24-JUN-2010 | catalog | categories | new | search |


TOUGH2 & TOUGHREACT, Unsaturated Ground Water and Heat Transfer

top ]


Last updated versions are available at


top ]
To submit a request, click below on the link of the version you wish to order. Rules for end-users are available here.
Program name Package id Status Status date
TOUGH2V2.0 ESTS0219/05 Arrived 04-JAN-2002
ITOUGH2(PC) ESTS0219/06 Tested 20-JUN-2000
TMVOCV1.0 ESTS0219/08 Arrived 09-DEC-2005
ECO2N ESTS0219/09 Tested 03-JUN-2010
TOUGHREACTV1.2 ESTS0219/10 Arrived 24-JUN-2010

Machines used:

Package ID Orig. computer Test computer
ESTS0219/05 Many Computers
ESTS0219/06 Many Computers PC Pentium II 450,IBM RISC6000 WS,SUN W.S.,DEC ALPHA W.S.
ESTS0219/08 Many Computers
ESTS0219/09 IBM PC,UNIX W.S. Linux-based PC,PC Windows
ESTS0219/10 MacOS,Linux-based PC,PC Windows
top ]

TOUGH2V2.0 is a new and improved version of TOUGH2 for simulating fluid flow and heat transfer in porous media. It is upwardly compatible with and includes all of the capabilities of the earlier version, including the flexibility to handle different fluid mixtures (water, water with tracer; water, CO2; water, air; water, air, with vapor pressure lowering; and water, hydrogen), facilities for processing of geometric data (computational grids), and an internal version control system to ensure referenceability of code applications. Improvements in TOUGH2V2.0 include (1) several new EOS modules for different fluid mixtures, including brines and water-soluble and volatile tracers, (2) enhanced capabilities for previously released fluid property modules, (3) description of diffusion and dispersion in multiphase systems, (4) strongly coupled flow and transport processes, (5) coupling between flow in geothermal reservoirs and wellbores in two-phase conditions, (6) tracer transport with sorption and radioactive decay, (7) flow in media with strong heterogeneity, and (8) a new package of preconditioned conjugate gradient routines for more robust solution of numerically difficult problems. In addition, numerous enhancements were made to facilitate applications to more diverse and demanding flow problems. The TZVOC code for three phase flow of water, air, and a non-aqueous phase liquid (NAPL) has been fully integrated into and is now part of the TOUGH2V2.0 program package. TOUGH2V2.0 comes with a new self-contained users guide that includes technical specifications, a complete reference of input data formats and a collection of sample problems.
TOUGH2V2.0 is a multi-dimensional numerical model for simulating the coupled transport of water, vapor, air, and other fluids, and heat in porous and fractured media. The program provides options for specifying injection or withdrawal of heat and fluids. (more in OTHER PROG/OPER SYS INFO).


iTOUGH2 (inverse TOUGH2) is a computer program that provides inverse modeling capabilities for the TOUGH2 code, a simulator for multiphase, multicomponent, non-isothermal flows in fractured-porous media.


TOUGHREACT is a numerical simulation program for chemically reactive non-isothermal flows of multiphase fluids in porous and fractured media. The program is written in Fortran 77 and was developed by introducing reactive chemistry into the multiphase flow code TOUGH2. Interactions between mineral assemblages and fluids can occur under local equilibrium or kinetic rates. The gas phase can be chemically active. Precipitation and dissolution reactions can change formation porosity and permeability. The code is distributed with a comprehensive user's guide that includes worked sample problems addressing geothermal reservoirs and hydrothermal systems, nuclear waste isolation, groundwater quality, sequestration of carbon dioxide in saline acquifers, and supergene copper enrichment.


TMVOC is a simulator for multicomponent, multiphase, nonisothermal flows of water, soil gas, and several volatile organic chemicals (VOCs). It is based on the M2NOTS-code developed by Adeyinka Adenekan. TMVOC operates within the freamework of TOUGH2, Version 2.0 (T2V2). The code consists of two modules (groups of routines) named *t2fm.f* and *emvoc.f* that must be linked to several standard T2V2 modules.
TMVOC is designed for applications to contamination problems that involve hydrocarbon fuel or organic solvent spills in saturated and unsaturated zones. It can model contaminant behavior under "natural" environmental conditions, as well as for engineered systems, such as siol vapor extraction, groundwater pumping or stem-assisted source remediation.


ECO2N is a fluid property module for the TOUGH2 simulator (Version 2.0) that was designed for applications to geologic sequestration of CO2 in saline aquifers. It includes a comprehensive description of the thermodynamics and thermophysical properties of H2O - NaCl - CO2 mixtures, that reproduces fluid properties largely within experimental error for the temperature, pressure and salinity conditions of interest (10 deg.C <= T <= 110 deg.C; P <= 600 bar; salinity up to full halite saturation). Flow processes can be modeled isothermally or non-isothermally, and phase conditions represented may include a single (aqueous or CO2-rich) phase, as well as two-phase mixtures. Fluid phases may appear or disappear in the course of a simulation, and solid salt may precipitate or dissolve.

top ]

TOUGH2V2.0 performs a fully-coupled, simultaneous solution of mass and energy balance for multi-component, multi-phase fluids in permeable media coupled with a multiphase extension of Darcy's Law, and Fickian diffusion and dispersion. The governing equations are discretized using integral finite difference for space and fully-implicit first-order finite differences in time. The resulting non-linear algebraic equations are solved by Newton-Raphson iteration. Iteration is continued until all residuals are reduced below user-specified convergence tolerances. The linear equations arising at each iteration step can be solved with a variety of techniques, including direct matrix methods, and iterative approaches using preconditioned conjugate gradients.


iTOUGH2 solves the inverse problem by automatically calibrating a TOUGH2 model against observed data. Any TOUGH2 input parameter can be estimated based on any observation for which a corresponding TOUGH2 output can be calculated. An objective function measures the difference between the model calculation and the observed data, and a minimization algorithm proposes new parameter sets that iteratively improve the match. Once the best estimate parameter set is identified, iTOUGH2 performs an extensive error analysis which provides statistical information about residuals, estimation uncertainties, and the ability to discriminate among model alternatives. Furthermore, an uncertainty propagation analysis allows one to quantify prediction errors.


iTOUGH2 runs in three application modes:


  • Sensitivity Analysis

  • Parameter Estimation

  • Uncertainty Propagation Analysis


TMVOC input files are very similar to T2VOC input files. Slight revisions in T2VOC input files are required in data blocks CHEMP for VOC parameters. User options selectable by means of the parameter NKIN are available to initialize a TMVOC run from T2VOC-stuly initial conditions, with automatic internal conversion input data prior to execution.


ECO2N: The partitioning of H2O and CO2 between liquid and gas phases is modeled as a function of temperature, pressure, and salinity, using the recently developed correlations of Spycher and Pruess (2005). Dissolution and precipitation of salt is treated by means of local equilibrium solubility. Associated changes in fluid porosity and permeability may also be modeled. All phases - gas, liquid, solid - may appear or disappear in any grid block during the course of a simulation. Thermodynamic conditions covered include a temperature range from ambient to 100 deg.C (approximately), pressures up to 600 bar, and salinity from zero to fully saturated. These parameter ranges should be adequate for most conditions encountered during disposal of CO2 into deep saline aquifers.

top ]

Storage requirements increase with number of grid blocks (mesh size). Maximum problem dimensions can be specified through PARAMETER statements in the main program, or through an INCLUDE file.

top ]

Highly variable depending on problem size and simulation time. Many simple flow problems with a few hundred grid blocks can be run in a matter of minutes on workstations. Large, complex 3-D problems with 50,000 - 100,000 grid blocks in heterogeneous media may run for days.


ESTS0219/09 - ECO2N

During the testing at the NEA DB, running time was case dependent, in a PC-Windows/XP Intel Pentium 3.2GHz:




Running Time (sec)


To demonstrate different initialization options



Radial flow from a CO2 injection well



CO2 discharge along a fault zone



CO2 injection into a 2-D layered brine formation



top ]

TOUGH2V2.0 has a flexible modular structure that allows modeling of different fluid mixtures. The integral finite difference method used is equivalent to conventional finite differences for regular grid systems, but offers additional flexibility by allowing irregular grids to represent geologic or geometric features. One, two, and three-dimensional systems and single or multiple continuum media are all treated on the same footing. There is an extensive record of code verifications and worked problems.

top ]

TOUGH2V2.0 supersedes the previous versions of TOUGH2, which in turn superseded the TOUGH Code. Utility programs to facilitate TOUGH2 applications, such as preprocessing of calculational grids, specification of initial and boundary conditions, and interfacing with graphics programs, are freely available for downloading from the TOUGH2 homepage on the web at


TOUGHREACT: An intimate knowledge of the TOUGH2V2.0 code is required. It is recommended that TOUGH2V2.0 be licensed along with TOUGHREACT.


TOUGH2 V2.0, T2VOC. TMVOCV1.0 runs interrelated with TOUGH2 V2.0.


TOUGH2, Version 2.0.
CO2TAB3B is an auxiliary program for generating a table of thermophysical properties (CO2TAB file) to be used with TOUGH2/ECO2N.
Updated source code can be found in:


top ]
Package ID Status date Status
ESTS0219/05 04-JAN-2002 Masterfiled Arrived
ESTS0219/06 20-JUN-2000 Tested at NEADB
ESTS0219/08 09-DEC-2005 Masterfiled Arrived
ESTS0219/09 03-JUN-2010 Tested at NEADB
ESTS0219/10 24-JUN-2010 Masterfiled Arrived
top ]

Background references for TMVOCV1.0:


  • K. Pruess, C. Oldenburg and G. Moridis:
    TOUGH2 User's guide, Version 2.0, Lawrence Berkeley National Laboratory Report LBNL-43134, Nov 1999.

  • Adenekan, A.E.:
    Numerical Modeling of Multiphase Transport of Multicomponent Organic Contaminants and Heat in the Subsurface, PhD thesis, University of California at Berkeley, Berkeley, CA 94720, 1992.

  • Adenekan, A.E., T.W. Patzek and K. Pruess:
    Modeling of Multiphase Transport of Multicomponent Organic Contaminants and Heat in the Subsurface: Numerical Model Formulation, Water Resour. Res., Vol. 29, No. 11, pp. 3727-3740, 1993.


Background references for TOUGHREACTV1.2:


  • Xu, T., and K. Pruess:
    Modeling multiphase non-isothermal fluid flow and reactive geochemical transport in variably saturated fractured rocks: 1. Methodology, American Journal of Science, 301, 16-33, 2001

ESTS0219/05, included references:
- K. Pruess, C. Oldenburg and G. Moridis:
TOUGH2 User's Guide Version 2.0
LBNL-43134 November 1999
ESTS0219/06, included references:
- Stefan Finsterle:
iTOUGH2 User's Guide
LBNL-40040 Rev.1  (March 1999)
- Stefan Finsterle:
iTOUGH2 Command Reference Version 4.0
LBNL-40041 Rev.1 (March 1999)
- Stefan Finsterle:
iTOUGH2 Sample Problems
LBNL-40042 Rev.1 (March 1999)
ESTS0219/08, included references:
- K. Pruess and A. Battistelli:
TMVOC, A Numerical Simulator for Three-Phase Non-isothermal Flows of
Multicomponent Hudrocarbon Mixtures in Saturated-Unsaturated Heterogeneous
Media (Report LBNL-49375, April 2002)
ESTS0219/09, included references:
- Karsten Pruess:
ECO2N: A TOUGH2 Fluid Property Module for Mixtures of Water, NaCl, and CO2
LBNL-57952 (August 2005)
ESTS0219/10, included references:
- Tianfu Xu, Eric Sonnenthal, Nicolas Spycher, and Karsten Pruess:
TOUGHREACT User's Guide: A Simulation Program for Non-isothermal Multiphase
Reactive Geochemical Transport in Variably Saturated Geologic Media
LBNL-55460, September 2004
- K. Pruess, C. Oldenburg and G. Moridis:
TOUGH2 User's Guide Version 2.0 - LBNL-43134 November 1999
- Karsten Pruess:
ECO2N: A TOUGH2 Fluid Property Module for Mixtures of Water, NaCl, and CO2
LBNL-57952 (August 2005)
top ]

A flow problem with up to 800 grid blocks, 2400 connections (interfaces) between them, and 3 equations per grid block requires approximately 4 Megabytes of RAM. More detailed information is available in the user's guide.


ESTS0219/09 - ECO2N

Tested at the NEA DB on PC-Windows/XP using Compaq Visual Fortran 6.6A and PC-linux/Fedora12 using Intel Fortran Compiler V10.1.
No executables are included in the package.


top ]
Package ID Computer language
ESTS0219/05 FORTRAN-77
ESTS0219/06 FORTRAN-77
ESTS0219/08 FORTRAN-77
ESTS0219/09 FORTRAN-77
ESTS0219/10 FORTRAN-77
top ]

Operating System-Independent (Requires 64-bit compiler to provide double precision arithmetic).


ESTS0219/09 - ECO2N

ECO2N is 'plug-compatible' with TOUGH2, Version 2.0. The code is intrinsically single-precision, but requires 64-bit arithmetic, which on 32-bit processors (PCs and workstations) may be realized by using compiler options for generating 64-bit arithmetic.

ECO2N may be linked with standard TOUGH2 modules like any of the fluid property modules included in the TOUGH2 V 2.0 package.


top ]

Although primarily designed for geothermal reservoir studies, and isolation of high level nuclear waste in partially saturated geological media, TOUGH2V2.0 should also be useful for a wider range of problems in heat and moisture transfer, and in the drying of porous materials. The simulator was primarily developed for problems involving strongly heat driven flow. To describe these phenomena a multiphase approach to fluid and heat flow is used, which fully accounts for the movement of gaseous and liquid phases, their transport of latent and sensible heat, and phase transitions between liquid and vapor. TOUGH2V2.0 takes account of fluid flow in both liquid and gaseous phases occurring under pressure, viscous, gravity forces according to Darcy's Law. Interference between the phases is represented by means of relative permeability functions. The code handles multiphase diffusion effects coupled with phase partitioning, and represents capillary and phase adsorption effects for the liquid phase. Heat transport occurs by convection and diffusion, accounting for sensible and latent heat, and by conduction with thermal conductivity dependent on water saturation. TOUGH2V2.0 can also efficiently model isothermal flow problems, such as unsaturated flow described by Richard's equation, or water and tracer transport in groundwater aquifers.
TOUGH2V2.0 includes the proprietary software package MA28 from the Harwell Subroutine Library.


TMVOC - Storage requirements increase with number of grid blocks (mesh size). Maximum problem dimensions can be specified through PARAMETER statements in the main program, or through an INCLUDE file.


ESTS0219/09 - ECO2N

While testing the code at the NEA DB, a bug was found while testing ECO2N in TEST4. For high pressures (P & P(NPK), with P(NPK) is the maximum value in CO2TAB file, the EWASG- extrapolation is used. However, this extrapolation was meant for the "low-pressure end". It was never intended for high pressures. The code stops execution. This bug was reported to the author (K. Pruess) and the author confirms and suggested a modification in the program to be posted in the weblink "bugs and fixes"(

In order to avoid this EWASG- extrapolation users could extent the P(NPK) in CO2TAB to higher values (this is the solution adopted by NEA in TEST4).


top ]

S. Finsterle, K. Pruess, C. Oldenburg, G. Moridis, Tianfu Xu, E. Sonnenthal, N. Spycher

Lawrence Berkeley National Lab.,

Mail Stop 90-1116

Berkeley, CA 94720, USA

Karsten Pruess
Lawrence Berkeley National Laboratory
Berkeley, CA 94720
Dott. Ing. Alfredo Battistelli
Business Unit Engineering and Construction
Environment Unit, RISAMB Dept./ Environmental Remediation
Modelling and Risk Analysis Coordinator
Via Toniolo 1, 61032 Fano (PU)

Tianfu Xu, Eric Sonnenthal, Nicolas Spycher, Karsten Pruess
Lawrence Berkeley National Lab.,
Mail Stop 90-1116
Berkeley, CA 94720
top ]
ESTS0219/05  - readme file
t2cg2.f  - contains the main program of TOUGH2
T2       - an INCLUDE file needed by t2cg2.f
T2small  - an alternative INCLUDE file
t2solv.f - a package of conjugate gradient solvers
t2cg1.f  - alternative to t2cg2.f
meshm.f  - module with internal mesh generation facilities
eos1.f   - equation of state for water, or two waters
eos2.f   - equation of state for water/CO2 mixtures
eos3.f   - equation of state for water/air (similar to TOUGH)
eos4.f   - equation of state for water/air with vapor pressure lowering
eos5.f   - equation of state for water/hydrogen; otherwise similar to eos3.f
eos7.f   - equation of state for mixtures of water, brine, and air
eos7r.f  - equation of state for water/brine/air
eos8.f   - equation of state for three-phase mixtures of water/air/oil
eos9.f   - equation of state for saturated-unsaturated flow (Richards equation)
ewasg.f- eq. of state for 3-phase mixtures of water,solid NaCl,non-condensible
t2f.f    - the core module of TOUGH2
ma28.f   - linear equation solver from the Harwell subroutine library
sam1   - sample pb 1 (code demonstration and comparison with TOUGH)
rhp   - sample pb 2 (heat pipe in cylindrical geometry)
rvf  - sample pb 3 (heat sweep in a vertical fracture)
rfp  - sample pb 4 (five-spot geothermal production/injection)
r1q      - input file for sample problem 5 (coupled wellbore flow)
rf1      - input file for sample problem 6
rdif7    - sample pb 7 (thermal and tracer diffusion)
rdica  - sample pb 8
rcol8    - sample pb 9 (flushing oil from a 1-D column)
reos9a   - input file for sample problem 10 (gravity-capillary equilibrium)
rpm   - sample problem 11 (block-by-block permeability modification)
rhbc  - sample pb 12 (geothermal reservoir with hypersaline brine and CO2)
f725d    - table of downhole flowing wellbore pressures
t2voc.f  - single-precision FTNN 77 srce for the 3-phase water/air/NAPL module
rgdif    - one-dimensional gas diffusion (T2VOC problem 1)
rblev    - Buckley-Leverett problem (T2VOC problem 2)
rtce1    - TCE injection in laboratory column (T2VOC problem 3, 1)
rtce2    - TCE waterflood (T2VOC problem 3, 2)
rtce3    - steam sweep of TCE (T2VOC problem 3, 3)
rfs1     - 2-D gravity-capillary equilibrium  (T2VOC problem 4, 1)
rfs2     - Xylene spill (T2VOC problem 4, 2)
rfs3     - Xylene redistribution (T2VOC problem 4, 3)
rfs4     - steam sweep of Xylene (T2VOC problem 4, 4) - compilation of thermophysical property data for selected VOCs
t2dm.f   - single-precision FORTRAN77 source code
samd1    - input file for 1-D dispersion (T2DM/EOS7 problem 1)
samd1MSH - MESH file for samd1
samd2    - input file for 2-D dispersion (T2DM/EOS7 problem 2)
samd2MSH - MESH file for samd2
r2db     - input file for salt dome flow problem
r2dbMSH  - MESH file for r2db
rdis1    - short test problem for verifying installation of the dispersion
samr1    - input file for 1-D radionuclide transport with sorption and decay
samr1MSH - MESH file for samr1
sr12ph   - input file for 1-D transport of volatile radionuclides
samr2    - input file for 1-D transport of ammonium
samr2MSH - MESH file for samr2
shan1    - input file for 1-D transport of a volatile tracer in the vadose zone
shan1MSH - MESH file for shan1

ComRef.pdf Documentation in electronic form
itough2.tar Material of itough2 Material of itough2 Readme file
SamPro.pdf Documentation in electronic form
UseGui.pdf User's guide in electronic form

ESTS0219/08 Readme file
t2fm.f  Standard T2V2 program units
T2  Parameter statements for flexible dimensioning
emvoc.f  Subroutine EOS and satellite routines
t2cg22.f  "front-end" for the linear solver package
meshm.f  Module with internal mesh generation facilities
t2f.f  Core module of TOUGH2
t2solv.f  Conjugate gradient solvers
ma28.f  Linear equation solver from the Harwell subroutine library (written by
I.S. Duff)
r7c  input file for sample problem 1
rblm  input file for sample problem 2
rdif2  input file for sample problem 3
rtcem1  input file for sample problem 4, part 1
rtcem2  input file for sample problem 4, part 2
rtcem3  input file for sample problem 4, part 3
rtcem3on  variation of *rtcem3*
rtb1  input file for sample problem 5, part 1
rtb2  input file for sample problem 5, part 2
rtb3  input file for sample problem 5, part 3
rad1  input file for sample problem 6, part 1
rad2  input file for sample problem 6, part 2
rad3  input file for sample problem 6, part 3
rad4  input file for sample problem 6, part 4
m2dl  MESH file for sample problem 7
r2dl1  input file for sample problem 7, part 1
r2dl2  input file for sample problem 7, part 2
r2dl3  input file for sample problem 7, part 3
r2dl4  input file for sample problem 7, part 4
voc.dat property data for a selection of frequently encountered VOCs
lbnl49375.pdf User's guide in electronic form

- eco2n.dsp Visual Digital fortran DSP/6.6a
- eco2n.dsw Visual Digital fortran DSW/6.6a
- eco2n.f
- MA28.F
- T2
- t2cg22.f PROG. TOUGH2, MODULE T2CG2, VER. 2.0, Oct'99
- T2F.F
- \src\tough2_test4 Tough2 V2.0 programme with updated "MESHM.F" just for TEST4
- eco2n.dsp Visual Digital fortran DSP/6.6a
- eco2n.dsw Visual Digital fortran DWP/6.6a
- eco2n.f
- MA28.F
- MESHM.F Updated subroutine GXYZ according Fig.31, pag.46 in ECO2N Manual
- T2
- t2cg22.f PROG. TOUGH2, MODULE T2CG2, VER. 2.0, Oct'99
- T2F.F
- \test
- \test\co2tab
- rco2h an input data file for co2tab3.f,Pmax=0.600E+08
- rco2h.out output
- run.bat MSDOS Batch File to run co2tab3
- \test\co2tabext
- CO2TAB CO2 PROPERTIES for problem 4
- rco2h an input data file for co2tab3.f,Pmax=0.756E+08
- rco2h.out output
- run.bat MSDOS Batch File to run co2tab3
- \test\test1
- rtab input file for sample problem 1 (demonstrates different initialization
- rtab.out output
- run.bat MSDOS Batch File to run test1
- \test\test2
- m122a_ni MESH file for sample problem 2
- rcc3 input file for sample problem 2 (radial flow from a CO2 injection well)
- rcc3.out output
- run.bat MSDOS Batch File to run test2
- \test\test3
- r1dv input file for sample problem 3 (CO2 discharge along a fault zone)
- r1dv.out output
- run.bat MSDOS Batch File to run test3
- s67a INCON file with gravity-equilibrated conditions for sample problem 3;
- \test\test4
- CO2TAB CO2 PROPERTIES taken from co2tabext up to Pmax=0.756000E+08
- m37i MESH file for sample problem 4
- rtp7 input file for sample problem 4 (CO2 injection into a 2-D layered brine
formation); this file includes the MESHMAKER input data for grid generation at
the end
- rtp7.out output
- run.bat MSDOS Batch File to run
- s616f INCON file with gravity-equilibrated conditions for sample problem
- \doc
- eco2n_man.pdf ECO2N user's manual (Lawrence Berkeley National Laboratory
Report LBNL-57952, August 2005)
- Brief instructions for installing and running TOUGH2/ECO2N

User Guide
ReadMe File
Source Code
Executable Module(s)
Compilation Instructions
Sample Problem Input Data
Sample Problem Output Data
top ]
  • H. Heat Transfer and Fluid Flow
  • R. Environmental and Earth Sciences

Keywords: environment, equations of state, fluid flow, gaseous wastes, geologic structures, geothermal, heat flow, hydrology, multiphase flow, porous materials, radioactive waste storage, two-phase flow, water pollution.