Configure TAF on the P-Cluster#

Transformation of Algorithms in Fortran (TAF) is a commercial software package developed by FastOpt that performs source-to-source translation of Fortran code. ECCO uses TAF to generate adjoint code, which is essential for producing ocean and sea-ice state estimates, conducting adjoint-based reconstructions and decompositions, and supporting many other applications. Thanks to the generous support of FastOpt, attendees of the ECCO Summer School are granted access to TAF for generating adjoint code on the P-Cluster during the summer school. This tutorial describes the steps to set up the environment for using TAF on the P-Cluster.

Note

All files mentioned in this tutorial are available on the P-Cluster at /efs_ecco/ECCO/TAF/.

TAF Helper Script: staf#

Users send Fortran code to the TAF server. After processiing (i.e., translation), the TAF server reutrns the translated Fortran code, such as adjoint code. A script developed by FastOpt, called staf, faciliates the use of TAF, including setting up the environment, handling communication between the user’s machine (the P-Cluster in our case) and the TAF server, and enabling a wide range of TAF-related operations through command-line options.

Users should go to their home directory, create a directory called bin, and then copy staf to it, as described by the following commands:

cd ~
mkdir bin
cd bin
cp -p /efs_ecco/ECCO/TAF/staf .

In your ~/.bashrc, add the path to the bin directory to your search path:

export PATH=~/bin/:$PATH

If you are using a different shell, add the path to your shell’s configuration file in a similar way.

Issue the following command outside the bin directory to check whether the path has been added correctly:

staf -help

If the output is a list of TAF options, it means staf has been successfully configured.

SSH Key Pair#

Using the TAF server requires authorization from FastOpt. Secure Shell (SSH) keys—a pair of cryptographic keys used for secure authentication in the SSH protocol—are used to interact with the TAF server. For the ECCO Summer School, a common pair of SSH keys is provided for all TAF users; this key pair has been authorized by FastOpt for use with TAF. Please place the SSH keys in the .ssh subdirectory of your home directory, and restrict the read permissions to yourself.

cd
mkdir .ssh/
cd ~/.ssh/
cp -p /efs_ecco/ECCO/TAF/taf .
cp -p /efs_ecco/ECCO/TAF/taf.pub .
chmod 400 taf

Test Connecting TAF Server#

Once the SSH keys are set up, test whether staf can connect to the TAF server by running the following command:

staf -test

A successful connection will produce output similar to the following:

 Transformation of Algorithms in Fortran (TAF)
 Copyright 2000-2019 FastOpt GmbH, Hamburg, Germany
 All rights reserved.
 URL: http://www.FastOpt.de, Email: info@FastOpt.de
 script to access TAF remotely version 5.2

ssh  -x -l taf -i/home/owang/.ssh/taf  fastopt.de test
Your access to the TAF server is enabled.

TAF Manual#

An up-to-date copy of the TAF manual is available on the P-Cluster at /efs_ecco/ECCO/TAF/taf-manual-4.0.pdf. Alternatively, you can download a copy of the TAF manual directly from the TAF server using the following command:

staf -get manual

The manual provides useful information for using TAF, illustrated with simple examples.