• Aucun résultat trouvé

U NE REPRESENTATION DE LA METEOROLOGIE

Dans le document Du Jardin des Hasards aux Jardins de Données: (Page 155-162)

Le Jardin des Hasards évolue en fonction du temps chronologique ; il évolue également en fonction du temps météorologique d’un lieu particulier. Il constitue donc à ce titre un système de représentation de la météorologie, visant à restituer, de manière graphique mais également sonore, l’ambiance climatique du lieu d’où proviennent les données. Le résultat global se veut le plus intuitif possible, de manière à permettre une perception sans effort d’une situation climatique globale. Du point de vue artistique, l’idée est de provoquer chez le spectateur un sentiment immédiat de familiarité avec l’image. Dans une perspective de représentation, il est important également qu’un opérateur soit à l’aise avec la représentation qu’il utilise, qu’elle lui soit familière, qu’il en retire intuitivement et rapidement une perception de la situation globale du système qu’il contrôle [Gershon 1998].

Cette représentation est construite sur la base de choix artistiques que des agents de simulation sont chargés de mettre en œuvre à mesure qu’ils reçoivent les données météorologiques. Nous verrons au chapitre suivant que certains choix particuliers, satisfaisants du point de vue esthétique, ne sont pas forcément les plus appropriés dans une perspective de représentation des conditions météorologiques. En revanche, la démarche générale consistant à produire dynamiquement un affichage ambiant d’une situation complexe, se justifie parfaitement dans un contexte de représentation, comme nous le verrons également.

V.3.1. LES DONNEES METEOROLOGIQUES

Nous avons choisi d’utiliser des données accessibles par l’intermédiaire d’Internet, qui correspondent à des relevés aéronautiques effectués toutes les heures sur la plupart des aéroports du monde. De la sorte, il est possible d’obtenir les données de n’importe quel endroit du globe, rendant le système très général. Il serait naturellement intéressant de disposer de données ayant une fréquence de mise à jour plus élevée, ce qui ne remettrait pas en cause la conception du reste du système, qui fonctionne de manière identique quelle que soit la fréquence de mise à jour des données. Les données sont accessibles sous forme de messages METAR24, messages formatés de

24 Message météorologique régulier pour l'aviation.

manière standardisée, émis avec une fréquence horaire sur la base d'observations locales. La figure V.6 montre un exemple de message METAR avec sa signification.

Le travail de récupération et d'interprétation est effectué par un agent d’information qui interroge périodiquement une base de données sur Internet pour récupérer le dernier relevé à jour, extrait du message les variables intéressantes de température, nébulosité, pluie et vent, et les transmet de manière séquentielle, par l’intermédiaire d’un canal de communication, aux agents de simulation. L’agent peut également être amené, lorsque la date et l’heure sont modifiées par l’utilisateur, à rechercher les données correspondantes dans une base de données locale. Cet agent correspond à la classe meteo_agent, qui hérite de data_agent, et qui possède comme paramètre réservé code_aeroport, le code de l’aéroport duquel proviennent les données.

L’utilisation de l’agent s’effectue de la manière suivante :

# demande la création d’un agent nommé meteo de type meteo_agent family meteo meteo_agent 1

end_family

# définit une variable globale nommée ’meteo_chn’ destinée à connaître le numéro

# du canal de communication utilisé par l’agent meteo.

globalParam meteo_chn 0 0 10

# script d’inititalisation de l’agent meteo init meteo

# affecte à la variable ’meteo_chn’ la valeur de sa variable réservée channel set meteo_chn {$channel}

# utilise les données de l’aéroport de Brest set code_aeroport {’LFRB’}

end_init

Précisément, les variables utilisées par la suite sont les suivantes :

• la nébulosité valeur comprise entre 0 et 8 désignant la plus ou moins grande couverture nuageuse (0 = temps dégagé ; 8 = temps couvert) ;

LFRB 181300Z 19009KT CAVOK 18/13 NOSIG LFRB : code international de l'aéroport de Brest 181300Z : le 18ème jour du mois à 13h00 Temps Universel 19009KT : vent à 190 degrés, vitesse établie de 9 nœuds

CAVOK : visibilité de 10 km ou plus, pas de nuages en dessous de 1500 m, pas de phénomène météorologique particulier 18/13 : température 18°C, point de rosée 13°C

NOSIG : pas de signature

figure V.6 - Exemple de message METAR pour l'aéroport de Brest.

• la pluviométrie valeur comprise entre 0 et 60 indiquant le nombre de minutes de pluie au cours de l’heure écoulée ;

• la température valeur exprimée en degrés Celsius indiquant la

Un agent particulier est chargé de surveiller le canal de communication et de mettre à jour des variables globales lors de la réception de données nouvelles :

# demande la création d’un agent nommé global, de forme rectangulaire.

family global rectangle 1 end_family

# définit cinq variables globales pour désigner respectivement les valeurs de

# nébulosité, de pluie, de direction et de vitesse du vent, de température, en

# indiquant pour chacune la valeur initiale et les valeurs extrêmes autorisées globalParam neb 0 0 8

# si le canal de communication météorologique contient des données if {$data[$meteo_chn][0] != -1}

# l’agent lit dans le canal les valeurs de chacune des variables set neb {$data[$meteo_chn][0]}

set pluie {$data[$meteo_chn][1]}

set dirVent {$data[$meteo_chn][2]}

set vitVent {$data[$meteo_chn][3]}

# puis supprime les données du canal

Nous avons déjà évoqué les modifications de couleur de l’ensemble des agents en fonction du jour de l’année et de l’heure de la journée. Selon un principe analogue, les variations de température et de nébulosité seront répercutées sur l’ensemble des agents, par des changements de couleur. Pour la température, la modulation intervient sur la saturation des couleurs, tandis que pour la nébulosité, elle intervient sur la luminance (figure V.7). A des températures élevées correspondent des couleurs saturées, pures, tandis que des températures froides sont associées à des couleurs

insaturées, blanchâtres, comme un peu délavées (voir figure V.8). De même, la baisse de luminance sera d’autant plus importante que la nébulosité est forte (figure V.9).

A nouveau, le script de mise à jour des couleurs doit être modifié en conséquence pour tous les agents. Pour l’agent global, celui-ci s’écrit finalement de la manière suivante :

tsl {$fond1_at[$day]} \

{$fond1_as[$day] * $fond2_qs[$min] * $temperature[$t] / 10000} \ {$fond1_al[$day] * $fond2_ql[$min] * $cadre_nebul[$neb]/10000}

température nébulosité

figure V.7 – Variations à apporter (en pourcentage) aux valeurs de saturation en fonction de la température et aux valeurs de luminance en fonction de la nébulosité pour le fond de l’écran.

t = 0°C t = 5°C t = 10°C

t = 15°C t = 20°C t = 25°C

figure V.8 - Différents aspects du Jardin des Hasards en fonction de la température (t).

V.3.3. LES NUAGES

En plus des variations de luminance qu’elle entraîne dans l’ensemble de l’image, la valeur de nébulosité, qui désigne la plus ou moins grande proportion du ciel cachée par des nuages, est associée à une famille d’agents nuages. Leur nombre et leur taille sont constants mais ils deviennent progressivement invisibles à mesure que la nébulosité diminue, en adoptant une couleur de plus en plus proche de celle du fond de l’écran jusqu’à se fondre complètement avec lui (voir figure V.9). En outre, les agents figurant les nuages se déplacent à l’arrière-plan de l’image, comme emportés par le vent. Dans ce déplacement, la direction et la vitesse des agents sont alors directement reliées à la direction et à la vitesse du vent mesurées.

n = 0 n = 1 n = 2

n = 3 n = 4 n = 5

n = 6 n = 7 n = 8

figure V.9 – Différents aspects du Jardin des Hasards en fonction de la nébulosité (n).

Ces différents comportements se traduisent de la manière suivante dans le langage de la plate-forme :

# script d’activation des agents de la famille nuage activate nuage

# met a jour la direction et la vitesse des agents en fonction de la # direction et de la vitesse du vent, avec une probabilité de 1%

if {irand(100) == 0} laisse difficilement exprimer sous une forme purement colorée. Les agents-pluie, de forme ronde, sont donc programmés pour apparaître périodiquement sur le devant de l’image, d’autant plus fréquemment et avec une taille d’autant plus importante que les précipitations mesurées ont été abondantes au cours de l’heure écoulée. L’impression globale reproduit ainsi la chute de gouttes d’eau sur le sol (voir figure V.10).

Cela s’exprime, dans le fichier de configuration sous la forme suivante :

# script d’activation des agents de la famille point activate point

# l’agent s’affiche si le tirage aléatoire est inférieur à la valeur de pluie if {rand(60) < $pluie}

Outre les variations picturales, l’évolution météorologique est repérée par quelques symboles sonores élémentaires, en liaison avec la valeur de nébulosité. A intervalles irréguliers intervient ainsi un agent dont le rôle consiste à émettre des sons de triangle

clairs et cristallins lorsque la nébulosité est faible, et d’autres sons de percussions plus mats, « cassés », à mesure que la nébulosité augmente.

p = 10 min/h p = 20 min/h p = 30 min/h

p = 40 min/h p = 50 min/h p = 60 min/h

figure V.10 - Différents aspects du Jardin des Hasards pour différentes valeurs de précipitations (p en nombre de minutes par heure, min/h).

Dans le document Du Jardin des Hasards aux Jardins de Données: (Page 155-162)