Progress in the implementation of the adjoint of
- Slides: 13
Progress in the implementation of the adjoint of the Ocean model NEMO by using the YAO software M. Berrada, C. Deltel, M. Crépon, F. Badran, S. Thiria Work supported by the SHOM (Hydrographic and Oceanographic Department of the French Navy) under SINOBAD project University of Paris VI LOCEAN Laboratory 9 th European AD Workshop INRIA Sophia-Antipolis, 26 -27, November 2009
The Ocean model NEMO (Nucleus for European Modeling of the Ocean) is a platform for numerical modeling of ocean NEMO Ocean Model Ocean Circulation OPA Model of sea ice LIM Marine Biogeochemistry LOBSTER, PISCES
GYRE configuration Idealized configuration of the physical part of NEMO The domain is a limited area in the North of the Atlantic ocean (Gulf stream region) The horizontal dimension 32 x 22 and 31 vertical levels GYRE area localisation
A validation experiment with twin data The ocean trajectory depends on the initial state Accurate initial ocean environment (V 0 , ssh 0 , T 0 , S 0) V=(u, v) velocity ssh the sea surface height T Temperature S salinity Variational assimilation (YAO software) x=T 0 : Control vector y=M(x)=ssh at t=T : Observations (twin data) Cost function J(x)=||y-yobs||2
YAO Semi- automatic generator of the adjoint code Based on a modular graph structure The modular graph is a data flow diagram which describes the underlying physical model It consists of a set of modules, where the input of each one is provided by the output of its predecessors
YAO: Modular Graph Modular graph in a point of the grid M 2 d x 21 M’ 2 d y 21 d x 22 M 1 d x 11 M 3 d x 31 d y 11 d x 32 d x 33 d y 12 Backward Forward model 1. Defined the modular graph structure of the model 2. Coding of the local functions fq 3. Coding of the Jacobian F d y 31 d y 32
YAO: Modular Graph M 1 Modular graph of the space discretization M 2 M 1 M 2 M 3 M 3 M 1 M 2 Modular graph in a point of the grid M 1 x x M 3 M 1 x M 2 t 1 M 3 M 1 M 2 M 3 M 1 M 3 t 2 M 3 M 1 Time evolution of the modular graph of the space M 1 M 2 M 2 M 3 M 1 M 2 M 1 M 3 t 0 M 1 M 2 M 3 x M 3 M 1 M 2 M 3 t 3
Accomplished work 1. 2. Defined the modular graph structure of the GYRE model under YAO M 1 Coded the forward model d y 11 d x 11 d y 12 3. Implementation of the Jacobian of each module which is needed for the backpropagation (used for the computation of the cost function gradient )
Accomplished work Comparison: GYRE-YAO vs GYRE-Fortran (accuracy 10 -11) Comparison of the ssh at t=100 (1 time step =2 h)
Linear tangent test 1 st order test α(k+1)=α(k)/2 : α (1): 2. 500000 e-02 : α (2): 1. 250000 e-02 : α (3): 6. 250000 e-03 : α (4): 3. 125000 e-03 : α (5): 1. 562500 e-03 : α (6): 7. 812500 e-04 : α (7): 3. 906250 e-04 : α (8): 1. 953125 e-04 : α (9): 9. 765625 e-05 : α (10): 4. 882813 e-05 : α (11): 2. 441406 e-05 : α (12): 1. 220703 e-05 : α (13): 6. 103516 e-06 : α (14): 3. 051758 e-06 : α (15): 1. 525879 e-06 2 nd order test 1 st order test : : : : -1 -> -1 -> -1 -> -1 -> 7. 914089 e+00 1. 015254 e+01 3. 269313 e+00 4. 561872 e+01 8. 877574 e+01 1. 205476 e+01 1. 799721 e+02 6. 400455 e+01 3. 628549 e+03 7. 207983 e+03 9. 999715 e-01 9. 999856 e-01 9. 999939 e-01 9. 999962 e-01 9. 999983 e-01 2 nd order test -K-> -K-> -K-> -K-> 3. 121720 e+02 8. 051761 e+02 5. 011360 e+02 1. 460673 e+04 5. 683726 e+04 1. 542101 e+04 4. 606209 e+05 3. 278745 e+05 3. 715594 e+07 1. 476187 e+08 2. 649493 e+01 2. 674571 e+01 2. 245280 e+01 2. 876924 e+01 2. 558008 e+01
Adjoint test
Conclusion Flexibility: Modifying the model at any time is straightforward due to modular graph structure One can consider a more complex function as a module for the YAO graph and uses Tapenade (or other) to get the local adjoint Encouraging results of the adjoint tests
Thank you!
- Physical progress and financial progress
- Adjoint evolutif carrefour
- Invers matriks menggunakan adjoint
- Cofactor matlab
- Inverse of a matrix using adjoint
- Matrisin tersi nasıl alınır
- Syntagme adjoint
- Adjoint administratif chru nancy
- Self adjoint operator
- Tangent linear model
- Adjoint method
- Self adjoint operator
- Adjoint e graphique senior
- Adjoint of a 2x2 matrix