Turning a serial forward code into a parallel inverse code: A case study from geothermal engineering.
Significant human effort is spent in developing numerical simulation codes that represent a forward problem in computational science and engineering. Typically, the only focus of these developments is on issues of the forward model, exclusively addressing how the output of interest is efficiently and accurately simulated for given input parameters. Though these issues may be numerous and intricate we argue that, most likely, the forward model will later also be used in a framework addressing inverse problems. Therefore, any design of a forward model should consider issues related to inverse modeling as well. We show by example of the geothermal engineering code SHEMAT that this requires to rethink design decisions that were originally taken for the forward model.