Procédure commissioning ======================= == 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 ---- NOTE: 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. CAUTION: 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 ---- [CAUTION] ==== 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 ---- [CAUTION] ==== Il faut concaténer dans un certain ordre : $ cat swa-batch-tc swa-batch-tm > swa-pas-tm Là-aussi, bien respecter la syntaxe des noms de fichiers L0 ====