Articles | Volume 9, issue 11
Development and technical paper
01 Nov 2016
Development and technical paper |  | 01 Nov 2016

An approach to computing discrete adjoints for MPI-parallelized models applied to Ice Sheet System Model 4.11

Eric Larour, Jean Utke, Anton Bovin, Mathieu Morlighem, and Gilberto Perez

Abstract. Within the framework of sea-level rise projections, there is a strong need for hindcast validation of the evolution of polar ice sheets in a way that tightly matches observational records (from radar, gravity, and altimetry observations mainly). However, the computational requirements for making hindcast reconstructions possible are severe and rely mainly on the evaluation of the adjoint state of transient ice-flow models. Here, we look at the computation of adjoints in the context of the NASA/JPL/UCI Ice Sheet System Model (ISSM), written in C++ and designed for parallel execution with MPI. We present the adaptations required in the way the software is designed and written, but also generic adaptations in the tools facilitating the adjoint computations. We concentrate on the use of operator overloading coupled with the AdjoinableMPI library to achieve the adjoint computation of the ISSM. We present a comprehensive approach to (1) carry out type changing through the ISSM, hence facilitating operator overloading, (2) bind to external solvers such as MUMPS and GSL-LU, and (3) handle MPI-based parallelism to scale the capability. We demonstrate the success of the approach by computing sensitivities of hindcast metrics such as the misfit to observed records of surface altimetry on the northeastern Greenland Ice Stream, or the misfit to observed records of surface velocities on Upernavik Glacier, central West Greenland. We also provide metrics for the scalability of the approach, and the expected performance. This approach has the potential to enable a new generation of hindcast-validated projections that make full use of the wealth of datasets currently being collected, or already collected, in Greenland and Antarctica.

Short summary
We present an approach to derive the adjoint state of the C++ coded Ice Sheet System Model. The approach enables data assimilation of observations to improve projections of polar ice sheet mass balance and contribution to sea-level rise. It is applicable to other Earth science frameworks relying on C++ and parallel computing, is non-intrusive, and enables computation of transient adjoints for any type of physics, hence providing insights into the sensitivities of any model to its inputs.