Introduction

PSyAD is PSyclone’s Adjoint code generator. PSyAD takes a tangent linear kernel and translates it into its adjoint. A kernel may either be a generic subroutine/program or a Kernel that conforms to the LFRic (dynamo0.3) API .

Examples

See the Examples section of the PSyclone User Guide for an introduction to getting started with the PSyclone examples. This includes the set-up necessary for getting PSyAD to work.

Adjoint and Test Harness Generation

PSyAD is currently able to transform generic tangent-linear routines plus some of the LFRic tangent-linear kernels. There are two examples available in the examples/psyad directory. See the README.md file in that directory for full details.