| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | 
| issue209:python [2024/09/29 08:57]  –  d52fr | issue209:python [2024/10/01 09:20] (Version actuelle)  –  andre_domenech | 
|---|
| Python et la météo spatiale | Python et la météo spatiale | 
|  |  | 
| Salutations encore une fois, camarades des formes de vie sensibles. Ici, sur la plate-forme d'atterrissage 2997 de Terra, les choses sont toujours aussi folles. Essayer de gérer tout ce que j'ai dans mon assiette, c'est un peu comme essayer de jongler avec quatre tronçonneuses et une orange en même temps. (Je suis censé être au moins semi-retraité, mais j'ai l'impression d'être plus occupé que lorsque j'avais un emploi à temps plein (plus de 70 heures par semaine), une jeune famille et d'autres responsabilités professionnelles. Comme l'ont dit les Barenaked Ladies, « je parle poétiquement pendant que vous vous épilez les jambes ». Passons maintenant à la proposition de ce mois-ci. | Salutations encore une fois, camarades des formes de vie sensibles. Ici, sur la plateforme d'atterrissage 2997 de Terra, les choses sont toujours aussi folles. Essayer de gérer tout ce que j'ai dans mon assiette, c'est un peu comme essayer de jongler avec quatre tronçonneuses et une orange en même temps. (C'est une image mentale extrêmement horrible, je l'avoue.) Je suis censé être au moins semi-retraité, mais j'ai l'impression d'être plus occupé que lorsque j'avais un emploi à temps plein (plus de 70 heures par semaine) une jeune famille et d'autres responsabilités professionnelles. Comme l'ont dit les Barenaked Ladies, « je parle poétiquement pendant que vous vous épilez les jambes ». Passons maintenant à l'offrande de ce mois-ci. | 
|  |  | 
| Ici, au Texas, nous avons un dicton : « Si vous n'aimez pas le temps qu'il fait, attendez 10 minutes. » En effet, le temps est très changeant d'un jour à l'autre. Surtout en été. Pour planifier des activités à l'extérieur, comme des promenades, des courses, des voyages en famille, voire même promener le chien, il faut tenir compte du temps qu'il fait. Froid, chaleur, vent, pluie, brouillard, boue, ciel dégagé... tout cela influe sur la façon dont nous allons passer la journée ou la nuit. | Ici, au Texas, nous avons un dicton : « Si vous n'aimez pas le temps qu'il fait, attendez 10 minutes. » En effet, chaque journée, le temps change d'une heure à l'autre. Surtout en été. Pour planifier des activités à l'extérieur, comme des promenades, des courses, des voyages en famille, voire même promener le chien, il faut tenir compte du temps qu'il fait. Froid, chaleur, vent, pluie, brouillard, boue, ciel dégagé... tout cela influe sur la façon dont nous allons passer la journée ou la nuit. | 
|  |  | 
|  |  | 
| Dans votre IDE favori, démarrez un projet python rapide. Bien sûr, nous aurons besoin d'importer requests et json. En raison de la quantité de données qui seront envoyées, vous voudrez également inclure pprint dans votre projet. Définissez une variable nommée mykey pour « DEMO_KEY », puis créez une chaîne formatée vers l'url de l'API que vous souhaitez utiliser. Dans ce cas, il s'agit de « https://api.nasa.gov/DONKI/CME?api_key=DEMO_KEY ». | Dans votre IDE favori, démarrez un projet python rapide. Bien sûr, nous aurons besoin d'importer requests et json. En raison de la quantité de données qui seront envoyées, vous voudrez également inclure pprint dans votre projet. Définissez une variable nommée mykey pour « DEMO_KEY », puis créez une chaîne formatée vers l'url de l'API que vous souhaitez utiliser. Dans ce cas, il s'agit de « https://api.nasa.gov/DONKI/CME?api_key=DEMO_KEY ». | 
|  |  | 
| Vous pouvez réduire la quantité de données obtenues en incluant une date de début et une date de fin au format AAAA-MM-JJ, mais si vous souhaitez obtenir une vue d'ensemble de ce que l'appel vous renverra, si vous omettez la date de début, la valeur par défaut sera de 30 jours avant la date UTC actuelle, et la date de fin sera par défaut la valeur de la date UTC actuelle. | Vous pouvez réduire la quantité de données obtenues en incluant une date de début et une date de fin au format AAAA-MM-JJ, mais si vous souhaitez obtenir une vue d'ensemble de ce que l'appel vous renverra, si vous omettez la date de début, la valeur par défaut sera de 30 jours avant la date UTC actuelle et la date de fin sera par défaut la valeur de la date UTC actuelle. | 
|  |  | 
| Voici (en haut à droite) à quoi ressemblerait l'appel à l'api, y compris les paramètres startDate et endDate... | Voici (en haut à droite) à quoi ressemblerait l'appel à l'api, y compris les paramètres startDate et endDate... | 
| À partir de là, vous pouvez interroger la variable info pour obtenir les champs que vous souhaitez. | À partir de là, vous pouvez interroger la variable info pour obtenir les champs que vous souhaitez. | 
|  |  | 
| J'ai fait cela très tôt le matin du samedi 7 septembre, et j'ai obtenu 129 enregistrements de données, chaque enregistrement contenant 12 éléments, et certains de ces éléments étant eux-mêmes des dictionnaires. | J'ai fait cela très tôt le matin du samedi 7 septembre, et j'ai obtenu 129 enregistrements de données, chaque enregistrement contenant 12 éléments et certains de ces éléments étant eux-mêmes des dictionnaires. | 
|  |  | 
| Quoi qu'il en soit, afin d'obtenir une vue d'ensemble des données, j'ai décidé d'interroger la réponse json pour les seules clés du dictionnaire. Voici ce qui a été retourné... | Quoi qu'il en soit, afin d'obtenir une vue d'ensemble des données, j'ai décidé d'interroger la réponse json pour les seules clés du dictionnaire. Voici ce qui a été retourné : | 
|  |  | 
| dict_keys(['activityID', 'catalog', 'startTime', 'instruments', 'sourceLocation', 'activeRegionNum', 'note', 'submissionTime', 'versionId', 'link', 'cmeAnalyses', 'linkedEvents']) | dict_keys(['activityID', 'catalog', 'startTime', 'instruments', 'sourceLocation', 'activeRegionNum', 'note', 'submissionTime', 'versionId', 'link', 'cmeAnalyses', 'linkedEvents']) | 
| Passons maintenant au deuxième élément du dictionnaire dans nos données json. Le champ cmeAnalyses (en bas à droite). | Passons maintenant au deuxième élément du dictionnaire dans nos données json. Le champ cmeAnalyses (en bas à droite). | 
|  |  | 
| Vous pouvez voir qu'il y a beaucoup d'éléments qui ne me semblent pas très clairs, mais il y a deux éléments qui ressortent assez bien au premier coup d'œil. Il s'agit principalement du champ « note » et du champ « link ». Si j'étais vraiment intéressé par cet événement, je trouverais ce lien. N'oubliez pas qu'il s'agit de l'analyse de l'événement, et qu'elle sera donc assez spécifique. | Vous pouvez voir qu'il y a beaucoup d'éléments qui ne me semblent pas très clairs, mais il y a deux éléments qui ressortent assez bien au premier coup d'œil. Il s'agit principalement du champ « note » et du champ « link ». Si j'étais vraiment intéressé par cet événement, je regarderais ce lien. N'oubliez pas qu'il s'agit de l'analyse de l'événement, et qu'elle sera donc assez spécifique. | 
|  |  | 
|  |  | 
| Nous revenons maintenant aux données « générales », et nous voyons ici que deux appareils ont été utilisés pour examiner cet événement, ainsi qu'un autre lien, cette fois-ci une page Web plus générale qui affichera tout ce qui s'y rapporte (en haut à droite). | Nous revenons maintenant aux données « générales », et nous voyons ici que deux appareils ont été utilisés pour examiner cet événement, ainsi qu'un autre lien, cette fois-ci une page Web plus générale qui affichera tout ce qui s'y rapporte (en haut à droite). | 
|  |  | 
| Le champ « note » est généralement l'un des plus importants pour moi, ce qui me permet de décider d'approfondir ou non ce rapport. | Le champ « note » est généralement l'un des plus importants pour moi, car il me permet de décider d'approfondir ou non ce rapport. | 
|  |  | 
| 'note': 'Faint CME first seen in the NW by SOHO LASCO C2 beginning at ' | 'note': 'Faint CME first seen in the NW by SOHO LASCO C2 beginning at ' | 
| 'opening seen beyond the NW limb in SDO AIA 171 and GOES SUVI 284', | 'opening seen beyond the NW limb in SDO AIA 171 and GOES SUVI 284', | 
|  |  | 
| (note : CME faiblevu en premier dans le NW par SOHO LASCO C2 commençant à 2024-08-08T04:48Z ainsi que dans des images ultérieures depuis STEREO A COR2. Cet événement n'est pas clairement visible sur SOHO LASCO C3 car il peut être trop faible ou obscurci par le pylône. La source possible est une ouverture de ligne de champ plus large observée au-delà du limbe de NW dans SDO AIA 171 et GOES SUVI 284) | (Note : CME faible vu en premier dans le NW par SOHO LASCO C2 commençant à 2024-08-08T04:48Z ainsi que dans des images ultérieures depuis STEREO A COR2. Cet événement n'est pas clairement visible sur SOHO LASCO C3 car il peut être trop faible ou obscurci par le pylône. La source possible est une ouverture de ligne de champ plus large observée au-delà du limbe de NW dans SDO AIA 171 et GOES SUVI 284) | 
|  |  | 
|  |  | 
| url1 = f"https://api.nasa.gov/DONKI/CME?startDate={startDate}&endDate={endDate}&api_key={mykey}"** | url1 = f"https://api.nasa.gov/DONKI/CME?startDate={startDate}&endDate={endDate}&api_key={mykey}"** | 
|  |  | 
| Enfin, le dernier lot de champs de données. Ici, les champs startTime et submissionTime sont quelque chose que je regarderais en temps normal. | Enfin, le dernier lot de champs de données. Ici, les champs startTime et submissionTime sont des choses que je regarderais en temps normal. | 
|  |  | 
| 'sourceLocation' : '', | 'sourceLocation' : '', | 
| 'versionId' : 1} | 'versionId' : 1} | 
|  |  | 
| Ceci étant dit, le dictionnaire cmeAnalyses peut contenir plusieurs entrées. Un très bon exemple de ceci s'est produit le 11 mai de cette année (2024, au cas où vous liriez ceci dans le futur). J'ai utilisé la même méthodologie pour obtenir un dumping de données pour ce jour-là en utilisant DONKI. | Tout cela étant dit, le dictionnaire cmeAnalyses peut contenir plusieurs entrées. Un très bon exemnple de cela s'est produit le 11 mai de cette année (2024, au cas où vous liriez ceci dans le futur). J'ai utilisé la même méthodologie pour obtenir un dumping de données pour ce jour à nouveau en utilisant DONKI. | 
|  |  | 
| url1 = f « https://api.nasa.gov/DONKI/CME?startDate={startDate}&endDate={endDate}&api_key={mykey} » | url1 = f « https://api.nasa.gov/DONKI/CME?startDate={startDate}&endDate={endDate}&api_key={mykey} » | 
| That big dark purple (to my eyes) is the CME headed for that tiny yellow dot which represents Earth. Since the image is a GIF, I didn’t try to capture it just as it hits, but you can visit the above link to watch it yourself.** | That big dark purple (to my eyes) is the CME headed for that tiny yellow dot which represents Earth. Since the image is a GIF, I didn’t try to capture it just as it hits, but you can visit the above link to watch it yourself.** | 
|  |  | 
| Ensuite, une fois les données obtenues, je les ai sauvegardées dans un fichier local quelconque, ce qui m'a évité d'avoir à appeler à chaque fois. Cinq événements ont été signalés ce jour-là. J'ai creusé dans les données json et vers la fin du premier rapport, il y avait un lien vers https://webtools.ccmc.gsfc.nasa.gov/DONKI/view/CME/30719/1, qui est une description très claire (enfin, une sorte de description) de l'événement réel, y compris d'autres liens. | Ensuite, une fois les données obtenues, je les ai sauvegardées dans un fichier local quelconque, ce qui m'a évité d'avoir à les appeler à chaque fois. Cinq événements ont été signalés ce jour-là. J'ai creusé dans les données json et vers la fin du premier rapport, il y avait un lien vers https://webtools.ccmc.gsfc.nasa.gov/DONKI/view/CME/30719/1, qui est une description très claire (enfin, plus ou moins claire) de l'événement réel, y compris d'autres liens. | 
|  |  | 
| Plus haut dans les données json du premier rapport, j'ai trouvé un autre lien qui m'a conduit vers https://webtools.ccmc.gsfc.nasa.gov/DONKI/view/WSA-ENLIL/30726/-1. Ce site, en bas, montrait un certain nombre de fichiers .gif animés. Le premier « Inner Planets Link » (lien vers les planètes intérieures) montre une CME assez importante s'échappant du Soleil https://iswa.gsfc.nasa.gov/downloads/20240511_032400_2.0_anim.tim-den.gif. | Plus haut dans les données json du premier rapport, j'ai trouvé un autre lien qui m'a conduit vers https://webtools.ccmc.gsfc.nasa.gov/DONKI/view/WSA-ENLIL/30726/-1. Ce site, en bas, montrait un certain nombre de fichiers .gif animés. Le premier « Inner Planets Link » (lien vers les planètes intérieures) montre une CME assez importante s'échappant du Soleil https://iswa.gsfc.nasa.gov/downloads/20240511_032400_2.0_anim.tim-den.gif. | 
|  |  | 
| Ce gros violet foncé (à mes yeux) est la CME qui se dirige vers le petit point jaune qui représente la Terre. Comme l'image est un GIF, je n'ai pas essayé de la capturer au moment où elle frappe, mais vous pouvez visiter le lien ci-dessus pour la regarder vous-même. | Ce gros violet foncé (à mes yeux) est la CME qui se dirige vers le petit point jaune qui représente la Terre. Comme l'image est un GIF, je n'ai pas essayé de la capturer au moment où elle arrive, mais vous pouvez visiter le lien ci-dessus pour la regarder vous-même. | 
|  |  |