Installer une software stack météo – Partie 1 – L’environnement de base
Lorsque l’on veut exploiter les données météo, qu’elles soient disponibles en open data ou non, on est confronté aux formats spécifiques dans lesquelles elles sont encodées, comme le GRIB ou le NETCDF. Il faut des outils pour extraire et visualiser ces données, sous forme de cartes ou de diagrammes le plus souvent. De plus, on a souvent besoin de faire des calculs ou de développer des traitements, que ce soit à des fins opérationnelles ou d’analyse : nous couvrirons un certain nombre de librairies et d’outils destinés à ces fins.
De nombreux outils sont conçus par les principaux centres météo mondiaux et des universités spécialisées. Par chance, un bon nombre d’entre eux sont disponibles en open source. Je vous propose un tour d’horizon de tout ce qui est nécessaire pour vous constituer une boîte à outils météo des plus complètes, au travers d’une série d’articles. Nous couvrirons leur installation et un usage basique afin de montrer leur utilité.
Pré-requis système
N’oublions pas de vérifier que votre système est bien compatible avant de commencer. Les outils sont pour la plupart destinés à un usage sur des systèmes de la famille UNIX. Cela comprend les systèmes Linux, BSD et Mac OS. Linux étant le plus populaire, je baserais mon tutoriel sur ce système, mais les explications n’en restent pas moins valables, moyennant un peu d’adaptation sans doute, pour les autres.
Pour ma part, au moment de la rédaction, je suis sur une distribution Ubuntu 18.04 LTS. J’ai donc tout testé sur cette version, si vous hésitez sur une distribution Linux alors vous pouvez choisir la sécurité et opter pour celle-ci. On ne sait jamais après tout, avec les compilations de sources surtout, on peut vite se retrouver bloqué par un problème sur certaines versions spécifiques.
Bien sûr, nous nous efforcerons de rester aussi indépendant de la distribution Linux que possible : vous pouvez donc opter pour la distribution qu’il vous plaira.
Structure
Les logiciels proviennent de sources diverses, avec chacun leurs dépendances. Nous nous efforcerons de classer ces outils dans des dossiers bien distincts, pour d’une part faciliter la maintenance évolutive, et d’autre part isoler les logiciels les uns des autres pour éviter les conflits de dépendances.
Commençons par créer un dossier “Météo”, à un emplacement à votre convenance. Sur un PC personnel, vous pouvez simplement créer un dossier dans votre home. Ou bien si vous être sur un serveur où vous souhaitez partager les logiciels entre utilisateurs, vous devrez probablement choisir un autre emplacement, comme /opt par exemple. Des ces derniers cas, veillez à avoir les droits d’écriture avec la commande sudo. Ouvrez un terminal et go :
# Choisissez un emplacement qui vous convient et adaptez la variable METEO export METEO=/path/to/Meteo mkdir -p $METEO mkdir -p $METEO/software
Le dossier software nous servira de dossier temporaire pour télécharger les installeurs, les sources, et compiler les outils.
Prévoyez beaucoup d’espace disque, l’installation prendra plusieurs gigaoctets au final.
Variables d’environnement
De nombreux scripts se basent sur des variables d’environnement pour simplifier le paramétrage et le pilotage de la compilation. Nous allons définir quelques variables standard qui seront disponibles. Ajoutez les commandes suivantes à la fin de votre fichier ~/.bashrc et relancez votre terminal :
# Variables pour la compilation export CC=gcc export CXX=g++ export FC=gfortran # Cette variable doit refléter le chemin vers votre dossier Meteo export METEO=/path/to/Meteo
Remarquez que nous prenons de l’avance : nous référençons les compilateurs que nous utiliserons plus tard.
Outils standards
Maintenant que nous avons créé notre structure de base, et notre environnement, il s’agit de s’assurer que nous avons sous la main tous les outils de base dont nous pourrions avoir besoin. Voici une liste la plus exhaustive possible d’outils qu’il vous faut vérifier, certains pouvant ne pas être installés de base sur tous les systèmes. Veuillez vous assurer de les installer via la procédure standard de votre distribution (apt , yum, …). Hint : comme ce sont des commandes, tapez-les dans un terminal pour vérifier si elles sont bien présentes.
awk | Outil de traitement de chaines de caractères |
bzip2 | Outil de compression de données |
csh | C Shell |
curl | Outil de scripting HTTP |
gunzip | Outil de compression de données |
gzip | Outil de compression de données |
ksh | Korn shell |
m4 | Langage de macro |
tar | Outil d’archivage |
wget | Outil de téléchargement |
Nb : je considère que le shell standard sur votre système est bash. Toutes les commandes et configurations qui seront présentées dans cette série d’articles seront basées dessus, bien que nous installons divers shells. L’installation de ceux-ci est uniquement conseillée pour avoir un environnement Unix exhaustif permettant l’exécution de divers scripts de compilation ou de production de certains logiciels.
Outils de développement
Comme beaucoup d’outils sont fournis sous forme de sources, nous aurons besoin d’outils de développement pour compiler les applications. Mais nous en aurons également besoin pour développer des applications ! Là encore, respectez la procédure d’installation de votre système pour installer des versions récentes et à jour de ces packages.
git | Outil de gestion de sources |
gcc | Compilateur C GNU |
g++ | Compilateur C++ GNU |
gfortran | Compilateur FORTRAN GNU |
make | Outil de compilation |
cmake | Outil de compilation |
perl | Scripting en langage PERL |
Installation de Python et d’Anaconda
Le monde scientifique est friand du langage Python. Un très grand nombre de packages sont disponibles pour faire de la visualisation ou du calcul scientifique. Alors ne lésinons pas, installons Anaconda : c’est une distribution Python parfaitement taillée pour la science, qui contient SciPy et bien d’autres choses. Elle inclut énormément de packages, cela nous fera une bonne base de travail facile à installer. Nous aurons ainsi sous la main son gestionnaire de package, conda, qui, vous le verrez, sera utile par la suite.
Commençons par télécharger le script d’installation de la version individuelle, préférez la version 3.x adaptée à votre système (le “Linux 64 bit installer” dans mon cas) :
https://www.anaconda.com/products/individual
Enregistrez-le dans votre dossier software :
cd $HOME/software wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
Puis exécutez l’installeur :
bash Anaconda3-2020.02-Linux-x86_64.sh
Défilez la licence avec la touche entrée ou la barre d’espace, et acceptez-la en tapant “yes”. Ensuite il vous est demandé de choisir le répertoire d’installation. Nous souhaitons créer un dossier anaconda3 dans notre environnement Meteo. Indiquez donc le chemin complet avant de valider, exemple à adapter à votre cas :
/home/nicolas/Meteo/anaconda3
L’installation se poursuit, puis l’installeur vous propose de lancer “conda init”, répondez par l’affirmative. Vous n’avez plus qu’à relancer votre terminal pour prendre en compte : votre fichier ~/.bashrc a été modifié. Notez que votre prompt pourra avoir changé, car conda gère votre environnement. Tapez la commande suivante pour vérifier que tout fonctionne :
conda list
Le résultat devrait ressembler à ceci :

Votre fichier de configuration ~/.bashrc a été modifié, et devrait contenir quelque chose qui ressemble à ceci :
# >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/home/nicolas/Meteo/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/home/nicolas/Meteo/anaconda3/etc/profile.d/conda.sh" ]; then . "/home/nicolas/Meteo/anaconda3/etc/profile.d/conda.sh" else export PATH="/home/nicolas/Meteo/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<<
Dernier point, si vous n’aimez pas le changement du prompt shell induit par Conda, vous pouvez désactiver cette fonction via la commande suivante :
conda config --set changeps1 False
Une fois votre shell relancé, tout redevient à la normale, mais vous n’avez plus l’information de l’environnement conda qui est actif. Pour afficher l’information, tapez la commande suivante :
conda list env

L’environnement actif est marqué d’une asterisque *. A ce niveau du tuto, vous ne devriez n’avoir que base.
Conclusion
Voilà pour cette première partie de notre série d’articles. Nous avons installé les paquets standards nécessaires, les outils de développement et l’environnement Python. Nous sommes parés pour installer la suite ! Mais ça sera pour le prochain article.
Article suivant : Partie 2 – Outils du NWS
Laisser un commentaire