Solar Orbiter IORs checking
===========================

We wrote a python script to check Solar Orbiter IORs.

== How to proceed

Generally we receive a first set of IORs for a whole STP period in a single ZIP file, like:

	IORG_SSWA_S119__00001_IntV01.ZIP

We have first to uncompress it a given directory :

	$ unzip IORG_SSWA_S119__00001_IntV01.ZIP

That will generate 7 daily files, IOR_S_S119Fnn like:

	IOR_S_S119F01_SSWA_V1.SOL
	IOR_S_S119F02_SSWA_V1.SOL
	IOR_S_S119F03_SSWA_V1.SOL
	IOR_S_S119F04_SSWA_V1.SOL
	IOR_S_S119F05_SSWA_V1.SOL
	IOR_S_S119F06_SSWA_V1.SOL
	IOR_S_S119F07_SSWA_V1.SOL

There files are XML files, and not really "human readable".

We can convert all IORs to a single text file, using the following command:

	$ python -m check_ior IOR_S_S119F* > STP119.log

You can also display content of a single IOR_S using:

	$ python -m check_ior IOR_S_S119F01_SSWA_V1.SOL

----
 -------------------------------------------------------------------------------------------------
 STP119 [2020-11-01T00:00:00 / 2020-11-01T23:59:59] IOR_S_S119F07_SSWA_V1.SOL (2020-10-11T14:50:21)
 --------------------------------------------------------------------------------------------------


2020-11-01T00:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T01:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T02:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T03:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T03:32:30       AIAF033A    5 param ; SWA SensorsOptiBurst v02
  1 : XF033A01 = 2400                         ; EAS1_TIME2 : Decimal (default 2400)
  2 : XF033A02 = 2400                         ; EAS2_TIME2 : Decimal (default 2400)
  3 : XF033A03 = 2400                         ; PAS_TIME2 : Decimal (default 2400)
  4 : XF033A04 = DYNAMIC => 0                 ; PAS_SCHEME :  (default DYNAMIC)
  5 : XF033A05 = 2400                         ; HIS_TIME2 : Decimal (default 2400)

2020-11-01T04:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T05:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T06:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T07:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T08:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T09:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T10:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T11:10:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

2020-11-01T11:32:30       AIAF032A    5 param ; SWA SensorsCoreBurst v02
  1 : XF032A01 = 4800                         ; EAS1_TIME1 : Decimal (default 2400)
  2 : XF032A02 = 4800                         ; EAS2_TIME1 : Decimal (default 2400)
  3 : XF032A03 = 2400                         ; PAS_TIME1 : Decimal (default 2400)
  4 : XF032A04 = DYNAMIC => 0                 ; PAS_SCHEME :  (default DYNAMIC)
  5 : XF032A05 = 2400                         ; HIS_TIME1 : Decimal (default 2400)

2020-11-01T12:00:00       AIAF067A    3 param ; SWA PAS RunCalibMode v03
  1 : XF067A01 = 047A                         ; START_CEM : Hexadecimal (default 47A)
  2 : XF067A02 = 075B                         ; FINAL_CEM : Hexadecimal (default 5EF)
  3 : XF067A03 = 05C2                         ; POST_CEM : Hexadecimal (default 570)

2020-11-01T12:15:00       AIAF071A    0 param ; SWA HIS Normal Sci v01

etc...
----

=== Corresponding documents

* See original extracted XML files on link:/documents/FLIGHT/LTP02/STP119[STP119 IORs directory]

* See the corresponding log file link:/documents/FLIGHT/LTP02/STP119/STP119.log[STP119.log]

== How to use

The main python script is located on 

	/home/solar/usvn-solarorbiter/trunk/software/python/check_iot.py

You can find sources at link:software/python/check_ior.py[]

In order to use it, you must set PYTHONPATH environment variable in your profile :

	export PYTHONPATH=/home/solar/usvn-solarorbiter/trunk/software/python:$PYTHONPATH

And then use :

	python -m check_ior <ior_filename> <ior_filename> ...


== How it works