Bonjour,
Dans le cadre de mon stage, je travaille sur des données climatiques. Je travaille donc sur des fichiers netCDF, et manipule des masked arrays.
En particulier, j'ai récupéré les données de température E-OBS de 1950 à 2020 (mesures journalières de température dans toute l'Europe).
Par la suite, j'ai réalisé la climatologie de cette période (moyenne des 1er janviers, moyenne des 2 janvier, etc. afin de pouvoir tracer des anomalies de température), et ai enregistré ces moyennes dans un fichier netCDF dont voici l'en-tête :
Des tracés de cycles saisonniers montrent que ces données sont valides.
Cependant, j'ai par la suite cherché à lisser ces moyennes poiint par point. Mais la manipulation de ce tableau 3D fait apparaître des valeurs aberrantes dans un nombre non négligeable de points. Pour lisser mes valeurs, j'utilise une moyenne glissante sur 21 jours, et j'ai concaténé mon tableau de données trois fois en ne travaillant que sur celui du milieu pour ne pas avoiir de problèmes aux bords (fin décembre et début janvier).
Voici le bout de code qui suffit à faire apparaître ces valeurs (lors de la création de la variable extended_temp). Les "print" m'ont permis de vérifier que des valeurs de 9*10³⁶ apparaissent lors de cette manipulation. J'ai aussi vérifié que le mask était bien conservé, ce qui est le cas, et j'ai cherché à le forcer (for i in range(1098)...) mais cela n'a rien changé.
Par ailleurs, dans un autre script dans lequel je cherche à récupérer seulement les données d'hiver, et à réordonner sous la forme Décembre-Janvier-Février, le même problème intervient (lors de la création de la variable T_mean_ano).
Auriez-vous une idée de ce qui peut causer ceci ?
Je m'arrache les cheveux depuis plusieurs jours...
J'espère n'avoir pas été trop confus !
Merci d'avance,
Partager