Aide à la réalisation
des coupes d'interpolation
et des cartes géographiques sous GMT
réalisée par
COATANOAN CHRISTINE
octobre 1997
 
 
SOMMAIRE
 Les possibilités de GMT  
 
Utilisation d'un programme GMT 
 Les Paramètres par défaut  Les fonctions utilisées pour l'interpolation 
 La Palette de Couleurs Ecriture d'un programme GMT 
 Exemples de programmes GMT  L'interface d'Aide de GMT
 

Pour obtenir ce document au format Postscript  format Word6
Avant de lire cette documentation, Voilà

que l'on peut faire avec GMT
**************************************************************************************
 

1) Les possibilités de GMT

GMT offre un grand nombre de possibilités à la fois dans la réalisation de coupes d'interpolation, de cartes géographiques mais aussi dans la création de figures 2D, 3D.

Dans cette aide ne seront présentées que les programmes d'interpolation et de création de cartes géographiques. Pour d'autres créations, plongez vous dans le fascicule GMT disponible dans la salle d'informatique du SIC (pensez à le consulter sur place pour éviter que vos collègues ne le cherchent désespérément à tous les étages).

**************************************************************************************
 

2) Utilisation d'un programme GMT

Les programmes GMT fonctionnent sous unix comme des fichiers exécutables dont le fichier de sortie est un fichier image postscript (.ps) qui peut être visionné par la commande ghostview (cette commande peut être directement insérée à la fin du programme). Pour vérifier qu'un fichier présente la fonction exécutable, taper la commande : ll^nom-du-fichier , s'il est exécutable il doit être attribué des fonctions x : rwx-rwx-rwx (au moins pour l'utilisateur).

Un programme GMT s'écrit comme une suite de fonction répondant à un certain langage informatique. Pour chacune des fonctions, sont définies un certain nombre d'options (qui peuvent être communes à plusieurs fonctions). Vous me suivez !!! Pour voir en détail la liste de ces options, lancez  le programme interface « aide » créé par Maurice Libes en tapant  sous Unix la commande: gmthelp. Cette interface utilisateur écrite en TCLTK vous permet d'accéder directement au détail de chacune des commandes de GMT.

Pour l'utilisation de plusieurs fonctions dans un même programme, il faut bien faire attention à utiliser pour chaque fonction l'option -O (overlay) [excepté pour la première fonction] afin de bien superposer sur la même image l'ensemble des travaux effectués. De même, il faudra mettre pour chaque fonction [excepté la dernière] l'option -K pour montrer qu'une fonction suivante doit encore être considérée [la commande ghostview n'est pas une fonction dans cette application].

Chacune de ces fonctions est enregistrée dans un fichier de format postscript (.ps) qui correspond au fichier de sortie. Ainsi à la fin de chaque ligne de commande, c'est le même fichier de sortie qui récupère l'ensemble des informations. Pour celà, nous finirons la première ligne de commande par > fichier_sortie.ps pour la première commande puis >> fichier_sortie.ps pour celles qui suivent. Notez bien les deux signes supérieures.

Attention les commandes blockmean, surface ne sont pas considérées comme des commandes qui interviennent sur le fichier_sortie. Il ne faut donc pas utiliser ces deux signes >> ni l'option -O. Reportez vous au paragraphe traitant de l'écriture des programmes pour bien comprendre cette notion.
 

3) Les Paramètres par défaut

Un certain nombre de paramètres utilisés dans l'application GMT sont définis par défaut. Afin de pouvoir utiliser aisement les fonctions GMT, assurez vous que certains de ces paramètres vous conviennent. Sachez par exemple que les distances sont initialement définies en inch, pour vous faciliter la tache changez cette option en cm. Un grand choix de polices est également disponible, pour les connaitre reportez vous à l'aide de la fonction gmtdefaults.

Pour accéder à ce fichier, tapez les commandes: gmtdefaults -D > ~/.gmtdefaults (uniquement la première fois) puis selon vos préférences vi ou vuepad ~/.gmtdefaults

Fichier des paramètres par défaut (ne sont détaillés que les paramètres les plus utilisés):
 

#
# GMT-SYSTEM 3.0 Default file
#
ANOT_MIN_ANGLE = 16 Angle entre l'annotation et la limite de la carte
ANOT_FONT =Bookman-Demi Police des annotations
ANOT_FONT_SIZE = 6 Taille de la police
ANOT_OFFSET = 0.1000 Distance entre la marque et l'annotation
BASEMAP_AXES = WESN Axe d'inscription sur la carte (si majuscule)
BASEMAP_FRAME_RGB = 0/0/0 Couleur cadre (système rgb)
BASEMAP_TYPE = FANCY Inscription axe (Fancy ou Plain)
                                    Fancy = alternance de carrés noirs et blancs, Plain= pas de marque de séparation
COLOR_BACKGROUND = 0/0/0 Couleur arrière plan (0/0/0 = noir)
COLOR_FOREGROUND = 255/255/255 Couleur premier plan (255/255/255=blanc)
COLOR_NAN = 128/128/128 Couleur pour aires non définies
COLOR_IMAGE = ADOBE
COLOR_MODEL = RGB Code couleur
D_FORMAT = %lg Format sortie pour impression
DEGREE_FORMAT = 3 Format pour utilisation valeurs latitude et longitude
                                     6 possibilités (0 à 360 ou -90 à 90, utilisation dégré décimal ou non,
                                    voir aide gmtdefaults pour numero format)
DOTS_PR_INCH = 300 Résolution des plots
ELLIPSOID = WGS-84 Nom de l'ellipsoïde pour les projections
FRAME_PEN = 2 Epaisseur stylo cadre
FRAME_WIDTH = 0.06 Largeur cadre
GLOBAL_X_SCALE = 1
GLOBAL_Y_SCALE = 1
GRID_CROSS_SIZE = 0.05 Ligne grille à inté rieur carte
GRID_PEN = 0.6 Epaisseur stylo grille
HEADER_FONT = Bookman-Demi Police en-tête de la carte
HEADER_FONT_SIZE = 11 Taille en-tête de la carte
HSV_MIN_SATURATION = 1
HSV_MAX_SATURATION = 0.1
HSV_MIN_VALUE = 0.3
HSV_MAX_VALUE = 1
INTERPOLANT = AKIMA Type d'interpolation
              plusieurs possibilités: Linear, Akima's spline, Natural cubic spline (Voir aide gmtdefaults)
IO_HEADER = FALSE Pour informer si en-tête fichier ASCII
N_HEADER_RECS = 0 Nombre d'en-tête
LABEL_FONT = Bookman-Demi Police axes X et Y et palette
LABEL_FONT_SIZE = 8 Taille police axes X et Y et palette
LINE_STEP = 0.1
MAP_SCALE_FACTOR = 0.9996 Facteur échelle pour distorsion projection
MEASURE_UNIT = cm Echelle (ou en inch ou en m)
N_COPIES = 1 Nombre de copies (option -C)
OBLIQUE_ANOTATION = 1 pour projection oblique uniquement
PAGE_COLOR = 255/255/255 Couleur image arrière plan
PAGE_ORIENTATION = LANDSCAPE Orientation (ou Portrait)
PAPER_WIDTH = 8.5
PSIMAGE_FORMAT = HEX format hexadécimal (ou binaire BIN)
TICK_LENGTH = 0.075
TICK_PEN = 1
UNIX_TIME = FALSE
UNIX_TIME_POS = -0.75/-0.75
VECTOR_SHAPE = 0
VERBOSE = FALSE
WANT_EURO_FONT = FALSE
X_AXIS_LENGTH = 9 Longueur par défaut coupe sur l'axe X
Y_AXIS_LENGTH = 6 Longueur par défaut coupe sur l'axe Y
X_ORIGIN = 1 Origine sur l'axe X
Y_ORIGIN = 1 Origine sur l'axe Y
XY_TOGGLE = FALSE Par défaut fichier entrée dans sens XY
Y_AXIS_TYPE = HOR_TEXT Annotation axe Y dans sens horizontal

 

4) Les fonctions utilisées pour l'interpolation

  Le fichier d'entrée se présente sous la forme de colonnes (en format texte, ça marche très bien). La première colonne correspond au X, la seconde au Y et la troisième correspond au Z qui sont les valeurs à interpoler.
  Les fonctions utilisées pour mettre en forme le fichier d'entrée sont les suivantes:

blockmean nom_fichier_entrée -IinterpX/interpY -Rxmin/xmax/ymin /ymax > nom_fichier_entrée.med

surface nom_fichier_entrée .med -Gnom_fichier_entrée.grd -IinterpX/interpY -Rxmin/xmax/ymin/ymax -C0.1 -T0.25

La fonction blockmean sert à récupérer à partir du nom_fichier_entrée l'ensemble des données qui correspondent à la région d'interpolation définie par la région Rxmin /xmax/ymin/ymax et qui sont placées dans le fichier .med.

La fonction surface récupère le fichier .med pour créer le fichier grille .grd correspondant aux données interpolées selon l'option d'interpolation -IinterpX /interpY.

+ Création de l'image interpolée

La fonction grdimage va servir à créer l'image couleur interpolée. Elle utilise le fichier d'une palette de couleur qui peut être créée au début du programme par la fonction makecpt ou bien créée initiallement par vous même (voir le paragraphe suivant).

Vous n'êtes cependant pas obligés de dessiner l'image couleur, l'utilisation de la fonction grdcontour traçant les isocontours suffit le plus souvent à comprendre l'image interpolée.
 

La fonction grdcontour sert à dessiner les isocontours. De même que pour la palette de couleurs, vous pouvez définir vous même les contours qui sont à dessiner (C) et/ou à annoter (A). Pour cela créer un fichier de 2 colonnes que vous rappelerez par l'option -Cnom_fichier_contour (la première colonne contient les valeurs des contours et la deuxième l'annotation A pour annoter ou C pour uniquement dessiner le contour).

Les options -Wataille/r/g/b ou -Wc taille/r/g/b servent à définir l'épaisseur du trait (taille) et la couleur (r/g/b) du contour dessiné.
 

La fonction psxy permet de dessiner les points de stations sur l'image. Pour cela vous devez rappeler le nom_fichier_entrée . Plusieurs marques existent pour tracer ces points: a (étoile), c (cercle), e (ellipse), l (lettre), p (poin), s (carré), x (croix) et sont introduites par l'option -Smarque accolée de longueur_ou_diamètre (en cm si par défaut): ex -Sc0.1.
  La fonction pstext permet d'écrire du texte sur l'image. Le fichier renfermant le texte à insérer nom_fichier_texte doit suivre quelques règles de forme, ce fichier peut être créé dans le programme lui même (à la suite de la commande) ou bien créer séparément et rappeler lors de la commande pstext nom_fichier_texte.

Pour créer ce fichier nom_fichier_texte, il faut tout d'abord définir les coordonnées X1 et Y1 de l'emplacement du texte, la taille du texte, le numéro de la police (voir aide de gmtdefaults pour le numéro), l'alignement du texte (ajusté, justifié,...voir également l'aide pour le numéro) puis le texte à écrire.

Exemple de fichier d'insertion de texte (7 colonnes):

X1 Y1 taille du texte angle police (n°) positionnement-alignement_du_texte(n°:voir aide) texte

Attention vous pouvez utiliser des accents ou autres symboles mais vous devez pour cela utiliser le code prévu à cet effet (voir l'aide et les exmples du paragraphe 7).
 
 

5) La Palette de Couleurs

La palette de couleur est créée par la fonction makecpt.

makecpt -Cx1 -Sx2 c -Mx3 -Z > palette.cpt

La valeur x1 correspond à la valeur de l'intervalle désiré, x2 au nombre d'intervalles souhaité (la lettre c qui suit indique la création d'une table de couleur arc en ciel) et x3 à la valeur médiane qui va permettre de créer la palette de couleur. L'option -Z va permettre la création d'un dégradé de couleur continu (en l'absence de cette option, les couleurs seront discontinues).
 

Exemple de palette de couleur:
# cpt file created by makecpt on Wed Mar 5 16:16:23 1997
# No input V1.0 shade table was given; an iso-hue rainbow was made.
# Contours were made using a mid-value of 0.5 and a contour interval of 0.1
# Color palette is continous
#
0 255 0 255 0.1 127 0 255
0.1 127 0 255 0.2 0 0 255
0.2 0 0 255 0.3 0 127 255
0.3 0 127 255 0.4 0 255 255
0.4 0 255 255 0.5 0 255 127
0.5 0 255 127 0.6 0 255 0
0.6 0 255 0 0.7 127 255 0
0.7 127 255 0 0.8 255 255 0
0.8 255 255 0 0.9 255 127 0
0.9 255 127 0 1 255 0 0
B 0 0 0
F 255 255 255

Cette palette de couleur a été créée pour 10 intervalles de 0.1 avec un dégradé de couleur pour chaque intervalle. Les deux dernières lignes correspondent aux couleurs prises par défaut pour les valeurs inférieures à 0 (B 0/0/0 => noir) et pour les valeurs supérieures à 1 (F 255/255/255 => blanc). Si vous voulez changer ces couleurs, vous pouvez retravailler ce fichier en pensant à « neutraliser » la commande makecpt avant de faire tourner votre programme GMT.
 
 

6) Ecriture d'un programme GMT

Afin de vous faliciter la tache dans votre progression dans les programmes, je vous conseille d'initialiser au début de chaque programme l'ensemble des paramètres que vous pensez faire varier par la suite.

Voiçi quelques exemples d'initialisation et que vous retrouverez dans mes nombreux fichiers programmes:
 

etc....

Pour rappeler ces différents fichiers et paramètres dans le programme, utiliser le symbole $ suivi du nom initialisé (ex: $interp).

Pour un programme d'interpolation, voici la succession des fonctions habituellement rencontrées:
 

Pour la création d'une carte géographique, une seule fonction est vraiment nécessaire à connaître pscoast.

Vous pouvez associer facilement des images interpolées avec des dessins de cartes de vos zones d'étude. Il suffit de rajouter cette fonction à la suite de la liste précédemment définie tout en respectant la région utilisée pour l'interpolation.

Rappelons que de la première à l'avant-dernière fonction, il faut penser insérer l'option -K pour que le programme soit lu jusqu'à la fin. De même pour toutes les fonctions intervenant sur l'image finale, il faut penser mettre l'option -O pour superposer chaque nouveau travail.
 
 

7) Exemples de programmes GMT

Bon il est temps de passer aux choses sérieures pour voir si vous avez bien compris comment fonctionne un programme GMT. Voiçi dans ce paragraphe quelques exemples de programmes permettant d'obtenir:
  Je vous laisse découvrir les joies de GMT et n'hésitez pas à vous plonger dans l'aide détaillée de chaque fonction pour découvrir les nombreuses options qui vous sont proposées afin d'agrémenter vos différentes images.
 



1) Exemple numéro 1

#############################################################################
# Auteur: C.COATANOAN
# Programme permettant d'inserer plusieurs coupes interpolees sur une meme feuille (ici 6 coupes)
#############################################################################
# initialisation des fichiers et de quelques paramètres
#############################################################################

coupe=BAOP [nom du fichier de sortie]
regionA=-R-18.5/-9/-800/-200
orien=-P
interp=-I0.1/10 [=pas d'interpolation X/Y]
J=-JX6/5 [taille de l'image: 6 cm sur 5)
palette=coefficient.cpt

#############################################################################
# initialisation des fichiers de données = fichiers d'entrée
#############################################################################

fichier1=k3BAOP
fichier2=k2BAOP
fichier3=k1BAOP
fichier4=k4BAOP
fichier5=k5BAOP
fichier6=k7BAOP

#############################################################################
# création de la palette
#############################################################################

makecpt -C0.1 -S4c -M0.30 -Z > coefficient.cpt

#############################################################################
# création du cadre noir (par défaut -F0), position X=1.2 et Y=2
#############################################################################

psbasemap -R0/6.5/0/9 -Jx2.9 -B0 -G255/255/255 -X1.2 -Y2.0 -P -K > $coupe.ps

#############################################################################
# création de la première image (en bas à gauche), position par rapport à la position précédement
# définie par la première fonction psbasemap
#############################################################################

psbasemap $regionA -Bf0.5a1:'Latitude \312S':/f50a100:'Depth (m)':WeSn:."AIW Jade 1989": -V -O -K -P -X1.6 -Y2 -JX6/5 >> $coupe.ps

blockmean $fichier1 -V $interp $regionA > $fichier1.med

surface $fichier1.med -G$fichier1.grd $interp $regionA -C0.1 -T0.25 -V

grdimage $fichier1.grd -C$palette $regionA $orien $J -O -V -K >> $coupe.ps

grdcontour $fichier1.grd -V -O -K $orien $J -A0.1f6a0 -G3 -L0.1 -Wa1/5/5/5 >> $coupe.ps

psxy $fichier1 -Sx0.05 -G0 $regionA $J $orien -K -O >> $coupe.ps

###############################################################################
# création de la deuxième image (au milieu à gauche), position définie par rapport à la première image
# précédemment créée
###############################################################################

psbasemap $regionA -Bf0.5a1:'Latitude \312S':/f50a100:'Depth (m)':WeSn:."CIW Jade 1989": -V -O -P -Y8.5 -K -JX6/5 >> $coupe.ps

blockmean $fichier2 -V $interp $regionA > $fichier2.med

surface $fichier2.med -G$fichier2.grd $interp $regionA -C0.1 -T0.25 -V

grdimage $fichier2.grd -C$palette $regionA $orien $J -O -V -K >> $coupe.ps

grdcontour $fichier2.grd -V -O -K $orien $J -A0.1f6a0 -G3 -L0.1 -Wa1/5/5/5 >> $coupe.ps

psxy $fichier2 -Sx0.05 -G0 $regionA $J $orien -K -O >> $coupe.ps

###############################################################################
# création de la troisième image (en haut à gauche), de même position par rapport au coin bas-gauche
# de la seconde image
###############################################################################

psbasemap $regionA -Bf0.5a1:'Latitude \312S':/f50a100:'Depth (m)':WeSn:."STIW Jade 1989": -V -O -P -Y8.5 -K -JX6/5 >> $coupe.ps

blockmean $fichier3 -V $interp $regionA > $fichier3.med

surface $fichier3.med -G$fichier3.grd $interp $regionA -C0.1 -T0.25 -V

grdimage $fichier3.grd -C$palette $regionA $orien $J -O -V -K >> $coupe.ps

grdcontour $fichier3.grd -V -O -K $orien $J -A0.1f6a0 -G1 -L0.1 -Wa1/5/5/5 >> $coupe.ps

psxy $fichier3 -Sx0.05 -G0 $regionA $J $orien -K -O >> $coupe.ps

###############################################################################
# création de la quatrième image (en haut à droite)
###############################################################################

psbasemap $regionA -Bf0.5a1:'Latitude \312S':/f50a100:'Depth (m)':WeSn:."ISW Jade 1989": -V -O -P -X8 -K -JX6/5 >> $coupe.ps

blockmean $fichier4 -V $interp $regionA > $fichier4.med

surface $fichier4.med -G$fichier4.grd $interp $regionA -C0.1 -T0.25 -V

grdimage $fichier4.grd -C$palette $regionA $orien $J -O -V -K >> $coupe.ps

grdcontour $fichier4.grd -V -O -K $orien $J -A0.1f6a0 -G2 -L0.1 -Wa1/5/5/5 >> $coupe.ps

psxy $fichier4 -Sx0.05 -G0 $regionA $J $orien -K -O >> $coupe.ps

psscale -C$palette -B:."Mixing coefficient": -D7/2.5/5/0.5 $orien -V -O -K >> $coupe.ps

#############################################################################
# création de la cinquième image (au milieu à droite), pour descendre mettre Y en négatif
#############################################################################

psbasemap $regionA -Bf0.5a1:'Latitude \312S':/f50a100:'Depth (m)':WeSn:."IIW Jade 1989": -V -O -P -Y-8.5 -K -JX6/5 >> $coupe.ps

blockmean $fichier5 -V $interp $regionA > $fichier5.med

surface $fichier5.med -G$fichier5.grd $interp $regionA -C0.1 -T0.25 -V

grdimage $fichier5.grd -C$palette $regionA $orien $J -O -V -K >> $coupe.ps

grdcontour $fichier5.grd -V -O -K $orien $J -A0.1f6a0 -G3 -L0.1 -Wa1/5/5/5 >> $coupe.ps

psxy $fichier5 -Sx0.05 -G0 $regionA $J $orien -K -O >> $coupe.ps

psscale -C$palette -B:."Mixing coefficient": -D7/2.5/5/0.5 $orien -V -O -K >> $coupe.ps

#############################################################################
# création de la sixième image (en bas à droite)
#############################################################################

psbasemap $regionA -Bf0.5a1:'Latitude \312S':/f50a100:'Depth (m)':WeSn:."RSW Jade 1989": -V -O -P -Y-8.5 -K -JX6/5 >> $coupe.ps

blockmean $fichier6 -V $interp $regionA > $fichier6.med

surface $fichier6.med -G$fichier6.grd $interp $regionA -C0.1 -T0.25 -V

grdimage $fichier6.grd -C$palette $regionA $orien $J -O -V -K >> $coupe.ps

grdcontour $fichier6.grd -V -O -K $orien $J -A0.1f6a0 -G3 -L0.1 -Wa1/5/5/5 >> $coupe.ps

psxy $fichier6 -Sx0.05 -G0 $regionA $J $orien -O -K >> $coupe.ps

psscale -C$palette -B:."Mixing coefficient": -D7/2.5/5/0.5 $orien -V -O >> $coupe.ps

#############################################################################
# Lecture directe de l'image des 6 coupes
#############################################################################

ghostview $coupe.ps

#############################################################################
# Elimination des fichiers intermediaires
#############################################################################

rm -f ./gmtcomm*

rm -f $fichier*.grd $fichier*.med


2) Exemple numéro 2

####################################################################################
# Auteur: C.COATANOAN
# Programme permettant de créer une image interpolée et de superposer sur cette image les côtes terrestres
####################################################################################
# Tout ce qui est en italique correspond aux paramètres à définir avant de lancer le programme
####################################################################################

coupe= nom du fichier image résultant du programme

region=-Rlongitudemin/longitudemax/latitudemin/latitudemax [Xmin/Xmax/Ymin/Ymax]

# orientation = -P pour portrait car paysage par défaut

orien=-P

# interpolation des données selon X (la longitude ici) et Y (la latitude), ici tous les 0.1

interp=-I0.1m

# J correspond à la résolution de l'image, la taille de sortie en quelque sorte, il existe différentes possibilites
# voir l'aide pour determiner votre resolution

J=-Jm8

# définition d'une palette pour imprimer une image couleur, nom à définir (le mieux est de mettre
# le nom de la variable à laquelle elle se rattache)

palette=nom

# initialisation des fichiers de donnée (fichier entrée)

fichier=fichierdat

#################################################################################
# création de la palette couleur avec les paramètres de définition suivants:
# C pour l'intervalle des " contours " de couleurs
# S pour le nombre d'intervalle de couleurs suivi de c pour avoir un dégradé des couleurs
# M pour le point médian servant de base à la création de la palette
#################################################################################

makecpt -C0.1 -S5c -M0.30 -Z > $palette.cpt

#################################################################################
# différentes fonctions pour interpoler le fichier de données
# blockmean pour créer un fichier s'inscrivant dans le cadre définie par la région préalablement initialisée
# surface pour créer un fichier " grille "
# grdimage pour tracer l'image avec possibilité de mise en page par -X et -Y qui donne la position sur la feuille
# grdcontour pour tracer les isocontours avec A(espace isocontour)f(taille police)
#################################################################################

blockmean $fichier -V $interp $region > $fichier.med

surface $fichier.med -G$fichier.grd $interp $region -C0.1 -T0.25 -V

grdimage $fichier.grd -C$palette $region $orien $J -O -V -K -X4 -Y2.8 >> $coupe.ps

grdcontour $fichier.grd -V -O -K $orien $J -A0.1f8a0 -G3 -L0.1 -Wa1/255/255/255 >> $coupe.ps

#################################################################################
# fonction servant à l'impression d'un cache sur l'image
# les points Xi et Yi correspondent aux coordonnées du cache
#################################################################################

psxy $region $J -V -O -K -G255 -W3 <<fin>> $coupe.ps

X1 Y1

X2 Y2

X3 Y3

fin

#################################################################################
# fonction pour tracer les continents
#################################################################################

pscoast $region $J -Ba5f1WESN:."": $orient -K -V -O -F20/80/100 -G180/200/160 -W2 >> $coupe.ps

#################################################################################
# pour rajouter du texte sur l'image+continent
#################################################################################

pstext $region $J -O -K -V $orien -G20/80/180 <<end>> $coupe.ps

121.8 -19.2 16 0 5 2 Australia ((exemple))

end

#################################################################################
# pour insérer la palette de définition des couleurs
#################################################################################

psscale -C$palette $orien -F20/80/100 -V -O -B:." nom variable": -D12/4.45/8.8/0.5 >> $coupe.ps

#################################################################################
# pour tracer à l'écran l'image sans sortir du programme
#################################################################################

ghostview $coupe.ps

# pour supprimer les fichiers de travail " qui ne servent à rien si ce n'est vérifier l'évolution du run "

rm -f ./gmtcomm*

rm -f $fichier*.grd $fichier*.med



3) Exemple Numéro 3

#####################################################################################
# Auteur: C.COATANOAN
# Programme permettant d'inserer deux coupes interpolees avec superposition des continents
# sur une meme feuille
#####################################################################################
# Initialisation des fichiers
#####################################################################################

coupe=aswrsw16

region=-R95/125/-20/5

orien=-P

interp=-I5m

J=-Jm0.35

palette=coefficient.cpt

fichier1=rsw16

fichier2=asw16

#####################################################################################
# Creation de la palette de couleur
#####################################################################################

makecpt -C0.1 -S5c -M0.30 -Z > coefficient.cpt

#####################################################################################
# Creation du cadre general
#####################################################################################

psbasemap -R0/6.5/0/9 -Jx2.9 -B0 -G220/230/240 -X1.2 -Y2.0 -P -K > $coupe.ps

#####################################################################################
# Creation de l'image couleur interpolee n°1
#####################################################################################

blockmean $fichier1 -V $interp $region > $fichier1.med

surface $fichier1.med -G$fichier1.grd $interp $region -C0.1 -T0.25 -V

grdimage $fichier1.grd -C$palette $region $orien $J -O -V -K -X4 -Y2.8 >> $coupe.ps

grdcontour $fichier1.grd -V -O -K $orien $J -A0.1f8a0 -G3 -L0.1 -Wa1/255/255/255 >> $coupe.ps

#####################################################################################
# Creation des caches blanc a inserer sur l'image
#####################################################################################

psxy $region $J -V -O -K -G255 -W3 <<fin>> $coupe.ps

97 5
106 -7
114 -8
125 -8
125 5
97 5
fin

psxy $region $J -V -O -K -G255 -W3 <<out>> $coupe.ps

95 -3
103 -12
106 -12
108 -7.5
114 -6
114 -14
115 -20
95 -20
95 -3

out

#####################################################################################
# Insertion des points de mesures
#####################################################################################

psxy $fichier1 -Sc0.05 -G220 $region $J $orien -K -O >> $coupe.ps

#####################################################################################
# Superposition des cotes
#####################################################################################

pscoast $region $J -Ba5f1WESN:."": $orient -K -V -O -F20/80/100 -G180/200/160 -W2 >> $coupe.ps

#####################################################################################
# Ecriture de texte
#####################################################################################

pstext $region $J -O -K -V $orien -G20/80/180 <<end>> $coupe.ps

121.8 -19.2 16 0 5 2 Australia

115.23 -8.5 8 0 5 2 Bali

116.4 -8.3 8 35 5 6 Lombok

124 -9.8 10 35 5 6 Timor

113.5 -1 18 0 5 2 Borneo

111 -7.8 12 0 5 2 Java

102 -1.5 12 -45 5 2 Sumatra

120.4 -2.4 10 0 5 2 Celebes

102 4.0 11 -45 5 2 Malaya

end

pstext $region $J -O $orien -G20/80/100 -V -K <<end>> $coupe.ps

104 -16 14 0 9 2 Indian Ocean

104 -18 14 0 9 2 RSW Sigma0 = 27.18

112 -5 8 0 6 2 Java Sea

118 -2.2 8 76 6 2 Makassar Strait

end

#####################################################################################
# Insertion de la palette de definition des couleurs
#####################################################################################

psscale -C$palette $orien -F20/80/100 -V -O -K -B:."Mixing Coefficient": -D12/4.45/8.8/0.5 >> $coupe.ps

#####################################################################################
# Creation de la seconde image avec la même demarche, caches, cotes, textes, echelle couleur, points de mesures
####################################################################################

blockmean $fichier2 -V $interp $region > $fichier2.med

surface $fichier2.med -G$fichier2.grd $interp $region -C0.1 -T0.25 -V

grdimage $fichier2.grd -C$palette $region $orien $J -O -V -K -Y11.5 >> $coupe.ps

grdcontour $fichier2.grd -V -O -K $orien $J -A0.1f8a0 -G2 -L0.1 -Wa1/255/255/255 >> $coupe.ps

psxy $region $J -O -K -V -G255 $orien -W2 <<fin>> $coupe.ps

97 5
106 -7
114 -8
125 -8
125 5
97 5
fin

psxy $region $J -O -K -V -G255 $orien -W2 <<fin>> $coupe.ps

95 -3
103 -12
106 -12
108 -7.5
114 -6
114 -14
115 -20
95 -20
95 -3
fin

pscoast $region $J -Ba5f1WESN:."": $orien -K -V -O -F20/80/100 -G180/200/160 -W2 >> $coupe.ps

pstext $region $J -O -K -V $orien -G20/80/180 <<end>> $coupe.ps

121.8 -19.2 16 0 5 2 Australia
115.23 -8.5 8 0 5 2 Bali
116.4 -8.3 8 35 5 6 Lombok
124 -9.8 10 35 5 6 Timor
113.5 -1 18 0 5 2 Borneo
111 -7.8 12 0 5 2 Java
102 -1.5 12 -45 5 2 Sumatra
120.4 -2.4 10 0 5 2 Celebes
102 4.0 11 -45 5 2 Malaya

end

pstext $region $J -O $orien -G20/80/100 -V -K <<end>> $coupe.ps

104 -16 14 0 9 2 Indian Ocean
104 -18 14 0 9 2 ASW Sigma0 = 26.59
112 -5.8 0 6 2 Java Sea
118 -2.2 8 76 6 2 Makassar Strait
end

psscale -C$palette $orien -F20/80/100 -V -O -K -B:."Mixing Coefficient": -D12/4.45/8.8/0.5 >> $coupe.ps

psxy $fichier2 -Sc0.05 -G255 $region $J $orien -O >> $coupe.ps

#####################################################################################
# Lecture de l'image et visualisation
#####################################################################################

ghostview $coupe.ps

#####################################################################################
# Elimination des fichiers intermediaires
#####################################################################################

rm -f ./gmtcomm*
rm -f $fichier*.grd $fichier*.med


4) Exemple numéro 4

#####################################################################################
# Auteur: C.COATANOAN
# Affichage de la carte de la region de l'Indonesie
# surimpression de la radiale des stations
#####################################################################################

pscoast -R90/130/-25/10 -Jm0.40 -Di -Ba5f1WENS -G240 -P -K -X3.0 -Y8.5 -N1 -I1 -W1 > cartesupf.ps

#####################################################################################
# Insertion de points de mesure, appel du fichier stdm89
#####################################################################################

psxy stdm89 -Jm -R -O -Sc0.06 -G0 -K >> cartesupf.ps

#####################################################################################
# Ecriture du texte
#####################################################################################

pstext -R -Jm -O -K -P -G0/25/45 << fin >> cartesupf.ps

124.6 -21.2 24 0.0 31 2 Australie
115.23 -8.6 8 0 31 2 Bali
116.4 -8.6 8 35 31 2 Lombok
125 -9.4 10 35 31 2 Timor
120.1 -10.0 8 325 31 2 Sumba
121 -8.65 10 0 31 2 Flor@!\301es
113.5 0.0 18 0 31 2 Kalimantan
111 -7.8 12 0 31 2 Java
102 -1.5 12 -45 31 2 Sumatra
120.4 -2.4 10 0 31 2 Sulawesi
118.2 -8.4 8 35 31 2 Sumbawa
125.2 7.5 10 0 31 2 Mindanao
101.8 3.9 11 -45 31 2 Malaisie
124.5 -23.4 22 0 31 2 JADE 1989

fin

pstext -R -Jm -O -K -P <<End>> cartesupf.ps
94 -5 13 0 31 2 Oc@!\302ean Indien
112 -5 8 0 31 2 Mer de Java
127 -5.5 8 0 31 2 Mer de Banda
118.14 -2 8 71 31 2 D@!\302etroit de Makassar
126.5 -12 8 0 31 2 Mer de Timor
121 -7.0 8 0 31 2 Mer de Flor@!\301es
111 8 9 0 31 2 Mer de Chine
99 4.8 8 -45 31 2 D@!\302etroit de Malacca
106.9 -5.1 8 40 31 2 D@!\302etroit de la Sonde
120 8.3 8 0 31 2 Mer de Sulu
122 3.5 8 0 31 2 Mer de C@!\302el@!\301ebes
End

#####################################################################################
# Ecriture du numero des stations, fichier texte: stj89
#####################################################################################

pstext stj89 -R -Jm -O -K -P -G0 >> cartesupf.ps

#####################################################################################
# Insertion d'une deuxieme carte plus petite, dans le coin gauche de la premiere pour indiquer
# la radiale d'une autre campagne, même demarche: insertion point, numero station, texte,...
#####################################################################################

pscoast -Jm0.35 -R110/125/-20/-5 -P -Ba5f1wENs -O -K -X0.4 -Y0.4 -G240 -I1 -N1 -W1 >> cartesupf.ps

psxy stdm92 -R -Jm0.35 -Sc0.06 -O -K -P -G0 >> cartesupf.ps

pstext pstj92 -R -Jm0.35 -O -P -K -G0 >> cartesupf.ps

pstext -R -Jm0.35 -O -P -G0/0/0 <<OUT>> cartesupf.ps

121.8 -18.8 11 0 31 2 JADE 1992
111.5 -7.8 10 0 31 2 Java
OUT

#####################################################################################
# Visualisation de l'image
#####################################################################################ghostview cartesupf.ps

rm -f ./gmtcomm*