SICOPOLIS
latest
Contents
1. Introduction
2. Getting started
3. Dependencies
4. Test simulations
5. Plotting and tools
6. Modelling choices
7. Climate forcing
8. Using automatic differentiation
8.1. Contributors
8.2. Introduction and features
8.3. Installation
8.4. Running SICOPOLIS-AD v2
8.5. Activating variables
8.6. Utilities
8.7. Some FAQs
8.8. Tutorials
8.9. Acknowledgements
9. Technical notes
10. How to contribute
11. Abbreviations and acronyms
12. References
SICOPOLIS
8.
Using automatic differentiation
View page source
8.
Using automatic differentiation
ΒΆ
8.1. Contributors
8.2. Introduction and features
8.3. Installation
8.3.1. Open source AD Tool Tapenade
8.3.1.1. Prerequisites for Linux or Mac OS X
8.3.1.2. Steps for Mac OS
8.3.1.3. Steps for Linux
8.3.1.4. Prerequisites for Windows
8.3.1.5. Steps for Windows
8.3.2. SICOPOLIS-AD v2
8.3.2.1. GNU GCC Compiler (gfortran+gcc) or Intel Compiler (ifort+icc)
8.3.2.2. Lis (1.4.43 or newer)
8.3.2.3. NetCDF (3.6.x or newer)
8.3.2.4. Downloading SICOPOLIS-AD v2
8.3.2.5. Initial configuration
8.4. Running SICOPOLIS-AD v2
8.5. Activating variables
8.6. Utilities
8.6.1. Continuous Integration (CI)
8.6.2. Code coverage
8.6.3. Automation using Python scripts
8.6.3.1. Automated Normal Mode
8.6.3.2. Automated Finite Differences
8.6.3.3. Automated Tangent Linear Mode
8.6.3.4. Automated Adjoint Mode
8.6.3.5. Input options
8.6.3.6. Reading inputs from a file
8.6.3.7. Validation
8.7. Some FAQs
8.7.1. Does the Finite Differences use AD at all?
8.7.2. Why use the Finite Differences when the adjoint is much faster?
8.8. Tutorials
8.8.1. Tutorial 1: Writing your own tangent-linear and adjoint code
8.8.1.1. Forward model
8.8.1.2. Tangent linear mode
8.8.1.3. Adjoint mode
8.8.2. Tutorial 2: Using Tapenade for a mountain glacier model
8.8.2.1. Mountain glacier model
8.8.2.2. Forward Model code
8.8.2.3. Finite Differences for validation
8.8.2.4. Tangent Linear model
8.8.2.5. Adjoint Model
8.8.2.6. Driver Routine
8.8.2.7. Combining all compilation commands into a Makefile
8.8.2.8. Results
8.8.2.9. A note on Binomial Checkpointing
8.8.3. Tutorial 3: Validating results of SICOPOLIS adjoint and tangent linear mode with Finite differences
8.8.3.1. Validation using automated Python script
8.8.3.2. Results
8.9. Acknowledgements