Communauté francophone des utilisateurs d'Ubuntu
Les Ubuntu-partys sont l'occasion pour beaucoup d'entre vous d'acquérir les goodies Ubuntu-fr faits par nos petites mains avec amour.
Pour tous les autres, fini le désespoir de les manquer
Il est désormais possible de vous procurer l'objet de votre choix grâce à la boutique en ligne, commune à Framasoft et Ubuntu-fr. Vous pourrez déjà y trouver mugs, t-shirts et, bien sûr, les Framakey Ubuntu-fr Remix.
1
Bonjour à tous,
Je suis un peu nouveau sous ubuntu et j'ai eu quelques problèmes pour installer gmt. Je propose de créer une
petite page avec les quelques commandes à rajouter pour que tout marche (je n'ai rien trouvé sur la doc qui
parle de gmt (en dehors de Greenwich Mean Time qui n'a strictement rien à voir bien sur...)).
Evidemment, j'ai besoin que vous testiez tout ça avant de faire quoi que ce soit...
Voici la démarche pour installer gmt :
$ sudo apt-cache search gmt powermgmt-base - Common utils and configs for power management bacula-console - Network backup, recovery and verification (Mgmt. Console) gmt - Generic Mapping Tools gmt-coast-low - Low resolution coastlines for the Generic Mapping Tools gmt-doc - HTML documentation for GMT, the Generic Mapping Tools gmt-doc-pdf - PDF docs for GMT, the Generic Mapping Tools gmt-doc-ps - PostScript docs for the Generic Mapping Tools gmt-examples - Example scripts illustrating the use of GMT gmt-manpages - Manpages for the Generic Mapping Tools gmt-tutorial - Data files needed to reproduce the tutorial examples of GMT gmt-tutorial-pdf - Tutorial for GMT, the Generic Mapping Tools (PDF) gmt-tutorial-ps - Tutorial for the Generic Mapping Tools (PostScript) libtime-piece-perl - Perl module for object oriented time objects multi-aterm - tabbed terminal emulator with efficent pseudo transparency ogmtools - Tools for manipulating Ogg multimedia streams sdate - never ending September date sunclock - fancy clock showing time and geographical data sunclock-maps - sunclock vector graphic maps
juste pour voir ce qui est disponible, puis
sudo apt-get install gmt
C'est là que je vous demande de vérifier : pour moi, tout s'installe mais les fonctions ne sont pas
disponibles de n'importe où !
J'ai donc trouvé un post du site ubuntu anglophone (http://ubuntuforums.org/showthread.php?t=351300)
qui dit qu'il faut rajouter ceci dans le .bashrc :
#gmt variables export NETCDFHOME="/usr/lib" export GMTHOME="/usr/lib/gmt" export PATH="$PATH:$GMTHOME/bin"
Et avec ça, tout marche
Qu'en pensez vous?
Dernière modification par luckytoyn (Le 15/03/2007, à 14:06)
Hors ligne
Pardon, correction :
il semble qu'il faille mettre plutot sans les " " dans le .bashrc :
#gmt variables export NETCDFHOME=/usr/lib export GMTHOME=/usr/lib/gmt export PATH=$PATH:$GMTHOME/bin
Hors ligne
Bon c'est vrai que ça fait un peu chiche comme tuto mais ça pourrair faire gagner un
peu de temps à tout le monde... :-)
Peut être que quelqu'un qui connait mieux pourrait en écrire plus au sujet de gmt, une
fois la page créée.
Hors ligne
pfiou... heureusement que je suis tombé sur ce sujet,
ça faisait un moment que je cherchais à comprendre pourquoi psbasemap n'existait pas alors que gmt était installé!
sinon, ce prog reste assez obscur pour moi, et je me demandais si vous aviez trouvé des interfaces graphiques un peu plus user-friendly ?
a+
Hors ligne
Non, rien de convivial... Je n'ai pas cherché, de toute façon, je fais écrire les scripts gmt directement dans un code fortran qu'un collègue numéricien m'a passé. Je n'ai donc pas eu à m'y mettre vraiment (j'essayé quelques heures mais ce fut un cuisant échec)
J'ai l'impression que moins un programme est convivial, plus il est puissant.
gmt est très puissant.
BON COURAGE !!!
Hors ligne
comme interface y'a iGMT (http://www.seismology.harvard.edu/~becker/igmt/), à condition d'arriver à le faire fonctionner correctement ...
Perso après avoir cherché des heures, j'arrive toujours pas à sortir une carte topo en couleurs .... si quelqu'un s'y connaît, qu'il me fasse signe !!!
Moi également je galère pour installer GMT, ça reste un outil trop professionnel et l'anglais technique est difficile à comprendre
Ouais mais c'est quand même super puissant.
Chez nous on l'utilise pour traiter des fichiers de données en masse. Après l'apprentissage est un peu long ...
Hors ligne
Hello.
Y'a justement un article sur le planet cette semaine :
http://kubuntu.free.fr/blog/index.php/2 … sous-linux
@+...
Hors ligne
Salut
Si vous voulez créer une page de documentation, il est inutile d'en débattre sur le forum. Il suffit de créer la page puis de contacter la mailing-list pour relecture/vérification.
http://doc.ubuntu-fr.org/wiki/participer_wiki
En attendant, je déplace dans "Trucs et astuces"
Hors ligne
on le met où dans le .bashrc?
Hors ligne
Tu peux le mettre n'importe où, cela n'a pas d'importance.
Ce que je te conseille c'est de mettre un commentaire (avec le # devant). Moi j'ai des variables comme ceci :
# PATH et VARIABLES PERSO export PATH=/usr/local/GMT4.2.0/bin:/opt/intel/fc/9.1.036/bin/:$PATH:. export NETCDFHOME=/usr/local/netcdf-3.6.2/lib export LD_LIBRARY_PATH=/opt/intel/fc/9.1.036/lib/:/usr/local/netcdf-3.6.2/lib:$LD_LIBRARY_PATH
Il y aussi les truc pour ifort..
Une fois le fichier modifié, il faut le charger à l'aide de la commande
source .bashrc
Hors ligne
Bonjour,
Je voudrais ajouter des information quant à l'installations de GMT.
Telle décrite dans le tutorial http://planet.ubuntu-fr.org/post/2007/0 … ous-Ubuntu, on ne peut pas utiliser la commande
grdraster 1 -R-66/-60/30/35 -Gbermuda.nc -V
décrite le tutorial fourni par GMT http://gmt.soest.hawaii.edu/gmt/doc/htm … ode41.html (le chiffre 1 correspond au model à utiliser; cf /usr/lib/gmt/share/dbase/grdraster.info)
voilà une procédure pour que ça fonctionne :
Télécharger le fichier ETOPO5 en version binaire (pour PC). Il faut faire attention, dans les fichiers binaires proposés par GEODAS, il y a les LSB (low significant byte) et les MSB (mean significant byte). Il nous faut les LSB
wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO5/TOPO/ETOPO5/ETOPO5.DOS"
et copier le fichier (en le renommant pour que grdraster.info soit en accord:
sudo mv ETOPO5.DOS $GMTHOME/share/dbase/etopo5.i2
De même on peut installer les fichiers ETOPO2 et ETOPO1 (le chiffre indique la précision; 5 minutes d'angle, 2 minutes, 1 minute). La difficulté, ici, c'est que les fichiers proposés sont au format "float" et qu'il faudra les mettre au format "long int"
Télécharger les fichiers (attention, ils sont lourds; 100Mo pour ETOPO2, 400Mo pour ETOPO1_ice-surface et 400Mo pour ETOPO1_bed-rock)
wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO2/ETOPO2v2-2006/ETOPO2v2g/raw_binary/ETOPO2v2g_f4_LSB.zip" wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/bedrock/grid_registered/binary_float/etopo1_bed_g.zip" wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/ice_surface/grid_registered/binary_float/etopo1_ice_g.zip"
Décompressez tout ce beau monde:
unzip ETOPO2v2g_f4_LSB.zip unzip etopo1_bed_g.zip unzip etopo1_ice_g.zip
et on convertit avec un petit utilitaire facile à coder (voir en fin de post); on en profite pour placer les fichiers dans le bon dossier (prévoir de la place; environ 2Go).
sudo ./gmtf4toi4 ETOPO2v2g_f4_LSB.flt $GMTHOME/share/dbase/etopo2.i4 sudo ./gmtf4toi4 etopo1_bed_g.flt $GMTHOME/share/dbase/etopo1bed.i4 sudo ./gmtf4toi4 etopo1_ice_g.flt $GMTHOME/share/dbase/etopo1ice.i4
Maintenant, il faut modifier le fichier grdraster.info
cp $GMTHOME/share/dbase/grdraster.info $GMTHOME/share/dbase/grdraster.info.bak sudo gedit $GMTHOME/share/dbase/grdraster.info
et ajoutez ces lignes
12 "ETOPO2 global topography" "m" -R-180/180/-90/90 -I2m GG l 1 0 none etopo2.i4 13 "ETOPO1 global topo Bedrock" "m" -R-180:0.5/180/-90:0.5/90 -I1m GG l 1 0 none etopo1bed.i4 14 "ETOPO1 global topo Ice" "m" -R-180:0.5/180/-90:0.5/90 -I1m GG l 1 0 none etopo1ice.i4
Rq les données de l'option -R sont obtenu en lisant le fichier .hdr de chaque zip
Et maintenant l'utilitaire "gmtf4toi4.c":
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/mman.h>
#define BLOCK 20000
#define FORMAT long int
long tailleFichier(char *fic) {
struct stat etat_fichier;
if (stat(fic, & etat_fichier) !=0) {
perror("stat");
exit(EXIT_FAILURE);
return 0;
}
return etat_fichier.st_size;
}
int main(int argc, char *argv[]) {
int fichierHdl;
FORMAT *converti;
FILE* sortie;
float * projection;
long taille_fichier;
//***************************
// Verification des arguments
//***************************
printf("Tool to convert data stored as float (4 bytes) to data stored as long signed integer (4 bytes)\n08/2008 - C. MEICHEL\n");
if (argc<3) {
printf("Syntaxe : %s fichier_a_lire fichier_de_sortie\n", argv[0]);
exit(EXIT_FAILURE);
}
//*******************************************
// Mise en memoire du fichier (lecture seule)
//*******************************************
if ((fichierHdl=open(argv[1], 0)) <0) {
perror("open");
exit(EXIT_FAILURE);
}
taille_fichier = tailleFichier(argv[1]);
projection = (float *) mmap(NULL, taille_fichier, PROT_READ, MAP_SHARED, fichierHdl, 0);
if (projection == (float *) MAP_FAILED) {
perror("mmap");
exit(EXIT_FAILURE);
}
close(fichierHdl);
if ((sortie = fopen(argv[2], "w")) == NULL) {
return 0;
}
converti = (FORMAT*) malloc(BLOCK*sizeof(FORMAT));
//**********************
// Traitement du fichier
//**********************
size_t nbblock = taille_fichier / (BLOCK*sizeof(float));
size_t k;
size_t curseur = 0;
size_t n;
printf("%d blocks (%d values) to write\n", nbblock, BLOCK);
for(k=0; k<nbblock; k++) {
for(n=0; n<BLOCK; n++) {
converti[n] = (FORMAT) projection[curseur++];
}
printf("%d out of 100 converted\r", k*100/(nbblock));
fwrite(converti, (BLOCK)*sizeof(FORMAT), 1, sortie);
}
for(n=0; n<(taille_fichier % (BLOCK*sizeof(float)))/sizeof(FORMAT); n++)
converti[n] = (FORMAT) projection[curseur++];
fwrite(converti, taille_fichier % (BLOCK*sizeof(FORMAT)), 1, sortie);
//******************************************
// Fin du code et restauration de la memoire
//******************************************
fclose(sortie);
free(converti);
munmap((void *) projection, taille_fichier);
return 0;
}on compile tout ça avec
gcc -o gmtf4toi4 gmtf4toi4.c
(vous pouvez changer le "#define BLOCK 20000" pour passer à "#define BLOCK 500000"; ça correspond à la mémoire nécessaire (ici, 20000*4 octets)
Bonne installation !
1