next up previous contents
Next: Structure vs. COMMON Up: Updating the ASTERIX Previous: Updating an ASTERIX

NAG vs. PDA

As Starlink does not have a licence to distribute NAG code on their CD-ROM releases, all software must be converted to use Public Domain Algorithms (PDA) for certain mathematical operation. This new code comes either from Starlink or has been developed at Birmingham.

These new routines are in general sufficient, whilst otherwise been less accurate, robust and quick. However, the matrix inversion routine is not robust enough for use in spectal and cluster fitting. Thus the option has been retained to compile ASTERIX with this single NAG routine in place (F04ATF).

The environment variable $AST_NAG is set to the required value in the development initialisation file /lsoft1/asterix/ast_local/sysdev. It has the value -DNAG to use the NAG routines or is null to use the PDA routines. Affected files have been renamed as file.F as the `.F' causes the pre-processor to run and produce a temporary `.f' file.

The script mk has been altered to pass $AST_NAG through to the Fortran compiler and to define C++ compilation flags, and the script replace has been altered to recognise `.F' and `.C' files (for the generic fitting algorithm in fit_min4.C). The linking script spec_link_adam includes the NAG and C++ libraries for Solaris and Alpha (but not Linux).

On Dec Alpha machines the $AST_NAG variable also has the value -DOSF included, as certain time variables need to be changed from long to int in fit_min4.C.



Asterix
Tue Jun 23 11:52:19 BST 1998