CONDITIONS OF USAGE:The generated code is for non-profit-orientated academic research and education only. Any commercial or other profit-orientated use or evaluation is strictly forbidden. Passing the code to any third party is not allowed.
For commercial or other profit-orientated applications please contact firstname.lastname@example.org .
By using TAMC you are accepting the conditions above. Any usage is logged.
AVAILABILITY:TAMC can be used remotely via Email.
SYNOPSIS:TAMC is a source-to-source translator that generates Fortran routines for computation of the first-order derivatives out of Fortran routines.
FUNCTIONALITY:TAMC provides automatic differentiation in forward and reverse mode for programs written in Fortran. Given a Fortran routine (or collection of routines) for a function, TAMC produces Fortran routines for the computation of the derivatives of this function. The derivatives are computed in the reverse mode (adjoint model) or in the forward mode (tangent-linear model). In both modes Jacobian-Matrix products can be computed.
- Fortran 77 Support:
- TAMC supports almost the full FORTRAN-77 standard.
- Fortran 90 Support:
- Most Fortran-90 extensions to FORTRAN-77 are supported. Array assignments and WHERE statements are supported. Modules and use-statements are supported. All intrinsic functions are handled (some restrictions apply).
- TAMC normalizes the code and applies a control flow analysis. TAMC applies an intraprocedural data dependence and an interprocedural data flow analysis. Given the independent and dependent variables of the specified top-level routine, TAMC determines all active routines and variables and produces derivative code only for those.
- TAMC accepts several directives. Using the reverse mode storing of variables instead of recomputation is controlled by directives.
Multi level checkpointing can be implemented by splitting a loop and inserting directives.
Black box (library) routines are handled using flow information given by directives.
Last changes August 18th 1999.