En parallèle de la préparation des rapports du GIEC, il y a un autre travail moins visible : le projet CMIP, pour Coupled Model Intercomparison Project, qui coordonne la réalisation de projections climatiques à l’échelle mondiale. A l’AR6, le 6e rapport du GIEC publié récemment, correspond donc CMIP6, la 6e vague du projet CMIP.
Ces nouvelles projections offrent une meilleure résolution, une meilleure modélisation des processus physiques, elles utilisent de nouveaux scénarios d’émissions, les SSP plus nombreux que les RCP issus du précédent rapport du GIEC… Bref, les projections CMIP6 ont vocation à remplacer rapidement celles issues de la vague précédente, CMIP5, publiées en 2013.
Dans ce tuto nous allons voir comment accéder à ces projections via l’Earth System Grid Federation, le service de référence pour le partage des projections climatiques.
D’abord, qu’est-ce qu’une projection climatique ? Et comment l’utiliser ?
Une projection climatique est une simulation de la météo future. Ces simulations sont réalisées par des modèles de circulation générale (ou Global Circulation Model, GCM), qui sont très proches de modèles météorologiques classiques.
Il existe de nombreux modèles climatiques : une centaine contribuent à CMIP6. L’objectif du projet est de coordonner les travaux, afin de s’assurer par exemple que des projections réalisées par le modèle GFDL de la NOAA aux Etats-Unis soient comparables avec celles du modèle NorESM2 du Norwegian Climate Center.
Même si les modèles de circulation générale sont cousins des modèles météorologiques, une projection n’est pas une prévision :
une prévision vise à décrire l’état de l’atmosphère à une date donnée,
une projection décrit un état possible, parmi d’autres.
Quelle est alors l’utilité des projections climatiques ? En prenant un nombre suffisant de simulations, on peut se faire une idée des conditions météorologiques qui pourront exister dans le futur.
En règle générale, on utilise 30 années. Par exemple si on veut évaluer la température moyenne annuelle en 2050, on peut utiliser une projection climatique pour calculer la température moyenne des années de 2036 à 2065. La répartition de ces 30 simulations va nous donner une bonne idée de ce qui est possible à l’horizon 2050, on pourra par exemple considérer leur médiane comme la meilleure estimation de la température à cette date.
Télécharger des projections avec un navigateur via les sites de l’ESGF
Pour le dire simplement, l’Earth System Grid Federation est un système peer-to-peer pour le téléchargement de projections climatiques. Via des nœuds hébergés par différents centres de recherches internationaux, vous pouvez y trouver les projections CMIP6 ou CMIP5, bien sur, celles d’autres grands projets comme Cordex, et d’autres moins connues, par exemple Clim4energy, des projections européennes destinées au secteur de l’énergie.
Il est possible d’accéder à ces données directement via un navigateur. Pour cela :
Rendez-vous sur le nœud de votre choix. L’écran qui s’affiche est un peu différent pour chaque nœud, mais vous devriez pouvoir cliquer quelque part sur CMIP6.
A l’aide des listes déroulantes situées à gauche de l’écran filtrez les projections qui vous intéressent.
Par exemple, on peut rechercher la température à la surface (sélectionner “tas” dans la liste Variable) avec un pas de temps quotidien (“day” dans Frequency) pour le scénario SSP2–4.5 (“ssp245” dans Experiment ID) avec le modèle de l’IPSL (“IPSL-CM6A-LR” dans Source ID)
Une fois que vous avez fait votre sélection, cliquez sur “Search”. Au moment où est rédigé ce tuto, on obtient 11 résultats qui correspondent à des variantes, par exemple avec des conditions initiales légèrement différentes.
Prenons la première variante (r1i1p1f1), cliquez sur “List Files” dans la ligne correspondante et vous obtiendrez la liste des fichiers composants cette projections. Dans ce cas, il n’y en a qu’un.
Il ne vous reste plus qu’à cliquer sur “HTTP Download” pour lancer le téléchargement.
Cette façon de faire peut sembler pratique mais en réalité elle n’est pas très adaptée : dans le cadre d’un vrai projet, on utilise toujours plusieurs scénarios d’émissions et plusieurs modèles, souvent plusieurs variables… ce qui représente vite des dizaines de projections, voire des centaines pour des études un peu complexe…
Exit donc le téléchargement manuel. D’autant que les fichiers téléchargés sont au format NetCDF : il faudra de toute façon passer par un langage de programmation, comme Python, R ou MATLAB, pour les ouvrir et les exploiter. Alors pourquoi ne pas l’utiliser aussi pour le téléchargement ?
Accéder aux projection CMIP6 avec Python
Il est très facile d’accéder à des projections CMIP6 depuis l’ESGF avec Python. Il existe un package pour cela : ESGF PyClient.
Commençons par l’installer :
conda install -c conda-forge esgf-pyclient
Nous allons ensuite créer une connection vers le nœud de l’IPSL :
from pyesgf.search import SearchConnection
connection = SearchConnection('https://esgf-node.ipsl.upmc.fr/esg-search',
distrib = False)
“distrib = False” signifie que la recherche ne sera faite que sur ce nœud. Si ce paramètre est True, la recherche est faite sur l’ensemble des nœuds, ce qui peut donner des résultats plus exhaustifs mais aussi des doublons.
A partir de cette connection, il est possible de rechercher les projections qui nous intéressent. Comme précédemment, nous allons rechercher :
les projection CMIP6
pour le modèle de l’IPSL
pour le scénario SSP2–4.5
pour la température de l’air à la surface
avec un pas de temps journalier
recherche = connection.new_context(
project='CMIP6',
source_id='IPSL-CM6A-LR',
experiment_id='ssp245',
variable='tas',
frequency='day',
)
recherche.hit_count
recherche.hit_count permet de savoir combien de résultats notre recherche retourne. Dans ce cas, comme pour la recherche manuelle, on en obtient 11 correspondants à différentes variantes.
On peut afficher la liste de ces projections :
projections_disponibles = recherche.search()
for projection in projections_disponibles:
print(projection.dataset_id)
Comme précédemment, nous allons télécharger la première projection qui correspond à la variante r1i1p1f1.
Les urls des fichiers correspondants s’obtiennent de la façon suivante :
#sélection de la projection à télécharger dans la liste des projections disponibles
projection_a_telecharger = projections_disponibles[0]
#Recherche des fichiers correspondants
fichiers = projection_a_telecharger.file_context().search()
#Liste des urls de ces fichiers
urls = [f.opendap_url for f in fichiers]
Une fois que l’on a ces urls, la projection peut être téléchargée et ouverte directement avec Xarray (pour plus d’informations sur cette librairie et des exemples d’utilisation, voyez nos tutos précédents) :
Et après ?
Il est maintenant possible d’utiliser cette projection. On peut par exemple calculer les températures annuelles sur le continent américain, leurs moyenne à la fin du siècle et l’évolution entre 2021–2050 et 2071–2100 :
da = DS['tas']
#Conversion Kelvin => Celsius
da = da - 273.15
#Calcul de la température moyenne annuelle
da = da.resample(time = '1Y').mean()
#Sélection du continent américain
lat_min, lat_max = -90, 90
lon_min, lon_max = 180, 335
da = da.sel(
lat = slice(lat_min, lat_max),
lon = slice(lon_min, lon_max)
)
da_2021_2050 = da[(da.time.dt.year >= 2021) & (da.time.dt.year <= 2050)].mean(dim = "time")
da_2071_2100 = da[(da.time.dt.year >= 2071) & (da.time.dt.year <= 2100)].mean(dim = "time")
da_delta = da_2071_2100 - da_2021_2050
Puis représenter le résultat sur une carte :
import matplotlib.pyplot as plt
fig = plt.figure(num=None, figsize=(14, 8), facecolor = 'w')
ax1 = fig.add_subplot(121)
da_2071_2100.plot(ax = ax1,
cmap = 'coolwarm'
)
ax1.set_title("Température moyenne 2071-2100")
ax2 = fig.add_subplot(122)
(da_2071_2100 - da_2021_2050).plot(ax = ax2,
cmap = 'hot_r',
vmin = 0)
ax2.set_title("Evolution entre 2021-2050 et 2071-2100")
Voici la carte obtenue :
On remarque tout de suite que la résolution spatiale est limitée. C’est une des raisons pour lesquelles ces projections ne sont jamais utilisées en l’état.
Dans le cadre d’un projet réel, il resterait encore plusieurs étapes avant d’obtenir un résultat exploitable, notamment :
Le débiaisage : les modèles climatiques sont en général biaisés, avant d’utiliser une projection il faut la débarrasser de ces erreurs systématiques.
La descente d’échelle : il s’agit d’améliorer la résolution spatiale des projections à l’aide d’un modèle climatique régional ou de méthodes statistiques.
Une étape de calcul : en général, on ne cherche pas une simple série de température ou de projection, il faut calculer l’indicateur souhaité : évolution des moyennes mensuelles, saisonnières ou annuelles, évolution des extrêmes, ou encore évaluation d’effets concrets du changement climatique à l’échelle locale, par exemple sur l’intensité et la fréquence des canicules ou sur le confort thermique.
L’évaluation des incertitudes multimodèles : Il existe de nombreux modèles climatiques qui peuvent donner des résultats divergents, il faut donc éviter de n’utiliser qu’un seul modèle et s’appuyer plutôt sur un ensemble de modèles adapté à l’étude à réaliser.
Vous l’aurez compris, l’accès aux projections n’est qu’une première étape. Pour produire des résultats conformes à l’état de l’art scientifique et utiles dans le cadre de vraies décisions économiques ou politiques, il reste encore beaucoup de travail.
👋Si vous êtes arrivé jusqu’ici, c’est sans doute que vous avez vraiment un projet qui nécessite des projections climatiques… Alors regardons les choses en face : vous pouvez essayer de réaliser ces études vous-même, mais dans l’immense majorité des cas faire appel à Callendar sera plus rapide et moins couteux. Contactez-nous pour discuter de votre projet !
Callendar est spécialisé dans le développement de solutions accessibles pour l’évaluation des risques climatiques à l’échelle locale. Nous avons déjà aidé de nombreuses entreprises et plus de 100.000 particuliers à anticiper les effets du changement climatique.