Pr - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Pr

Description:

UNITE MIXTE DE RECHERCHE 7159. CNRS / IRD / UNIVERSITE PIERRE & MARIE CURIE / MNHN ... Lin aire. Param tres Initialisation t-1 t ... Co t. ajuster. bk=aj aj ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 14
Provided by: IPSL5
Category:
Tags: ajuster

less

Transcript and Presenter's Notes

Title: Pr


1
LABORATOIRE D'OCEANOGRAPHIE ET DU CLIMAT
EXPERIMENTATION ET APPROCHES NUMERIQUES UNITE
MIXTE DE RECHERCHE 7159 CNRS / IRD / UNIVERSITE
PIERRE MARIE CURIE / MNHN INSTITUT PIERRE-SIMON
LAPLACE
YAO Une méthodologie logiciel pour
limplémentation de modèles numériques (schéma
direct, adjoint et assimilation variationnelle)
Sylvie THIRIA, Fouad BADRAN, Charles SORROR
2
UTILISATION DU GRAPHE MODULAIRE
Pour le calcul du Modèle Direct Paramètres
Initialisation t-1 t
Coût
k F2 j
F1(i-2)
y1 y2
x1 x2 x3
U
k F4 j
y1
y2
x1 x2 x3

x1 x2 x3
k F1 j
  • y1
  • y2

F3
y1
x1 x2 x3
F1(i2)
k j
3
Graphe modulaire ADJOINT
UTILISATION DU GRAPHE MODULAIRE
Pour le calcul de lAdjoint Paramètres
Initialisation t-1 t
Coût à ajuster
k F2 j
S
F1(i-2)
a1
b1 y1 b2
y2 b3
S
x1 x2 x3
a1
fonction objective
S
U
k F4 j
a2
S
b1Saj?fj/?x1 j
y1 b2Saj?fj/?x2 j
y2 b3Saj?fj/?x3 j
x1 x2 x3
a1
b1 y1 b2 y2 b3 y3
x1 x2 x3
S
a1
k F1 j
U U eua1 (a1 ??J/?U)
  • y1
  • y2

S
a2
a1
F3
S
b1 b2 y1 b3
S
x1 x2 x3
a2
S
a1
S
F1(i2)
k j
a1
aj?bk bk ?aj?fj/?xk
bk?J/?xk
j
successeurs
4
Graphe modulaire TANGENT
UTILISATION DU GRAPHE MODULAIRE
Pour le calcul du Tangent Linéaire Paramètres
Initialisation t-1 t
Coût à ajuster
k F2 j
F1(i-2)
a1
b1 y1 b2
y2 b3
x1 x2 x3
a1
fonction objective
U
k F4 j
a2
  • a1Sbk?f1/?xk
  • k y1
  • a2Sbk?f2/?xk
  • k y2

x1 b1 x2 b2 x3 b3
a1
b1 y1 b2 y2 b3 y3
x1 x2 x3
a1
k F1 j
  • y1
  • y2

a petite perturbation
a2
a1
F3
b1 b2 y1 b3
x1 x2 x3
a2
a1
F1(i2)
k j
a1
bkaj aj ?bk?fj/?xk

k
prédécesseur
5
SCHEMA dUN MODELE
J(Xo) (Xo - Xb)T B-1 (Xo - Xb) Si
(H(Mi(Xo)) - Yi)T R-1 (H(Mi(Xo)) - Yi) temps
0 1 2
n
I N I T
F O R W A R D ?
X
X
X
X
? B A C K W A R D
BACKWARD H1
BACKWARD H2
FORWARD H1
FORWARD H2
FORWARD R
Point dobservation
X Points dintervention
6
SCHEMA 2 TRAJECTOIRES
J(Xo) (Xo - Xb)T B-1 (Xo - Xb) Si
(H(Mi(Xo)) - Yi)T R-1 (H(Mi(Xo)) - Yi)
I N I T
F O R W A R D ?
? B A C K W A R D
BACKWARD H1
BACKWARD H2
FORWARD H2
FORWARD H1
Un schéma multi spatio temporel
FORWARD R
F O R W A R D ?
? B A C K W A R D
BACKWARD H3
FORWARD H3
7
ORGANISATION dUNE APPLICATION YAO
ORGANISATION dUNE APPLICATION YAO
Intervention de lutilisateur Partie
automatique
description du modèle
code standard de Yao -
fonctions - Interpréteur -
générateur
sources générés
sources des modules
flot dinstructions (std. ou
spécif)
Exécutable de lapplication
résultats
8
Modèle 2D Shallow Water
Modèle 2D Shallow Water (Modèle découlement
linéaire dun fluide non visqueux en eau peu
profonde)
(maille i,j)
1 u 3 2 1
1 h 3 2 1
1 v 3 2 1
n
xt (n)
1 v (Vdyn) 4 5 6 2 1 37
1 u 4 2 13 567
1 h 24135
u et v  composantes vitesse horizontale h 
hauteur de la surface de la mer par
rapport à son niveau moyen H f  force de
Coriolis g gravité réduite g
coefficient de dissipation linéaire t temps
xt1
 
vi1,j1
ui-1,j-1
n-1
ui-1
vi1
h
x0
uj-1
v
vj1
u
hj-1
v
u
h
hi1
x1
x0
discrétisation spatiale (grille C dArakawa)
et temporelle (leap frog)
Filtre dAsselin pour lélimination des
oscillations temporelles propre aux schémas du
type leap-frog
ut ut a(ut-1 2ut ut1) vt vt
a(vt-1 2vt vt1) ht ht a(ht-1 2ht
ht1)
9
Fichier de description il contient la
description des caractéristiques du modèle qui
seffectue à laide de directives 
defval SZX 100 defval SZY 100 hat_name
shald option O_GRADTEST traj Toce M 1
400 space Soce M SZX SZY Toce modul
Hfas space Soce input 3 output 1 tempo
? cout target modul Ufas space Soce
input 3 output 1 tempo modul Vfas space Soce
input 3 output 1 tempo modul Hdyn space Soce
input 5 output 1 tempo modul Udyn space Soce
input 7 output 1 tempo modul Vdyn space Soce
input 7 output 1 tempo
Permet de définir des valeurs réutilisables par
la suite
Nom du (ou des) sources chapeaux à inclure qui
contiennent les données et fonctions globales
Les options permettent de limiter la production
de code aux éléments nécessaires
Déclaration dune trajectoire pour laquelle on
doit indiquer la borne inf du temps pour lequel
une variable est nécessaire au calcul du module
courant (ce qui correspond à la phase
dinitialisation), et le nombre de pas de temps
dévolution du modèle
Donne la dimension et la taille dun espace ainsi
que sa trajectoire associée
  • La directive modul permet de déclarer un module
    et den indiquer les attributs à laide de mots
    clés  
  • ? space  rattachement dun module à son espace. 
  • ? input et output pour définir les nombres
    dentrées et de sorties
  • des modules.
  • ? tempo sert à mémoriser les états calculés sur
    tous les pas de
  • temps nécessaires aux calculs des dérivées
    et au référencement
  • dans le passé.
  • ? target si les états du modules doivent être
    controlés.
  • ? cout lorsque le module participe à la fonction
    objective.

10
Fichier de description (suite)
ctin Udyn 1 from Ufas 1 i j
t-1 ctin Udyn 2..3 from Hdyn 1 i1 j
t-1 ctin Udyn 4..7 from Vdyn 1 i1 j1
t-1 ctin Hdyn 1 from Hfas 1 i
j t-1 ctin Hdyn 2..3 from Udyn 1
i-1 j t-1 ctin Hdyn 4..5 from Vdyn 1
i j1 t-1 ctin Hfas 1 from
Hfas 1 i j t-1 ctin Hfas
2..3 from Hdyn 1 i j
t-1 order modinspace Soce order
YA1 YA2 Vdyn Hdyn Udyn
Vfas Hfas Ufas
forder forder order spaceintraj Toce
Soce forder insert_fct arg xgauss
ctin sert à établir les connections du graphe.
Elle permet donc dalimenter les entrées dun
module pour un point (ijt) courant avec les
sorties des modules précédemment calculés sur un
point de coordonnée quelconque. Par exemple, la
1ère déclaration signifie que au point ij
courant, la 1ère entrée du module Vdyn proviendra
du module Vfas de même point mais au temps
précédent (t-1). La syntaxe élaborée permet de
limiter le nombre de déclaration en définissant
des intervalles (cest le rôle du ou du )
dont il sera fait le produit cartésien. Il existe
aussi la directive ctinm qui permet de faire un
produit médiant
Indique à la fois lordre de parcourt dun espace
et lordre dexécution des modules. Les axes
dénotés par YAi sont fixés dans lordre où ils
sont mentionnés. YBi permet de les parcourir à
lenvers. En chaque maille parcourue, les
fonctions des modules seront instanciées dans
lordre indiqué.
Pour chaque trajectoire, on doit indiquer lordre
de calcul des espaces
Grâce à cette directive, Yao peut être enrichi
par de nouvelles commandes spécifiques à
lapplication
11
Les Modules
Ce sont les unités de programmation des
fonctions du modèle. 
Cest cette fonction qui sera appelée en passe
avant lors du parcourt du graphe (schéma direct)
/ module classe Udyn.h
/ //methode forward
----------------------------- forward (YREAL xX,
YREAL hA, YREAL hB, YREAL ySO,
YREAL yNO, YREAL ySE, YREAL yNE )
YS1 xX
(2YDeltaTemps) ( (-grav / YDeltaYA1) (hB -
hA) (f_cor
/ 4) (ySO yNO ySE yNE)
- (dissip xX) ) //
methode backward ----------------------- backward
(YREAL xX, YREAL hA, YREAL hB, YREAL
ySO, YREAL yNO, YREAL ySE,
YREAL yNE ) YJ1I1 1 - (2YDeltaTemps)
dissip YJ1I2 grav ((2YDeltaTemps) /
YDeltaYA1) YJ1I3 - grav
((2YDeltaTemps) / YDeltaYA1) YJ1I4
((2YDeltaTemps) / 4) f_cor YJ1I5
((2YDeltaTemps) / 4) f_cor YJ1I6
((2YDeltaTemps) / 4) f_cor YJ1I7
((2YDeltaTemps) / 4) f_cor
Les entrées du module sont passées en paramètre
selon lordre indiqué par la directive ctin.
Yao prévoit un ensemble de macros pour faciliter
la programmation.Ici, YS1 référence la 1ère
sortie du module
Par contre, pour le problème inverse, Yao
utilisera la fonction backward qui code le
linéaire tangent (dérivée). Les entrées sont
également passées en paramètre.
Ces macros servent à coder le jacobien YJiIn
correspond à la dérivée de la ième sortie par
rapport nième entrée.
12
Fichier dinstructions
  • Le Fichier dinstructions
  • Initialisation du modèle
  • Lancement des tests de validité
  • Effectuer le chargement des observations
  • (ou préparer une expérience jumelle)
  • Introduire des termes débauche
  • Préparer et Déclancher une expérience
  • dassimilation
  • Sauvegarder les résultats

n.b. i) Une application peut aussi être
exécutée en mode interactif
....ii) Lutilisateur peut créer ses propres
instructions
13
Quelques Aspects de lapproche YAO
Cadre de développement lisibilité
compréhension maintenance
Génération Yao fait une partie du travail
et en particulier la propagation
automatique des gradients locaux de la fonction
de coût au travers du graphe de
modules.
Logistique Fonctions génériques
pré-programmées ? run
de simulation et dassimilation ? interfaçage
des minimiseurs m1qn3 et m2qn1 (INRIA) ?
fonctions de validation ? fonction de coût
(ébauche, opérateurs dobs et de cov) ?
Gains rapidité maniabilité
Write a Comment
User Comments (0)
About PowerShow.com