GRESS
Summary:
GRESS (Gradient-Enhanced Software System) reads an existing Fortran code as input and produces an enhanced Fortran code as output. The enhanced code has additional new lines of coding for calculating derivative information analytically but using the rules of calculus. The enhanced model reproduces the reference model calculations and has the additional capability to compute derivatives and sensitivities specified by the user. The user also specifies whether the direct or adjoint method is to be used in computing sensitivities.
URL: http://www-rsicc.ornl.gov/
Developers:
Mode: |
Forward Reverse |
Method: |
Source transformation |
Supported Language: |
Fortran77 |
Reference:
Jim E. Horwedel
GRESS, A Preprocessor for Sensitivity Studies of Fortran Programs
Automatic Differentiation of Algorithms: Theory, Implementation, and Application, SIAM, 1991
Brian Worley
Experience with the Forward and Reverse Mode of GRESS in Contaminant Transport Modeling and Other Applications
Automatic Differentiation: Applications, Theory, and Implementations, SIAM, 1991
GRESS, A Preprocessor for Sensitivity Studies of Fortran Programs
Automatic Differentiation of Algorithms: Theory, Implementation, and Application, SIAM, 1991
Brian Worley
Experience with the Forward and Reverse Mode of GRESS in Contaminant Transport Modeling and Other Applications
Automatic Differentiation: Applications, Theory, and Implementations, SIAM, 1991
Features:
The direct method is most efficient for applications in which the sensitivities are desired for a large number of model results with respect to a small number of model inputs. The adjoint method is most efficient for applications in which the sensitivities are needed for a small number of model results with respect to a large number of model input parameters. The sensitivities can be calculated for any model variable with respect to any other model variable, so that GRESS can also be used for purposes other than sensitivity analysis, such as optimization and code development.
GRESS has been used to enhance large-scale codes for a wide range of applications, for example,
- 3-D finite difference transient geohydrology code SWENT was enhanced to calculate the derivatives of approximately 900 output parameters with respect to a selection of input variables.
- Shallow-land waste disposal model PRESTO-II was enhanced for adjoint capability in order to calculate the derivatives and sensitivities of a few key parameters with respect to 69,000 data variables.
Licensing: free with restrictions
Entries in our publication database that actually use GRESS in the numerical experiments: 3
The following diagram shows these entries versus the year of the publication.
|
![]() |
![]() |
|||
'91 | '98 | ||||
Year |