697 billets et 979 commentaires jusqu'à maintenant

Télécharger les données de l'almanach d'Environnement Canada

Ce billet explique la marche à suivre pour télécharger toutes les observations climatiques pour une station à partir du site web d'Environnement Canada.

Mise à jour (2014-04-16): Les URL et les informations ont été mises à jour pour refléter les changements du site web d'Environnement Canada.

Sur le site web d'Environnement Canada, se trouve une page qui se nomme Archives nationales d'information et de données climatologiques. Pour y arriver, il suffit de cliquer sur le mot Statistiques dans la colonne de gauche sur la page web des prévisions météorologiques d'Environnement Canada.

Saisie d’écran de la page d’Environnement Canada avec une flèche rouge qui pointe vers le mot “Statistiques” dans la colonne de gauche

Cette section donne un accès direct aux archives des observations des stations météorologique d'Environnement Canada. Les saisies de données d'une station météorologique sont habituellement horaire, c'est-à-dire à toutes les heures. Il y a 635 stations météorologiques qui sont accessibles dans cette base de données.

Certes, il est possible d'aller visualiser directement sur le site web les données pour une station. Par exemple, les observations de la station Yellowknife pour la journée du 21 octobre 2008.

Il est même possible de visualiser un graphique, en cliquant sur l'icône au haut de la colonne, pour son élément du temps préféré. La température en degré Celsius pour la station de Yellowknife pour le 21 octobre 2008 par exemple:

On remarquera que les accents sont mals rendus dans le nom de l'axe vertical ainsi que dans le titre du graphique, mais on ne saurait leur en tenir rigueur, l'effort est déjà fort louable et les anglais n'y voient que du feu. Que celui qui n'a jamais eu des problèmes de conversion avec les accents lance la première pierre.

Il est bien sûr possible de prendre ces données et d'en faire un petit graphique maison, bien libellé, qui pourrait nous servir dans une éventuelle publication. C'est ce que j'avais fait, avec l'aide de gnumeric, pour le billet Pourquoi cette passion de la météorologie chez les Québécois?.

Pour un travail assez concis dans le temps et dans l'espace, il est donc aisé et simple de se servir de la page web pour arriver à ses fins.

Par contre, pour obtenir toutes les observations pour une station, le quidam devra cliquer pour chacun des 12 mois de l'année et ce pour chacune des années d'existence de la station. La station de Yellowknife existant depuis 1953, ça donnerait pas moins de 660 clics. C'est long.

Là où ça devient vraiment intéressant c'est que lorsque l'on regarde au bas de la page, on aperçoit qu'il est possible de télécharger les données pour tout le mois d'octobre 2008 dans un seul fichier, que ce soit en format CSV ou XML. Il est même possible, tenez vous bien, de télécharger toutes les données de la station depuis que celle-ci existe!

Ces données peuvent être grandement utiles pour toute personne s'intéressant au climat. Par exemple, pour l'étude sur la fréquence des événements météorologiques précurseurs des nids-de-poule, j'avais utilisé toutes les données d'observation disponibles pour 7 stations météorologiques canadiennes en les téléchargeant sur le web.

Comment faire pour télécharger toutes les données d'une station? Rien de plus simple. Dans ce combat, comme dans beaucoup d'autres, l'utilitaire wget est votre ami. La ligne de commande suivante s'applique sur les systèmes d'exploitation GNU/Linux, les amis sous Windows pourront passer par Cygwin pour effectuer le même travail avec cette ligne de commande.

Voici la ligne de commande qui vous permettra de télécharger toutes les observations horaires pour la station de Yellowknife, de 1953 à aujourd'hui:

for annee in `seq 1953 2008`;do for mois in `seq 1 12`;do wget --content-disposition "http://climat.meteo.gc.ca/climateData/bulkdata_f.html?format=csv&stationID=1706&Year=${annee}&Month=${mois}&Day=14&timeframe=1&submit=++T%C3%A9l%C3%A9charger+%0D%0Ades+donn%C3%A9es" ;done;done


* format= [csv|xml]: pour le format de sortie
* timeframe=1 : pour les données horaires
* timeframe=2 : pour les données quotidiennes
* timeframe=3 : pour les données mensuelles
* day=*: la valeur de la variable "day" n'est pas utilisée et peut-être une valeur arbitraire

Cette commande ira chercher pour vous toutes les données d'observations horaire en format CSV pour la station de Yellowknife. Pour une autre station, il suffit de changer la valeur de la variable StationID. Pour avoir les données en format XML, il suffit de changer la valeur de csv par xml dans l'URL. Pour les données en anglais, changer ++T%C3%A9l%C3%A9charger+%0D%0Ades+donn%C3%A9es pour Download+Data, de même que _f par _e dans l'hyperlien.

Bon téléchargement!