Accueil Informatique Installer une software stack météo – Partie 1 – L’environnement de base


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.

awkOutil 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
m4Langage 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.

gitOutil de gestion de sources
gccCompilateur C GNU
g++Compilateur C++ GNU
gfortranCompilateur FORTRAN GNU
makeOutil de compilation
cmakeOutil de compilation
perlScripting 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