Ce billet est la suite de «LaPresse : Les leçons du ClimateGate (2e partie)», qui se veut une réponse à un article publié dans le journal LaPresse le 8 mai dernier: «Climategate: les leçons sont ailleurs».
Après mon exposé sur les courriels du ClimateGate (2e partie), je poursuis ma critique de l’article de LaPresse en ajoutant un thème connexe qui n’est à peu près jamais discuté lorsqu’on couvre le ClimateGate, mais qui est tout aussi important : le code de programmation. Je profite donc de l’occasion pour en parler, car au moment de couvrir le scandale du ClimateGate (hiver dernier), j’avais dû faire le choix de passer à côté, faute de temps.
Tel qu’indiqué en introduction, ma réaction à LaPresse se compose de plusieurs parties (indépendantes), dont celle-ci. Les voici toutes, pour un accès rapide :
- LaPresse : Les leçons du ClimateGate (1ère partie)
- LaPresse : Les leçons du ClimateGate (2e partie – les courriels)
- LaPresse : Les leçons du ClimateGate (3e partie – le code) – le présent billet!
- LaPresse : Les leçons du ClimateGate (4e partie – le journal de bord)
- LaPresse : Les leçons du ClimateGate (5e partie – le 4e rapport du GIEC)
- LaPresse : Les leçons du ClimateGate (6e partie – les enquêtes)
- LaPresse : Les leçons du ClimateGate (7e partie – conclusion)
Les fichiers rendus publics par ce qui semble être une fuite interne ne se limitent pas qu’aux fameux 1073 courriels…
On y trouve aussi plusieurs documents, dont certains sont des bouts de code de programmation ayant en outre conduit à la représentation graphique des données comptabilisées et harmonisées, auxquels je m’intéresserai dans ce billet.
Le tout est groupé dans un fichier compressé, sous le nom FOIA.zip (référence à Freedom Of Information Act), disponible sur le site de John P. Costella (62MB), celui qui a fait un excellent travail de synthèse des courriels du ClimateGate, maintenant disponible en pdf.
Les commentaires du (ou des) programmeur(s) ici et là dans le code permettent de comprendre le type de manipulations effectuées pour cacher le déclin récent (après 1960), dans l’idée de supporter une idée préconçue, à savoir que le réchauffement actuel est sans précédent.
Les extraits de code du ClimateGate sont complémentaires aux courriels. Si les échanges entre carbocentristes mettent en lumière l’intention de manipuler l’information, les commentaires du code (et les lignes de code proprement dit) montrent comment certaines manipulations ont été effectuées, du moins jusqu’à preuve du contraire (voir mon encadré en fin d’article).
Question d’illustrer mes propos, voici quelques extraits de code avec commentaires trouvé dans les fichiers. Je ne traduirai pas les extraits tels quels, puisqu’ils sont plutôt techniques, m’attardant plutôt aux commentaires (les emphases sont de moi). Ce qui doit retenir l’attention est le commentaire du programmeur – le code les met en contexte.
Note: Le nom du fichier correspondant à chaque extrait est également fourni pour ceux et celles qui veulent consulter l’original (vous pouvez ouvrir ces fichiers avec un éditeur de texte conventionnel).
On débute avec un commentaire qui indique de ne pas considérer les données corrigées (MXD) APRÈS 1960, qui seront ARTIFICIELLEMENT AJUSTÉES pour être plus proches des températures réelles…
; plot past 1960 because these will be artificially adjusted to look closer to
; the real temperatures.
…On reconnait donc la divergence entre les données récentes et celles observées par les thermomètres, mais au lieu de tenter d’expliquer cette différence et remettre en question la validité des proxys utilisés (voyez mon billet sur les proxys, ainsi que celui de Martin Gravel), on masque celle-ci en modifiant les données. Si les données ne concordent pas avec les modèles, les données doivent être erronées!
Avec les doutes qui planent sur les mesures réelles (c’est-à-dire mal ajustées), on se demande si ca ne devrait pas être l’inverse! Cette tactique, qui fait référence au fameux «hide the decline» (cacher le déclin), ne faisait pas l’unanimité, si on en croit les commentaires de Keith Briffa (voir 2e partie – les courriels).
Encore une fois, on insiste sur l’arrêt de calibration de l’échantillonnage à 1960, pour éviter le déclin (en parlant des régressions pour calibrer les anomalies par rapport aux températures terrestres)!
; CALIBRATES IT AGAINST THE LAND-ONLY TEMPERATURES NORTH OF 20 N
;
; Specify period over which to compute the regressions (stop in 1960 to avoid
; the decline
Décidément, c’est une obsession (ou simplement une manipulation qu’on prend soins de répéter partout)! Le déclin récent dans les données des cernes d’arbres a été enlevé artificiellement pour faciliter la calibration. Ainsi, les données post-1960 seront plus proches des températures observées qu’elles le devraient, impliquant que la reconstruction paraîtra meilleure qu’elle ne l’est réellement.
printf,1,’(April-September) temperature anomalies (from the 1961-1990 mean).’
printf,1,’Reconstruction is based on tree-ring density records.’
printf,1
printf,1,’NOTE: recent decline in tree-ring density has been ARTIFICIALLY’
printf,1,’REMOVED to facilitate calibration. THEREFORE, post-1960 values’
printf,1,’will be much closer to observed temperatures then they should be,’
printf,1,’which will incorrectly imply the reconstruction is more skilful’
printf,1,’than it actually is. See Osborn et al. (2004).’
Encore la fameuse astuce pour cacher le déclin en action! On rejette les données post-1960. Cette technique permet d’éliminer le déclin de façon appropriée, et signifie que les données après 1960 ne représentent plus les cernes d’arbres (au moins, on en est conscient!).
printf,1,’The data after 1960 should not be used. The tree-ring density’
printf,1,’records tend to show a decline after 1960 relative to the summer’
printf,1,’temperature in many high-latitude locations. In this data set’
printf,1,’this “decline” has been artificially removed in an ad-hoc way, and’
printf,1,’this means that data after 1960 no longer represent tree-ring
printf,1,’density variations, but have been modified to look more like the
printf,1,’observed temperatures.’
Cette fois, il s’agit d’appliquer un gros artifice/correctif pour corriger les données (déclin), via une réduction du réchauffement du début du 20e siècle et une augmentation de celui à la fin. Cette astuce est détaillée par PapyJako ici: L’alchimie des arrières cuisines … de la Science Climatique
;
; Apply a VERY ARTIFICAL correction for decline!!
;
yrloc=[1400,findgen(19)*5.+1904]
valadj=[0.,0.,0.,0.,0.,-0.1,-0.25,-0.3,0.,-0.1,0.3,0.8,1.2,1.7,2.5,2.6,2.6,$
2.6,2.6,2.6]*0.75 ; fudge factor
(…)
;
; APPLY ARTIFICIAL CORRECTION
;
yearlyadj=interpol(valadj,yrloc,x)
densall=densall+yearlyadj
Autre manipulation d’intérêt… Même si on a les données depuis l’an 440, on les rejette jusqu’à 1400 dans un premier ensemble de données, et on fait de même pour un autre ensemble qui débute en 1070…
; can skill lines (1400-440)/10 + 1 header line
; we now want all lines (10 yr per line) from 1400 to 1980, which is
; (1980-1400)/10 + 1 lines
(…)
; we know the file starts at yr 1070, but we want nothing till 1400, so we
; can skill lines (1400-1070)/10 + 1 header line
; we now want all lines (10 yr per line) from 1400 to 1991, which is
; (1990-1400)/10 + 1 lines (since 1991 is on line beginning 1990)
Pourquoi ne voudrait-on pas garder les données avant 1400? Bien qu’il y ait peut-être une raison valable (non fournie), notez qu’il s’agit de la période chaude médiévale, où les températures étaient plus élevées qu’aujourd’hui. Hasard?
Le liste est bien plus longue, mais ces quelques extraits devraient suffire à comprendre la stratégie…
Néanmoins, ils témoignent de l’intention de manipuler les données, et tant que personne n’aura accès aux données originales et au code source utilisé, on ne peut faire confiance aux résultats obtenus.
Étant programmeur multimédia, les commentaires dans le code font partie de mon quotidien.
Ils servent notamment à comprendre pourquoi un bout du programme applique tel ou tel traitement, lorsque ça ne saute pas aux yeux, ou encore des notes pour plus tard, tel que :
Bien qu’il arrive occasionnellement que le bout de code auquel un commentaire se réfère soit modifié sans que le commentaire reflète la modification (oubli), il n’en demeure pas moins qu’il signale l’intention première.
L’intention dévoilée dans les extraits de code du ClimateGate n’était pas d’utiliser des valeurs temporaires (comme mon exemple), mais bien de supprimer volontairement ou ajuster frauduleusement des données connues.
Source: WUWT
Tags: ClimateGate
Commentaires récents