Environnement de travail
Dans tous les cas, pour récupérer les données, il faut se positionner sur so machine rosina1
$ ssh solar@rosina1
Les opérations se sont dans le répertoire /home/solar/EDDS/STREAM_CLIENT.irap
Utilisation d’un alias
$ ..R
Environnement python 3
..p3 équivalent à ~/py3.venc/bin/activate
Permet activation environnement virtuel (venv) python3.
Certaines commandes ne marchent en effet qu’avec python3, d’autre uniquement sous python2.
Manque de temps pour tout porter sous python3
Lancement StreamClient Java
Le client Java va permettre de récupérer la télémesure SWA en temps réel depuis le serveur EDS de l’ESOC, situé à Darmstadt.
$ sh StreamClientLaunch.sh
Relance le client Java de streaming, qui récupère la TM en temps réel, pour une requête de type Data Streaming.
La requête est normalement lancée par le MSSL, et reste valide pour plusieurs jours (semaines).
Le client Java va enregistrer les nouveaux paquets de TM dans le fichier <requestId>.hex situé dans répertoire courant.
C’est un fichier texte, contenant des paquets CCSDS, format hexadécimal, qui s’incremente au fur et a mesure…
L’ID de la requête se trouve dans config.properties : ne pas le modifier.
requestId = StreamRequest.PktTmStream.SOL.0.2020.097.08.17.50.471.DzzP
On peut vérifier l'état de la requête
$ python -m EDDS status
Reading config from config.properties
Login EDDS C695826CE367A948076015CC36FD4376
Check status for job : StreamRequest.PktTmStream.SOL.0.2020.097.08.17.50.471.DzzP
RequestId : StreamRequest.PktTmStream.SOL.0.2020.097.08.17.50.471.DzzP
State : ACTIVE
Error : None
Reason : None
SubmissionTime : 2020-04-06 08:17:50.471000+00:00
ExpiryTime : 2020-04-21 23:51:55+00:00
On voit que la requête active a été lancé le 6 avril et se terminera le 21 à 23:51.
Traitement pour une journée type
Pour une journee données (2020/04/14 par exemple)
S’assurer que le client Java est lancé, avec le bon requestId (voir config.properties).
$ ./RUN_RT
Détecte les modifications du fichier <requestId>.hex, et chaque fois qu’un nouveau paquet arrive, recopie ce fichier dans
/DATA/SOLAR/DATA/L0/yyyymmdd/solo_L0_swa-pas-tm_V00.bin
Puis relance traitement de la télémesure
$ PRODUCE_L1 -a yyyy-mm-dd
![]() |
On pourrra relancer PRODUCE_L1 manuellement en cas de besoin, à la condition d’avoir copié manuellement des données sous |
/DATA/SOLAR/DATA/L0/20200414/solo_LO_swa-pas-tm_20200414_V00.hex
Récupération des TC
$ python -m EDDS batch_TC 2020-04-14T00:00 P1D
Relance une requête batch sur le serveur EDDS, pour récupérer les données des TC du 14/04, et génère le fichier
20200414_000000_20200415_000000.swa-batch-tc.xml
Conversion du fichier.xml en .hex
$ python -m batch_TC 20200414_000000_20200415_000000.swa-batch-tc.xml
Va convertir ce fichier .xml en 3 formats différents : .txt, .hex et .bin
LeS 3 fichiers sont créés dans le même répertoire, en changeant juste l’extension.
Prise en compte du fichier des TC
Recopier manuellement le fichier TC hexadécimal se trouvant dans le répertoire courant
$ cp 20200414_000000_20200415_000000.batch_tc.hex
solo_L0_swa-batch-tc_20200414_V00.hex
Ce fichier sera pris en compte automatiquement par ./RUN_RT lors du prochain traitement (qlq secondes)
Sinon, on peut forcer la relecture par
$ touch refresh
Réveille ./RUN_RT comme si de nouvelles données étaient apparues
Mise à jour serveur WEB
$ POST_PROCESS 2020-04-14
Mis a jour du serveur WEB.
Il faudra modifier trunk/software/bin/POST_PROCESS et décommenter la ligne
python -m create_views
Qui va régénérer les plots HK et Science automatiquement, et les mettre à disposition sur le serveur.
![]() |
ne fonctionne qu’avec python2.7 : utiliser nouveau shell sans lancer ..p3 |
Problèmes possibles
Aucune données ne semblent apparaitre en temps réel
Si rien n’arrive dans le stream à l’heure attendue… contacter MSSL par tél ou mail
Demander l'état de la requète : voir RequestId dans config.properties
S’ils disent que c’est OK ⇒ relancer client Java
$ sh StreamClientLaunch.sh
Si ca repart pas, relancer nous même une requête streaming :
-
Stopper le client java actuel (Ctlr C, CtirlD)
-
Tuer les process inotify qui restenten attente :
$ ps -ael | grep inotify
$ kill -9 <pids>
Relancer la nouvelle requête data streaming
$ python -m EDDS stream 2020-04-14T00 P1D
Renvoie une nouvelle requête, d’identifiant requestId, l’enregistre dans config.properties et relance le client Java qui récupère les données.
Chaque nouveau paquet est affiché dans la fenètre et engregistré dans le fichire requestId.hex
Relancer le traitement en temps réel
./RUN_RT
Le mode streaming ne marche définitivement pas
Il est arrivé par le passé que le mode streaming du serveur EDDS ne fonctionne plus…
Il reste la possibilité de lancer des requêtes en mode batch :
$ python -m EDDS batch_TM 2020-04-14T00:00 P1D
Génère un fichier
20200414_000000_20200415_000000.swa-batch-tm.bin
Cela peut durer de quelques secondes à plusieurs minutes, et il faudra en relancer à intervalles réguliers pour récupérer de nouvelles données.
On peut bien sur diminuer l’intervalle de récupération des données:
$ python-m EDDS batch_TM 2020-04-14T12:00 PT2H
Va générer le fichier correspondant à l’intervalle : 12H/14H
20200414_120000_20200414_140000.swa-batch-tm.bin
Recopier ensuite ce fichier manuellement dans /DATA/SOLAR/DATA/LO
$ cp 20200414_000000_20200415_000000.swa-batch-tc.bin /DATA/SOLAR/DATA/L0/20200414/solo_L0_swa-pas-tm_V00.bin
![]() |
Attention au nom du fichier dans /DATA/SOLAR/DATA/L0/20200414 Comparer avec les noms des fichiers L0 d’autres journées pour vérifier |
Relancer la génération des CDF L1
$ PRODUCE_L1 -b 2020-04-14
L’option -b indique que le fichier L0 est au format binaire, contrairement à l’option -a utilisée pour les données récupérées en mode streaming (fichier texte en hexadécimal)
On peut faire de même pour récupérer les TC
$ python -m EDDS batch_TC 2020-04-14T00:00 P1D
Va générer fichier XML
20200414_000000_20200415_000000.swa-batch-tc.xml
Le convertir en binaire
$ python -m batch_TC 20200414_000000_20200415_000000.swa-batch-tc.xml
Génère même fichier sous trois formats différents, avec les extensions .txt, .hex et .bin
Concaténer les deux fichiers binaires dans le fichier L0
$ cat 20200414_000000_20200415_000000.swa-batch-tc.bin
20200414_000000_20200415_000000.swa-batch-tm.bin
> /DATA/SOLAR/DATA/L0/20200414/solo_L0_swa-pas-tm_V00.bin
![]() |
Il faut concaténer dans un certain ordre :
Là-aussi, bien respecter la syntaxe des noms de fichiers L0 |