Hi all, 

Can I couple TOUGH3 with PEST (iTOUGH2 code) for parameter optimization? Thanks in advance.


9replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • You should be able to.  You would run it like you would any other model with iTOUGH2-PEST.

  • Manuel,

    You certainly can. See Section 5.3 of the iTOUGH2-PEST manual for a similar example (using TOUGH2-MP). Things may get a bit tricky if you want to use the parallel option of TOUGH3 in combination with the parallel features of iTOUGH2. It all depends on the architecture of your multiprocessor machine, whether or not you have to run through a scheduler, and whether you have access to the names of the available nodes. I'm sure you'll figure it out.


  • Thanks for the responses, I'll look at sec 5.3.

  • Are there TOUGH2 "instruction and template files" within the mio.f90 or it2pest.f that I can reuse as a starting point to create a TOUGH3-ewasg instruction file?

  • I'm a little confused by the question.  I don't think you should have to mess with any of the source code files to create the instruction file.  Your instruction file(s) should just give instructions how to read the desired output file(s) from your TOUGH3-ewasg simulation.  You can read how to set those up starting on page 13 of the iTOUGH2 PEST User's Guide

  • Definitely, I agree.  I'm just checking if I can avoid creating the template and instruction files from scratch, as I'm sure iTOUGH2 already has to have them hard-coded somewhere.  Or maybe someone in the forum can share them.

  • I would check to see if there are example problems that are similar, but I don't think that creating the template and instruction files should be too difficult.  The template file, in particular, would look almost entirely like your normal TOUGH3 input file.  The instruction file, meanwhile, should only list the descriptions how to read the output file(s).  Which parameters are you trying to estimate, and which model outputs are you trying to compare against data?

  • I think there is a sample using TOUGHREACT in the iTOUGH2-PEST manual, but they are mostly reading the reactive model outputs not the flow model.

    As for you question:

    Parameters: permeabilities, initial conditions, relative permeability function parameters.

    Outputs for comparison: enthalpy, gas concentration, cl concentration in produced fluids.  This will require an extra calculation, as TOUGH3 does not report directly the produced fluids component mass fractions (I'm using EWASG), but I can calculate them from the fractional flow reporte in FOFT file.

    I'm running a sort of lumped-parameter geothermal reservoir model with very small number of blocks, that is why I can "afford" to try to estimate many params.

  • The basics should still be the same on how to construct the template file for a flow input file.  You'll just need to make sure that you adhere to the stricter fixed-width standards of TOUGH inputs.

    Having said all that, if you really don't have many elements and connections, I would suggest using standard iTOUGH2-EWASG.  Particularly if you can use the parallel capabilities of iTOUGH, your iTOUGH runs should run faster, as the inversion processes (Jacobian calculations, etc.) are embarrassingly parallel, whereas inter-process communication during forward runs will incur computational inefficiencies that aren't worth it unless you're running cases with a lot of elements and connections.

Like Follow
  • 3 yrs agoLast active
  • 9Replies
  • 88Views
  • 3 Following