La base de données des prédictants

Les données relatives aux prédictants (par exemple, les précipitations) doivent être préparées pour être utilisées dans AtmoSwing. Un outil fourni avec AtmoSwing permet de générer la « base de données ». La génération de la base de données consiste à extraire les données des fichiers texte et à les combiner dans un fichier NetCDF.

L’interface de génération de la base de données des précipitations est accessible par le menu « Tools / Build predictand DB » à partir de n’importe quel module d’AtmoSwing.

../_images/frame-predictand-db-generator.png

La première étape consiste à choisir le type de base de données à générer. Les options sont les suivantes :

  • Paramètre du prédictant :
    • Précipitations

    • Température

    • Foudre

    • Other (Autre)

  • Résolution temporelle :
    • 24 heures

    • 6 heures

    • 1-hr MTW (moving time window, voir Horton et al. [6])

    • 3-hr MTW (moving time window, voir Horton et al. [6])

    • 6-hr MTW (moving time window, voir Horton et al. [6])

    • 12-hr MTW (moving time window, voir Horton et al. [6])

  • Agrégation spatiale :
    • Station

    • Groupment (Groupement)

    • Catchment (Bassin versant)

    • Région

Le fichier résultant contiendra les données brutes du prédictant, mais peut également contenir des données transformées en fonction de la variable du prédictant (voir la section Données transformées).

Ensuite, il faut fournir quelques chemins d’accès :

  • Le catalogue des prédictants : un catalogue (fichier xml) est nécessaire pour fournir des métadonnées sur les différentes séries temporelles.

  • Le répertoire des données du prédictant : le répertoire contenant les fichiers originaux du prédictant.

  • Le répertoire de description des modèles de fichiers : le répertoire contenant les fichiers définissant la structure des fichiers contenant les series temporelles.

  • Le répertoire de destination : où le fichier résultant sera enregistré.

Après exécution, un fichier NetCDF contenant toutes les données nécessaires au logiciel est créé dans le répertoire choisi. Ce fichier comprend les propriétés des stations/régions et les séries temporelles.

Données transformées

Outre les données brutes du prédictant, le fichier NetCDF résultant peut également contenir des données transformées. Les options disponibles dépendent de la variable du prédictant. Il est important de noter que ces données normalisées seront utilisées pour l’étalonnage de la méthode, mais que les données brutes sont utilisées dans le Forecaster et le Downscaler.

Précipitations

Lors du traitement des données, des ajustements de Gumbel sont automatiquement effectués pour calculer les valeurs de précipitations correspondant aux différentes périodes de retour. Les transformations possibles sont alors :

  • Normalisation de la quantité de précipitations par une valeur correspondant à une période de retour choisie (souvent 10 ans)

  • Une transformation par la racine carrée des quantités de précipitations normalisées (voir Bontron [1])

Foudre

Les données relatives aux éclairs peuvent être transformées en utilisant : log10( N + 1 )

Catalogue des prédictants

Le catalogue du prédictant fournit des métadonnées sur les séries temporelles du prédictant. Il n’est nécessaire que pour créer la base de données du prédictant et n’est pas utilisé par la suite. Il se compose d’un fichier xml tel que :

<?xml version="1.0" encoding="UTF-8" ?>

<atmoswing version="1.0">
  <dataset>
    <id>MeteoSwiss-Switzerland</id>
    <name>MeteoSwiss daily rainfall measurements for Switzerland</name>
    <description>Daily precipitation measurements for Switzerland</description>
    <parameter>Precipitation</parameter>
    <unit>mm</unit>
    <temporal_resolution>Daily</temporal_resolution>
    <spatial_aggregation>Station</spatial_aggregation>
    <time_zone>0</time_zone>
    <start note="first value of all stations">01/01/1864</start>
    <end note="last value of all stations">31/12/2015</end>
    <first_time_step>0</first_time_step>
    <nan>-</nan>
    <coordinate_system>EPSG:21781</coordinate_system>

    <stations>
      <station>
        <id>1</id>
        <name>Aarberg</name>
        <official_id>ABE</official_id>
        <x_coordinate>588051</x_coordinate>
        <y_coordinate>209518</y_coordinate>
        <height>493</height>
        <file_name>ABE_rre150d0_data.txt</file_name>
        <file_pattern>MeteoSwiss_IDAweb_bulletin</file_pattern>
        <start>01/01/1900</start>
        <end>31/12/2015</end>
      </station>
      <station>
        <id>2</id>
        <name>L’Abergement</name>
        <official_id>ABG</official_id>
        <x_coordinate>527540</x_coordinate>
        <y_coordinate>178770</y_coordinate>
        <height>645</height>
        <file_name>ABG_rre150d0_data.txt</file_name>
        <file_pattern>MeteoSwiss_IDAweb_bulletin</file_pattern>
        <start>01/01/1961</start>
        <end>31/12/2015</end>
      </station>

      ...

      <station>
        <id>301</id>
        <name>Zweisimmen</name>
        <official_id>ZWE</official_id>
        <x_coordinate>595870</x_coordinate>
        <y_coordinate>155480</y_coordinate>
        <height>1015</height>
        <file_name>ZWE_rre150d0_data.txt</file_name>
        <file_pattern>MeteoSwiss_IDAweb_bulletin</file_pattern>
        <start>01/01/1901</start>
        <end>31/12/2015</end>
      </station>

    </stations>
  </dataset>

</atmoswing>

Le jeu de données est décrit par les données suivantes :

  • <id> : nom donné au jeu de données (court)

  • <name> : le nom complet du jeu de données

  • <description> : description supplémentaire (facultative)

  • <parameter> : le paramètre mesuré (voir ci-dessus ; ex : Precipitation)

  • <unit> : l’unité de mesure (ex : mm)

  • <temporal_resolution> : la résolution temporelle (voir ci-dessus ; ex : Daily)

  • <spatial_aggregation> : l’agrégation spatiale (voir ci-dessus ; ex : Station)

  • <time_zone> : fuseau horaire de la mesure (ex : 0 pour UTC)

  • <start> : premier pas de temps de toutes les stations JJ/MM/AAAA (ex : 01/01/1864)

  • <end> : dernier pas de temps de toutes les stations JJ/MM/AAAA (ex : 31/12/2015)

  • <first_time_step> : premier pas de temps (ex : 0)

  • <nan> : représentation des valeurs de nan

  • <coordinate_system> : le code EPSG du système de coordonnées (ex : EPSG:21781)

Ensuite, chaque série temporelle (appelée ici « station », même si elle ne représente pas une station) doit être détaillée sous une étiquette <station> dans la liste <stations>. Pour chaque station, les informations suivantes peuvent/doivent être fournies :

  • <id> : un identifiant unique (entier) pour identifier la station dans AtmoSwing (numéro unique pour le catalogue considéré)

  • <name> : le nom de la station

  • <official_id> : un éventuel identifiant officiel (facultatif)

  • <x_coordinate> : la coordonnée X (dans le système de coordonnées défini pour le jeu de données)

  • <y_coordinate> : la coordonnée Y (dans le système de coordonnées défini pour le jeu de données)

  • <height> : la hauteur de la station (facultatif)

  • <file_name> : le nom du fichier contenant les données originales

  • <file_pattern> : le modèle décrivant la structure du fichier de données

  • <start> : début de la série temporelle JJ/MM/AAAA

  • <end> : fin de la série temporelle JJ/MM/AAAA

Structure du fichier des prédictants

Il a été choisi de ne pas forcer les utilisateurs à transformer leurs données dans un format spécifique, mais de les laisser décrire la structure des fichiers. Cela doit être fait en utilisant des fichiers décrivant la structure de la série temporelle originale. Le fichier de structure définit comment lire les fichiers de données et est décrit dans des fichiers texte. Une restriction est toutefois imposée : un fichier de données ne doit contenir qu’une seule série temporelle (une seule station), ou les fichiers de structure doivent être définis pour lire une colonne spécifique.

Les fichiers peuvent être structurés (<structure_type>) selon deux types courants :

  • Délimité par des tabulations (tabsdelimited)

  • Avec une largeur constante (constantwidth)

Une option (<parsetime>) permet de lire les entrées de date et d’heure ou de les ignorer. La lecture de ces informations permet de vérifier automatiquement la cohérence des dates entre ce que le logiciel pense lire et ce qu’il lit réellement. Il est donc recommandé d’activer cette option (<parse_time>1</parse_time>).

Plusieurs fichiers sont installés avec AtmoSwing et peuvent être trouvés dans le répertoire “data/file_patterns”, ou en ligne dans le dépôt.

Exemple de type “délimité par des tabulations”

Ce type définit directement des fichiers structurés, éventuellement avec des entrées de date (année, mois, jour) et des données séparées par des tabulations (voir l’exemple ci-dessous). Les fichiers contiennent exactement deux lignes d’en-tête :

Timeseries processed by XY for the YZ project.
average from station(s) : 8080 8010
1961    1       1       6.6
1961    1       2       2.6
1961    1       3       21.5
1961    1       4       4.5
1961    1       5       0.0
1961    1       6       5.8
1961    1       7       0.0
1961    1       8       3.4
1961    1       9       0.0
1961    1       10      1.5

La structure décrivant ces fichiers de données est la suivante :

<?xml version="1.0" encoding="UTF-8" ?>
<atmoswing version="1.0">
  <pattern id="Basic_daily" name="Basic daily file structure with tabs">
    <structure_type>tabs_delimited</structure_type>
    <header_lines>2</header_lines>
    <parse_time>1</parse_time>
    <time>
      <year column="1"/>
      <month column="2"/>
      <day column="3"/>
    </time>
    <data>
      <value column="4"/>
    </data>
  </pattern>
</atmoswing>

Exemple de type “largeur constante”

Les fichiers du prédictant sont ici structurés par des colonnes de largeur constante.

...
...
stn    time           rre150d0
ABG    19610101            4.3
ABG    19610102           10.2
ABG    19610103           14.1
ABG    19610104            2.4
ABG    19610105            2.6
ABG    19610106            3.7
ABG    19610107            0.0
ABG    19610108            6.5
ABG    19610109            0.0
ABG    19610110           10.7

La structure décrivant ces fichiers de données est la suivante :

<?xml version="1.0" encoding="UTF-8" ?>
<atmoswing version="1.0">
  <pattern id="MeteoSwiss_IDAweb_bulletin" name="MeteoSwiss data pattern from IDAweb">
    <structure_type>constant_width</structure_type>
    <header_lines>3</header_lines>
    <parse_time>1</parse_time>
    <time>
      <year char_start="8" char_end="11"/>
      <month char_start="12" char_end="13"/>
      <day char_start="14" char_end="15"/>
    </time>
    <data>
      <value char_start="25" char_end="30"/>
    </data>
  </pattern>
</atmoswing>