La librairie Ferret de visualisation des
modèles utilisés au CERFACS
Cette librairie regroupe certains scripts développés dans l'équipe Global Change par la très active communauté des utilisateurs Ferret (Carole Cibot, Claire Delon, Marie Drévillon, Andrea Piacentini et Driss Bari). Elle s'appuie sur la librairie de scripts standard Ferret et la librairie Fast, developpée à l'IPSL par Patrick Brockman. Elle utilise un programme de triangulation de Michel Déqué (CNRM) ainsi que le logiciel de couplage du Cerfacs (OASIS Version 3 en mode interpolateur) développé par Sophie Valcke, Damien Déclat et Arnaud Caubel. Merci également à Olivier Marti (LSCE).
Faites remonter vos remarques et communiquez vos nouveaux scripts
(Eric.Maisonnave@ cerfacs.fr).
Au Cerfacs, les codes sources se trouvent sur mon HOME:
dans /home/evian/eric/Sibylle.
Ils sont également disponibles sur le site ftp du Cerfacs:
ftp://ftp.cerfacs.fr/pub/globc/exchanges/maisonna/Sibylle_1.2.tar
ainsi que via CVS:
CVSROOT=:pserver:maisonna@elnino.cerfacs.fr:2401/home/evian/ROOTCVS
L'arborescence est organisée comme suit:
Sibylle/ |
|||
Data/ |
Fichiers netcdf de grilles, poids. Namcouple
oasis pour interpolation. Fichier .sib de traits de côtes |
||
Ext_func/ |
bin/ |
Exécutables fortran et scripts shell |
|
lib/ |
Fichiers objets issus
de la compilation des programmes fortran |
||
src/ |
Programmes fortran. Script de compilation |
||
Go/ |
Scripts ferret |
||
Palette/ |
Palettes ferret |
||
scripts exferret et exferret_bash |
la librairie est perpétuellement en cours de développement. La page Web (http://www.cerfacs.fr/~maisonna/Sibylle/Sibylle_doc_1_2.html) sera tenue à jour en fonction des nouveaux scripts et de vos remarques.
La librairie Sibylle est désormais disponible sur PC. Elle a été enrichie de nouveaux scripts Ferret, et elle utilise aussi des programmes externes fortran (ou scripts shell).
Une nouvelle grille est visualisable (la grille stretchée
d'Arpege). Toutes les échéances temporelles d'un fichier
en grille réduite Arpege sont désormais plus facilement
manipulables grâce à leur interpolation par le logiciel
OASIS Version 3 et leur sauvegarde dans un fichier Netcdf. D'autres
modifications enrichissent la mise en forme des données
visualisées.
Palette "caramel_bleu"
|
|
Palette "caramel_mauve"
|
|
Palette "caramel_bleu_ctr"
|
Palette "caramel_mauve_ctr"
|
Utilisation: "PALETTE
caramel_bleu" ou "PALETTE caramel_mauve"
ORCA |
ini_orca.jnl |
Arpege |
ini_arpege.jnl |
Medias (Arpege étiré) |
ini_medias.jnl |
Grille globale | Projection orthographique | Projection verticale | Projection polaire | |
ORCA | plot_orca.jnl | plot_orca_ortho.jnl | plot_orca_verti.jnl | |
Arpege AT_42 | plot_at42.jnl | plot_at42_ortho.jnl | plot_at42_verti.jnl | plot_at42_polar.jnl |
Arpege BT_42 | plot_bt42.jnl | plot_bt42_ortho.jnl | plot_bt42_verti.jnl | plot_bt42_polar.jnl |
Medias | plot_medias_globale.jnl plot_medias_europe.jnl plot_medias_france.jnl |
Grille globale |
Projection polaire |
|
ORCA |
vector_orca.jnl |
|
Arpege AT_42 |
vector_at42.jnl |
vector_at42_polar.jnl |
Arpege BT_42 |
vector_bt42.jnl |
vector_bt42_polar.jnl |
Medias |
vector_medias_france.jnl |
Interpolation grilles 2D:
Grille globale |
|
Arpege BT_42 |
interp_bt42.jnl |
Medias |
interp_medias_globale.jnl interp_medias_nord_atl.jnl |
Diagramme T_S |
plot_T_S.jnl |
Tracé d'iso-surfaces |
projection_iso.jnl |
Tracé d'EOF (pour sorties Statpack) |
plot_eof.jnl |
Tracé d'une analyse en ondelette |
wavelet.jnl
|
Titres |
titre.jnl , titre_sur.jnl, titre_sous.jnl |
Redéfinition des sous-fenêtres
(view) |
vues.jnl |
Logo du Cerfacs |
logo_cerfacs.jnl |
Superposition du maillage: grille ORCA/grille Arpege |
grid_orca.jnl grid_at42.jnl |
Création de fonds de cartes |
make_sland.jnl
|
Superposition de fonds de cartes |
sland.jnl
|
Ajustement des min/max à une palette de
couleurs symétriques par rapport à un zéro |
sym_palette.jnl |
Conversion fichier metafile.plt en postscript |
meta2ps.jnl
|
Axes d'ordonnées
droit et gauche |
axe_droit.jnl,
axe_gauche.jnl |
Anomalies |
anomalie.jnl |
Densités |
densites_orca.jnl |
Intégrale volumique |
integrale_volume.jnl
|
ENTREE: |
Argument1 : Nom du champ 2D ou 3D |
SORTIE: |
Variables anomalie_$Champ
et climatologie_$Champ |
ENTREE: |
Argument1 : Nom du champ 1D ... |
ENTREE: |
Pas d'argument. Un fichier ORCA contenant
salinités et températures doit cependant avoir
été chargé au préalable. |
SORTIE: |
Variables densite_in_situ,
masse_vol_potentielle et densite_ferret |
ENTREE: |
pas d'argument |
SORTIE: |
Variable new sur la grille AT42_GRID
|
ENTREE: |
pas d'argument |
SORTIE: |
Variables lon2,lat2: tableaux 2D
(182x149) des longitudes et latitudes de chaque point de la grille
ORCA, modifiées pour visualisation. Variable masquée TORC_MSK[d=masks] |
ENTREE: |
pas d'argument |
SORTIE: |
Variables lon_xxxx,lat_xxxx[d=reg_grids]:
tableaux 2D des longitudes et latitudes de chaque point des
grilles regulières (avec xxxx=1010 pour la grille 1
degrés, 0505 pour la grille 0.5 degrés et 0101 pour la
grille 0.1 degrés) Variables MEGL_LON, MEGL_LAT, MEFR_LON, MEFR_LAT[d=grids]: tableaux 2D des longitudes et latitudes de chaque point des grilles MEDIAS (complète (sur 21692 points) et réduite sur la France (sur 360 points)) Variable masquée MEGL_MSK[d=masks]. La grille MEDIAS sur 360 points ne compte que des points non masqués Variable new_xxxx sur la grille regulière xxxx |
ENTREE: |
Argument 1: Nom du champ à
intégrer (3D volumique + dimension temporelle éventuelle) Argument 2: Nom du champ sur lequel se trouvent les isosurfaces (3D volumique + dimension temporelle éventuelle) Argument 3: Valeur de l'isosurface inférieure Argument 4: Valeur de l'isosurface supérieure |
SORTIE: |
fichier int_vol.nc, variable: vol_field |
ENTREE: |
Argument 1: Nom du champ à interpoler (2D
surfacique + dimension temporelle éventuelle) |
SORTIE: |
fichier a_interp.nc ou
a_trian.nc, variable: a_interp ou a_trian |
ENTREE: |
Argument 1: Step (dessiner le maillage tous les
"step" points de grille) (par défaut: 5) |
ENTREE: |
Argument 1: Step (dessiner le maillage tous les
"step" points de grille) (par défaut: 5) |
Exemple: GO grid_at42 1
Remarque: Ne
fonctionne qu'en projection non polaire.
ENTREE: |
pas d'argument. Utilise le fichier
logo_cerfacs.nc et la palette cerfacs.spk |
SORTIE: |
Variable définissant une zone de
fenêtre (view) : LogoR |
ENTREE: |
Argument 1: nom du fichier ASCII de traits de
côtes |
SORTIE: |
Fichier .sib à copier |
ENTREE: |
Argument 1: nom du fichier postscript Argument 2: format Portrait (P) ou Paysage (L) |
SORTIE: |
Fichier .sib à copier |
ENTREE: |
Argument 1: Nom du champ Argument 2: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 3: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ Argument 2: Parallèle central (par défaut : 90 -pole Nord-) Argument 3: Méridien Central (par défaut : 0 -Greenwich-) Argument 4: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 5: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
Exemple: GO plot_at42_ortho PLZOW200[L=1] -40 80 fill/line TERRE
Remarques:
ENTREE: |
Argument 1: Nom du champ Argument 2: Pôle Nord (N) ou Sud (S) (par défaut : N-pôle Nord-) Argument 3: Méridien Central (entr e-180 et 180) (par défaut : 0 -Greenwich-) Argument 4: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 5: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ Argument 2: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 3: Coordonnée temporelle (par défaut L=1) Argument 4: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ Argument 2: Parallèle central (par défaut : 90 -pôle Nord-) Argument 3: Méridien Central (par défaut : 0 -Greenwich-) Argument 4: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 5: Coordonnée temporelle (par défaut L=1) Argument 6: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ Argument 2: Pôle Nord (N) ou Sud (S) (par defaut : N-pôle Nord-) Argument 3: Méridien Central (entre -180 et 180) (par défaut : 0 -Greenwich-) Argument 4: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 5: Coordonnée temporelle (par défaut L=1) Argument 6: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ Argument 2: Numéro du premier mode à visualiser (defaut:1) Argument 3: Numéro du second mode à visualiser (defaut:1) Argument 4: Commande du plot avec option (ex: shade/line/levels ) (par défaut: plot_orca) |
Exemple:
GO plot_eof SOSSTSST 1
2 fill
ENTREE: |
Argument 1: Nom du champ Argument 2: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) Argument 3: Coordonnée temporelle (par défaut L=1) Argument 4 (pour plot_medias_globale et plot_medias_europe seulement) : Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
Exemple1:
GO plot_medias_globale SUTOPRSU shade 1
Exemple2:
GO plot_medias_europe SUTOPRSU
shade 1 TERRE
Exemple3:
GO plot_medias_france SITEMPCL
fill 1
ENTREE: |
Argument 1: Nom du champ Argument 2: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) |
ENTREE: |
Argument 1: Nom du champ Argument 2: Parallèle central (par défaut : 90 -pôle Nord-) Argument 3: Méridien Central (par défaut : 0 -Greenwich-) Argument 4: Commande du plot avec option (ex: shade/line/levels ) (par défaut: shade) |
Exemple: GO plot_orca_ortho SOSSTSST[L=1] 90 70 fill/line
Remarques:
ENTREE: |
Argument 1: Nom du champ de température Argument 2: Nom du champ de salinité Argument 3: Argument de la commande plot (par défaut: nolab) |
ENTREE: |
Argument 1: Nom
du champ à projeter Argument 2: Nom du champ sur lequel projeter Argument 3: Valeur définissant l'iso-surface sur laquelle projeter le premier champ Argument 4: Argument de la commande plot (par défaut: shade) |
ENTREE: |
Argument 1:
Argument 3: (avec argument 1 "orca" seulement) Couleur des contours des pays Argument 4: (avec argument 1 "orca" seulement) Couleur des contours des états d'un certain pays ... mais lequel ? A toi de trouver, petit ami ! |
ENTREE: |
Argument 1: Champ Argument 2: Valeur du niveau "zéro" |
ENTREE: |
Argument 1: Chaîne de caractère du
titre Argument 2: Taille de la chaîne (défaut: 0.2) Argument 3 (pour titre_sur seulement): Chaîne de caractère du sous-titre Argument 4: Taille de la chaîne sous-titre (défaut: 0.2) |
ENTREE: |
Argument 1: Nom du champ zonal Argument 2: Nom du champ méridien Argument 3: Argument de la commande vector (ex: aspect) (par défaut: nolabel) Argument 4: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ zonal Argument 2: Nom du champ méridien Argument 3: Pôle Nord (N) ou Sud (S) (par défaut : N-pôle Nord-) Argument 4: Méridien Central (entre -180 et 180) (par défaut : 0 -Greenwich-) Argument 5: Argument de la commande vector (ex: aspect) (par défaut: nolabel) Argument 6: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ zonal Argument 2: Nom du champ méridien Argument 3: Argument de la commande vector (ex: aspect) (par défaut: nolabel) Argument 4: Coordonnée temporelle (par défaut L=1) Argument 5: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ zonal Argument 2: Nom du champ méridien Argument 3: Pôle Nord (N) ou Sud (S) (par défaut : N-pole Nord-) Argument 4: Méridien Central (entre -180 et 180) (par défaut : 0 -Greenwich-) Argument 5: Argument de la commande vector (ex: aspect) (par défaut: nolabel) Argument 6: Coordonnée temporelle (par défaut L=1) Argument 7: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ zonal Argument 2: Nom du champ méridien Argument 3: Argument de la commande vector (ex: aspect) (par défaut: nolabel) Argument 4: Coordonnée temporelle (par défaut L=1) Argument 5: Masque: TERRE ou MER ou NONMASQUE (par défaut: NONMASQUE) |
ENTREE: |
Argument 1: Nom du champ zonal Argument 2: Nom du champ méridien Argument 3: Argument de la commande vector (ex: aspect) (par défaut: nolabel) |
Exemple: GO vector_orca SOZOTAUX[d=1] SOMETAUY[d=2] aspect/L=1
Remarques:ENTREE: |
Argument 1: Nombre de vues par colonne (entre 2
et 4) Argument 2: Nombre de vues par ligne (entre 1 et 2) Argument 3: Orientation (portrait (P) ou paysage (L)) |
SORTIE: |
Variables définissant une zone de
fenêtre (view) : v[1-8] |
Exemple:
GO vues 3 2 P
ENTREE: |
Argument 1: Nom de la variable 1D temporelle Argument 2: Chaîne de caractères du titre (défaut: "Variable (Argument 1)") Argument 3: Comparaison du spectre avec un bruit rouge ou un bruit blanc (defaut: rouge) Argument 4: Pas de l'échantillonnage (période de la série temporelle) (défaut: 1) Argument 5: Echelle minimum de l'ondelette (défaut: pas * 2) Argument 6: Ondelette mère: 0= Morlet (défaut), 1= Paul, 2= DOG (Derivative Of Gaussian) Argument 7: Paramètre de l'ondelette mère: Pour Morlet, k0 (nombre d'onde), (défaut: 6)Argument 8: Deuxième Champ 1D (défaut: aucun) Argument 9: Titre du deuxième champ (défaut: aucun) Argument 10: Comparaison du spectre avec un bruit rouge ou un bruit blanc (défaut: rouge) |
ARGUMENTS:
Pour donner à un de ces scripts un argument qui ne serait pas le
premier, l'utilisateur doit spécifier TOUS les arguments
précédents ou les remplacer par
un espace entouré de deux guillements: " ".
USE:
Ces scripts s'utilisent comme des commandes shade ou vector. Les
fichiers de données doivent être chargés avant
lancement des commandes.
Les numéros de fichiers de données ne sont pas
modifiés par l'appel de ces commandes.
LOGO:
Le logo du Cerfacs peut être inséré en haut
à droite du graphique par le lancement de la commande "go
logo_cerfacs".
LABELS:
Les graphiques apparaissent sans label, sans
axes et sans titres.
TITRES:
Un titre peut être ajouté après exécution
d'une commande de visualisation par le lancement du script "titre.jnl".
CONTINENTS:
Pour les visualisations en projection non polaires, les contours des
continents peuvent être ajoutés par le lancement de la
commande "go land" (ou "go land_east" pour la grille Orca).
Des continents grisés peuvent être ajoutés par le
lancement de la commande "fland.jnl".
ZOOM:
Pour zoomer, utiliser les options /xlim=longitude_min:longitude_max et
/ylim=latitude_min:latitude_max dans l'argument "Commande du plot" (ou
délimiter des aires géographiques par défaut: "set
region"). En règle générale, pour les 3 types de
grille, ne pas chercher à fixer des
limites géographiques avec les options [I=...,J=...].
Pour zoomer sur des régions à cheval sur le
méridien de Greenwich, sur une grille AT42,
vérifier que la variable longitude (1D)
de votre fichier de données comporte bien l'attribut "modulo".
CONTINENTS,
CONTOUR DES GRILLES EN PROJECTION POLAIRE:
Sur le graphe en projection polaire, on pourra superposer des contours
de continent (polar_land.jnl), des continents grisés
(polar_fland.jnl) ou des grilles de latitude
- longitude (polar_grid_fancy.jnl). Pour la syntaxe de ces scripts,
voir leur entête dans le répertoire$FER_GO
(voir le script exferret).
ZOOM:
Les zooms à cheval sur la ligne de recouvrement Ouest-Est
(océan Indien) ne sont pas possible à l'aide de ce script
(voir projection de la grille ORCA sur une grille regulière,
scripts en préparation). Dans les autres cas, utiliser l'option
/xlim ou /ylim avec des longitudes ou des latitudes
négatives/positives (ex: /xlim=-100:10/ylim=-10:60 pour le Nord
de l'Atlantique).
Pour la grille réduite BT42: Ne pas chercher à passer l'option [L=...] avec
le nom du champ, ni l'option [L=@shf:...]. Cet
inconvénient disparaît à l'utilisation du script
d'interpolation "interp_bt42.jnl".