|
Généralités
Symphonie
est un modèle océanique développé par
le POC (Pôle Océan et Couplages) de l'observatoire
Midi-Pyrénées de Toulouse. SYMPHONIE fait partie du
système SIROCCO labellisé modèle communautaire
par l'INSU en 2007.
Ce
code est essentiellement utilisé aux échelles régionales
et côtières. Jusqu'à ce jour, il a été
principalement utilisé pour étudier des régions
de la mer Méditerranée ou de la façade atlantique
européenne. Les articles publiés à partir de
ce modèle portent pour la plupart sur des études de
processus typiques des problématiques côtières
& régionales telles que les panaches fluviaux, les circulations
du plateau continental induites par le vent, les upwelling, les
circulations le long de la pente, la formation des eaux denses au
large et sur le plateau continental, la marée externe et
interne etc
Au fils des ans Symphonie est devenu un code multi-échelle
et pluridisciplinaire. L'aspect multi-échelles (résolution
millimétrique) est notamment venu de sa physique non-hydrostatique
et aux études associées, menées avec des équipes
expérimentales travaillant sur la plaque tournante Coriolis
et sur les cuves du CNRM (simulations DNS). L'aspect pluridisciplinaire
est lié aux applications environnementales, Symphonie incluant
un module de transport sédimentaire et un modèle biogéochimique
développé par le POC sur la base du modèle
ECO3M.
Description
succincte
Cur
hydrodynamique:
SYMPHONIE
résout les équations primitives en faisant les hypothèses
de Boussinesq. La pression est soit hydrostatique (version distribuée)
soit Non-Hydrostatique (version recherche). La discretisation est
basée sur une méthode en différences finies
de type Arakawa & Lamb Grille C conservant l'énergie
mécanique.
Les
principales options qui font l'originalité du code:
Son noyau Non-Hydrostatique et l'effort
associé sur les aspects numériques relatifs à
la résolution des gros systèmes d'équations
linéaires (notamment le choix du solveur et sa parallélisation).
La coordonnée verticale généralisée
qui permet d'utiliser le modèle en mode sigma / géopotentiel
/ couches adiabatiques avec possibilité d'hybridation (c.a.d.
combinaison de ces 3 modes). Cette discrétisation verticale
permet d'exploiter des techniques lagrangiennes pour mieux restituer
le caractère adiabatique de l'océan profond. Cette
grille verticale est associée à une grille horizontale
curviligne importée de NEMO. Les facteurs d'échelles
associés sont génériques de sorte que le code
est réceptif aux innovations d'une très large communauté
de modélisateurs.
Le code comporte une surface libre résolue
de manière explicite par une méthode de pas de temps
séparés (Marsaleix et al, 2008) correspondant à
une évolution de celle du modèle de l'université
de Princeton (Blumberg et Mellor, 1987).
Les conditions aux limites ont également
fait l'objet de développements plus approfondis (Marsaleix
et al, 2006, 2009a) ainsi que la discrétisation du gradient
de pression (Marsaleix et al, 2009b).
Une modélisation précise de la marée
(prise en compte des différents potentiels générateurs)
a été développée avec le soutien de
Florent Lyard (Pairaud et al, 2008).
Paramétrisations:
La paramétrisation de la turbulence
dans la colonne d'eau s'appuie sur une équation pronostique
de l'énergie cinétique turbulente et un calcul diagnostique
d'échelles de longueur pour le mélange et la dissipation
de l'énergie cinétique turbulente proposé par
Bougeault et Lacarrere (1989).
A l'interface air/mer les flux de quantité
de mouvement et de chaleur sont calculés à partir
de formules bulk. Après avoir testé plusieurs schémas,
c'est finalement la méthode mise au point pendant le projet
d'inter comparaison de modèles " OPA-SYMPHONIQUE "
qui est actuellement utilisée par défaut dans la version
distribuée. Idem pour le modèle optique.
L'effet des vagues est calculé à
partir de la paramétrisation proposée par Bennis et
Ardhuin 2010. Cette paramétrisation permet de mieux représenter
la circulation générale à proximité
des côtes (prise en compte de la dérive de Stokes).
Elle améliore également la représentation de
la turbulence dans le modèle. La paramétrisation de
l'effet des vagues a également un impact sur l'advection
et sur les conditions aux limites à l'interface eau-sédiment
(remise en suspension, déposition) dans le module sédimentaire.
Module sédimentaire
SYMPHONIE est couplé avec un modèle
de transport sédimentaire à travers une équation
d'advection-diffusion et un module de couche limite de fond qui
calcule la tension turbulente moyenne et maximale sur un cycle de
vague au niveau du fond. Le modèle de transport sédimentaire
décrit dans Ulses et al., 2008, prend en compte les sédiments
cohésifs et non cohésifs dont la distinction est basée
sur la fraction d'argile. Le sédiment est traité en
multi-couches ce qui permet de prendre en compte le processus de
pavage par le principe dit de couche active. La bioturbation a également
été introduite pour représenter le mélange
des fractions granulométriques par la faune benthique. Le
sédiment est usuellement divisé en 5 classes granulométriques
qui vont des argiles aux sables grossiers. Les agrégats sont
également représentés dans des classes additionnelles.
Module
biogéochimique
Le
modèle biogéochimique, développé en
collaboration avec le LOPB et le NIOO, représente les cycles
partiellement découplés du carbone, du nitrate, du
phosphore et du silicium. Les variables d'état sont trois
classes de tailles de phytoplancton (pico-, nano- et micro- phytoplancton),
trois classes de tailles de zooplancton (nano-, micro- et méso-
zooplancton), un groupe de bactéries hétérotrophes,
la matière organique dissoute et particulaire et quatre nutriments
inorganiques (nitrate, ammonium, phosphate, silicate). La représentation
des processus phytoplanctoniques est basée sur le modèle
ECO3M (Baklouti et al., 2008) étendu à la description
des différents groupes fonctionnels de plancton. Le modèle
des processus hétérotrophes est une version adaptée
du modèle développé par Anderson et Pondaven
(2003) et appliqué en mer Ligure par Raick et al. (2005).
Le modèle a été implémenté sur
la Méditerranée nord-occidentale pour étudier
l'écosystème planctonique, sa variabilité inter
annuelle et décadale, son évolution en réponse
aux changements climatiques et anthropiques, et pour estimer un
bilan des éléments biogéniques sur la zone.
Résultats importants dans le domaine de
l'océan côtier, sur les 4 dernières années:
-
Formation d'eau dense sur le plateau continental et son cascading
vers l'océan profond. Importance des évènements
ponctuels extrêmes (tempêtes) sur le bilan à
long terme de l'eau ainsi exportée vers le large, rôle
des canyons, flux air-mer, apports fluviaux (Ulses et al, 2008)
- Étude de la marée interne dans
le Golfe de Gascogne (Pairaud et al, 2010)
- Convection profonde en Méditerranée
(Herrmann et al, 2008)
Développements majeurs des 4 dernières
années:
Les
méthodes numériques:
La conservation de l'énergie (Marsaleix
et al, 2008), les conditions aux limites ouvertes (Marsaleix et
al, 2006 & 2009a), le gradient de pression (Marsaleix et al,
2009b), le coeur Non-Hydrostatique (Auclair et al, 2010, soumis),
le maillage horizontal curviligne (importé de NEMO), la coordonnée
verticale généralisée.
L'informatique:
Parallélisation mpi. Application
progressive des normes de codage NEMO.
Personnel
affecté à la maintenance/support et chercheurs participant
au développement:
Personnel
principalement concerné (5):
Caroline Ulses (CNAP): Responsable de la
tâche de service SIROCCO (outils de modélisation du
POC dont Symphonie); développement du Module Biogéochimique.
Patrick Marsaleix (CNRS): Développement
du noyau dynamique hydrostatique
Francis Auclair (UPS):Développement
du noyau dynamique Non-Hydrostatique
Cyril Nguyen (Ingénieur informatique
POC): Solveurs, Coupleurs, Parallelisation, I/O netcdf (pour SYMPHONIE
& TUGO)
Claude Estournel (CNRS): Développement
du module de transport sédimentaire.
Autres
contributions, échanges & collaborations:
Florent Lyard (CNRS): réflexions communes
sur les choix numériques, implémentation de la marée
dans Symphonie, outils de Post/Pre Processing XSCAN.
Valérie Garnier, Franck Dumas (IFREMER):
" Environnement utilisateur " et schémas d'advection
d'ordres élevés
L'approche communautaire à court
terme: Post/Pre Processing
Par
ses choix numériques, SYMPHONIE est relativement proche de plusieurs
modèles très utilisés par la communauté de l'océanographie régionale
& côtière: ROMS, POM, MARS, HYCOM, NEMO. Pour ce qui concerne
la communauté française, les utilisateurs de ces modèles participent
également activement à leur développement. Si la diversité des modèles
est une richesse (facilitant l'émergence d'idées nouvelles, entretenant
une émulation positive, permettant l'évolution vers des modèles
de nouvelle génération tels que T-UGO), certains aspects de la modélisation,
moins stratégiques mais mobilisant tout de même beaucoup les équipes,
gagneraient probablement à être communautarisés. Les outils de Post/Pre
Processing sont tout particulièrement concernés. Depuis déjà plusieurs
années, l'équipe R&D de SYMPHONIE ne développe plus ce type
d'outils, la génération de la bathymétrie ou la visualisation des
résultats étant par exemple réalisées par le logiciel Xscan (en
savoir plus) développé au LEGOS. La normalisation des
standards d'entrée/sortie se poursuit actuellement, en concertation
avec la communauté nationale, ouvrant la perspective d'une compatibilité
étendue à une plus large palette d'outils (POC-view, BMG-tools,
ARIANE, ROMS-tools, SVIEW,
OpenDap, etc...).
L'approche communautaire à moyen terme: Modélisation
Générique
L'expérience
de SIROCCO nous a conduits à bien mesurer les attentes des utilisateurs
de modèles, notamment en matière de nouvelles méthodes. Les paramétrisations
sont en bonne place des préocupations des modélisateurs (flux air-mer,
turbulence, effet des vagues,...). Mais le développement de nouveaux
schémas représente une charge importante pour une seule équipe R&D.
Dans la mesure où certains de ces projets de développement pourraient
également focaliser l'attention d'autres équipes, l'hybridation
des codes éviterait des efforts redondants.
Il y a principalement deux obstacles
à l'implémentation d'une routine de calcul dans un autre modèle
que son code d'origine. Le premier, en amont, concerne la méthode
numérique en elle-même. La grille C avec maillage horizontal
curviligne et coordonnée sigma est présente dans plusieurs
des modèles mentionnés. Cela signifie que les opérations élémentaires
(dérivées verticales & horizontales, intégrales, facteurs d'échelles
etc...) de ces modèles sont numériquement équivalentes et donc que
la transplantation des schémas est envisageable. Nous testons actuellement
un formalisme généralisé des facteurs d'echelle
recommandé par la communauté internationale (lire
le projet HOME), permettant une plus grande compatibilité
avec les modèles mentionnés précédement,
dont le maillage vertical est soit figé (coordonnée
z), soit faiblement mobile (coordonnée sigma / surface libre),
soit fortement mobile (couches adiabatiques).
Le second obstacle potentiel concerne la
norme du codage. Les terminologies (nom de variables, noms des sous-programmes)
sont souvent différentes d'un modèle à l'autre et elles manquent
parfois de clarté. En s'inspirant de ce qu'il y a de meilleur dans
chaque modèle, il serait pourtant possible de construire une terminologie
qui soit globalement plus universelle et plus claire. Ce point est
une des priorités de développement de l'équipe R&D de SIROCCO
(en
savoir plus). Nous sommes bien entendu favorables à une
concertation avec les équipes que notre démarche intéresserait également.
Mais le point bloquant le plus épineux
concerne la numérotation des tableaux dans les routines. Sur ce
point également aucun standard n'émerge clairement. En ce qui concerne
la numérotation horizontale de ROMS, POM, HYCOM et SYMPHONIE
un point de température d'indices horizontaux (i,j) est situé
entre 2 points de vitesses (composantes selon Oi) ayant pour indices
horizontaux (i,j) & (i+1,j). Dans le cas de NEMO
et MARS, ces 2 points de vitesses ont pour indices (i-1,j)
et (i,j). En ce qui concerne l'autre composante horizontale
du composante, les deux points encadrant le point de température
ont pour indices (i,j) & (i,j+1) ou bien (i,j-1)
& (i,j) selon les modèles. La figure suivante illustre
les 2 normes de numérotation horizontale et les modèles associés:

Figure: Normes de numérotation horizontale (A gauche: ROMS, POM,
HYCOM, SYMPHONIE. A droite: NEMO, MARS)
Pour ce qui concerne la numérotation
verticale, l'axe numérique pointe vers le haut dans le cas de
ROMS, MARS et SYMPHONIE, et vers le bas en ce qui concerne NEMO
et POM. Enfin dans certains modèles le point de température d'indice
vertical k est compris entre 2 points de vitesse verticale
ayant pour indices k et k+1. Dans les autres modèles
ces points de vitesse verticale portent les indices k-1 et
k. La figure suivante illustre les quatre normes de numérotation
verticale:


Figure: Normes de numérotation horizontale.
En haut: axe numérique vertical pointant vers le haut (SYMPHONIE
(à gauche), ROMS, MARS (à droite)).
En bas: axe numérique vertical pointant vers le bas (NEMO (à gauche),
POM)
Il en résulte par exemple qu'une
divergence horizontale de flux, centrée sur un point de température
(i,j,k) sera de la forme:
Fx(
i+1 , j , k ) - Fx( i , j , k )
dans certains modèles et
Fx(
i , j , k ) - Fx( i-1 , j , k )
dans d'autres. Une divergence verticale de flux donnera lieu à 4
combinaisons possibles, selon le type de décentrage et l'orientation
de l'axe vertical, en pratique:
Fz(
i , j , k+1 ) - Fz( i , j , k )
Fz(
i , j , k ) - Fz( i , j , k-1 )
Fz(
i , j , k ) - Fz( i , j , k+1 )
Fz(
i , j , k-1 ) - Fz( i , j , k )
Ces différentes normes de numérotation compliquent l'hybridation
des modèles. Nous proposons d'adopter à l'avenir (en commençant
par des routines qui présenteraient un réel intérêt collectif) un
codage générique solutionnant ces obstacles de numérotation.
Pour reprendre l'exemple de la divergence horizontale de flux centrée
au point de température, cette norme de codage conduirait à une
écriture "recentrée" du type:
Fx(
i+if , j , k ) - Fx( i-ib , j , k )
où les incréments forward et backward, if, -ib, seraient à l'avance
paramétrés (if=1 & ib=0 pour implémentation dans SYMPHONIE,
ROMS et POM ou if=0 & ib=1 dans le cas d'une implémentation
dans NEMO et MARS). Dans le cas de la divergence verticale l'écriture
générique "recentrée" est:
Fz(
i , j , k+ku ) - Fz( i , j , k-kd ).
De manière analogue au cas horizontal l'incrément upward ku serait
paramétré à l'avance à 0 ou 1 selon le type de modèle et l'incrément
downward kd serait égal à ku-1 ou ku+1 selon que l'axe vertical
pointe vers le haut ou le bas. Outre l'amélioration de la compatibilité
des modèles, cette écriture a l'avantage de retrouver le formalisme
centré qui est naturellement employé dans un ouvrage pédagogique
ou un article scientifique (par exemple Fx(i+1/2,j,k)-Fx(i-1/2,j,k)).
Le présent exemple de l'équation de la température est bien entendu
facilement généralisable aux autres équations des modèles. La figure
suivante illustre la norme de numérotation générique pour les grilles
horizontales et verticales:
 
Figure: norme de numérotation générique. A gauche: grille horizontale.
A droite grille verticale.
Outre sa facile mise en oeuvre,
l'intérêt de l'écriture générique est qu'elle apporte un bénéfice
potentiel à la communauté nationale dès la première routine codée,
même si le reste du modèle reste sur sa norme d'origine, même si
l'équipe qui l'adopte est la seule à le faire. Dans la configuration
minimale où l'équipe R&D de SIROCCO serait la seule à l'employer,
les routine ainsi codées seraient de toutes façons utilisables par
les autres équipes. Dans le cas plus favorable où cette norme générique
serait plus largement adoptée, on peut espérer accentuer significativement
les échanges entre les équipes.
Xscan:
Xscan
est un logiciel gratuit de Post/Pre processing développé au Legos.
Sa conception est générique dans le sens où elle est naturellement
adaptée à toutes formes de grille, qu'il s'agisse de la grille
C ou des grilles déstructurées des modèles de nouvelle
génération. Les utilisateurs de T-UGO et SYMPHONIE l'emploient principalement
pour ses fonctions de génération de grille (maillage, bathymétrie)
et de visualisation des sorties des modèles. Mais c'est également
un outil d'analyse disposant de fonctions d'édition interactive
pouvant s'interfacer avec des logiciels de cartographie tels que
Google Earth.
References :
Noyau dynamique:
Marsaleix P., Auclair F., Floor J. W., Herrmann M. J., Estournel
C., Pairaud I., Ulses C., 2008. Energy conservation issues in sigma-coordinate
free-surface ocean models. Ocean Modelling. 20, 61-89. http://dx.doi.org/10.1016/j.ocemod.2007.07.005
Marsaleix P., Auclair F., Estournel C., 2009. Low-order pressure
gradient schemes in sigma coordinate models: The seamount test revisited.
Ocean Modelling, 30, 169-177. http://dx.doi.org/10.1016/j.ocemod.2009.06.011
Conditions aux limites:
Marsaleix P., Auclair F., Estournel C., 2006, Considerations on
Open Boundary Conditions for Regional and Coastal Ocean Models.
Journal of Atmospheric and Oceanic Technology, 23,1604-1613, http://dx.doi.org/10.1175/JTECH1930.1
Marsaleix P., Ulses C., Pairaud I., Herrmann M. J., Floor J. W.,
Estournel C., Auclair F., 2009. Open boundary conditions for internal
gravity wave modelling using polarization relations. Ocean Modelling,
29, 27-42. http://dx.doi.org/10.1016/j.ocemod.2009.02.010
Remerciements:
Nous remercions toutes les personnes qui ont pris la peine de vérifier
le contenu technique de ce texte, et/ou qui nous ont fait part de
commentaires constructifs: V. Garnier, F. Dumas, L. Debreu, P. Marchesiello,
G. Cambon, F. Lyard, Y. Morel, R. Baraille, G. Reffray.
|