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.