How to Create an IOR

From stix
Revision as of 16:01, 21 June 2021 by Daniel.ryan (talk | contribs)
Jump to: navigation, search

An IOR (Instrument Operations Response) is a series of instructions (telecommands) telling STIX what to do. An IOR is uploaded to STIX each STP cycle which is typically a week long. The process for uploading an IOR is as follows:

  1. Generate an IOR;
  2. Test IOR on Ground Unit;
  3. Submit IOR for Internal Review
  4. Submit IOR to SOC

Below focuses on article will focus on the first step, creating an IOR. For definitions of acronyms used in this page, see Acronyms & Definitions.

1 Generate an IOR

1.1 Required Software

To create an IOR you will need to install the following software tools:

For instructions installing these packages, click on the package link above.

1.2 How To Generate an IOR

  • Check the STP schedule on the Solar Orbiter wiki. Take note of:
    • The STP number/cycle;
    • The deadline for IOR submission deadline to the Solar Orbiter SOC;
    • The onboard IOR start time (equivalent to the STP start time).
  • Log into SOOP KITCHEN and check whether there is an "analysis window" in the current STP. If there is an analysis window, we must include data requests as part of the IOR.
    • The start time, duration and end time of the STP/IOR can also be confirmed via SOOP KITCHEN.
  • Download necessary input files. All can be found at https://pub023.cs.technik.fhnw.ch/gfts/solsoc/from_soc/:
    • MIB:
      • Check the current version number on Solar Orbiter wiki. It is given by the "MIB Name" column.
      • Ctrl+F the version number on the above pub023 web address and download.
      • Unzip the file.
    • TMC:
      • Provides constraints on data volume.
      • One TMC per LTP, but the version is often updated by ESA. So always get the latest version from pub023 address above.
      • Filename prefixed by TMC_ and suffixed by .xml.
      • Currently, STIX-Starlet does not use this file. So we must check manually that the telemetery used by the IOR is with the telemetry allowance of the TMC file. Check this is SOOP Kitchen.
    • E-FECS
      • Provides constraints on EMC
      • Download latest file. Filename prefixed with EFECS_ and suffixed with .xml
      • Currently, STIX-Starlet does not use this file. So we must check manually whether STIX must be in quiet mode any time during this IOR, i.e. must not use the motors. Check this is SOOP Kitchen.
    • JSON
      • The JSON file contains certain info on the STP, e.g. the start and end time.
      • There is one JSON file per LTP.
      • Download latest version from the above pub023 URL. (The version here is usually the latest.)
  • Open STIX-Starlet and enter IOR metadata.
    • Set directory where IOR will be generated. Settings -> Set storage directory
    • Set Starlet to STIX format. Settings -> Instrument -> STIX
    • Enter the STP number from STP schedule into STP cycle field
    • Add your name in author field.
    • Add onboard start time from the STP schedule in the start time field.
    • End time must be before next STP starts and after all telecommands have been executed. A typical value would be 24 hours after the IOR start time.
    • If this is the first IOR for the current STP, set the file and version numbers to 1.
      • If an IOR has to be recreated due to an issue found in review, iterate version number.
      • If more the STP requires more than one distinct IOR, iterate the file number
  • Enter the paths of the required files:
    • MiB: Settings -> Set instrument Database. Then select the unzipped MIB directory.
    • E-FECS & TMC: Click folder icon on the right of the value fields and select the relevant files.
    • JSON: Do the same as for E-FECS and TMC. DO NOT click "Load JSON" at this stage.
  • Add telecommands via the "Add Sequence".
    • STIX commands are prefixed at "AIX". Enter this is in the search field at the top to filter out non-STIX sequences.
    • See IOR Tip & Tricks for more advice.
    • In particular, see Time of First Telecommand for when to start the first telecommand of the IOR.
  • Once all sequences are added, click "Load JSON" button. This will assign OBS ID to all telecommands. These should all be the same for a given STP.
  • Generate IOR by clicking "Generate" button. This will create a .SOL file in the "storage directory" set above.

2 Test IOR on Ground Unit

  • If you still have the IOR open in STIX-Starlet, save the IOR to as a .tcl by clicking the .tcl button in the toolbar.

See Testing an IOR with the Ground Unit.

3 Submit IOR for Internal Review

4 Submit IOR to SOC

Once the STIX team is happy with the IOR, submit it to the SOC by doing the following:

  • Generate and download an IORG zip file corresponding to the IOR to be submitted.
  • Send the IORG file to the SOC
    • You will need a server account write permissions. To get an account email Hualin at hualin.xiao@fhnw.ch or Dan Ryan at daniel.ryan@fhnw.ch
    • If you are not on the FHNW network, you will have to Connect to the FHNW VPN.
    • Copy the IORG zip file to ESA's STIX GFTS server by opening a terminal and cd to the directory where you saved the IORG file above. Then type sudo scp <IORG filename> <username>@147.86.8.26:~ where <IORG filename> is the name of the IORG file and <username> is the username of your account on the STIX GFTS server.
    • Login into the ESA's STIX GFTS server by typing ssh <username>@147.86.8.26
    • Change permissions on the IORG file: sudo chmod 777 <IORG filename>
    • Move the IORG file from the home directory (where we copied it to above) to the to_soc directory by typing sudo cp ~/<IORG filename> /home/solsoc/to_soc/
  • Confirm the SOC has validated the IOR
    • The SOC will copy the file from the to_soc and then delete it. This can happen straight away. The SOC will then run an automatically verify the IOR and then return a .CRR back to the /home/solsoc/from_soc directory within 10 minutes.
    • cd to the home/solsoc/from_soc and wait for the .CRR to appear. It will have the same filename as the submitted IORG file, but with a .CRR extension.
    • Once the file has arrived, log out of the server.
    • Copy the .CRR file to your local machine by typing: scp <username>@147.86.8.26:/home/solsoc/from_soc/<IORG filename> /local/folder/ where /local/folder/ is the location on your local machine where the file should be copied.
    • Unzip the .CRR and open it with a text editor.
    • Search for the <validity> tag and confirm the message says "Valid".
      • If the .CRR file reports "Valid", then we are done!
      • If it is not valid, more details of the errors will be listed. Create a new version of the IOR (remembering to iterate the version number) that fixes those errors and resubmit.

5 Including a Data Request in an IOR

CAUTION: THIS SECTION IS BEING WORKED ON. DO NOT TRUST UNTIL FURTHER NOTICE.

  • Save the data request from the STIX website as a JSON file, using a URL API.
  • There are 3 statuses of data request
    • Executed (downloaded from satellite)
    • Processed (included in an IOR that has uploaded to the pub023)
    • Pending (Not yet included in an IOR)
  • Open Data request in Starlet by clicking yellow "open json" button.
  • Change Action Time. Action Time of second telecommand only needs to be 1 s.
  • The script that converts the data requests to JSON groups the data requests together by detector and pixel mask. After these are executed, there needs to be a wait time to ensure that all of them a re downloaded before changing the masks for the next batch.
  • Hualin makes this delay 12 hours from his personal experience. The amount of time per spectrogram to be generated onboard is not known. Can get an idea from the CPU load of the telemetry.
  • Can request high cadence Aspect data. Aspect data in HK is low resolution. These data requests must sent sequentially. The delay between requests must be long enough for previous aspect data request ot be processed. (By contract, spectrogram data requests will be queued, so the wait time between telecommands doesn't matter.) This means we have to change the action times of aspect data commands. This can be estimated by whether the aspect observation time period is long or short. Hualin usually leaves 1 hour between each aspect request. But you MUST BE CAREFUL is the aspect obs time period is long.
  • Data requests have different priorities: High, Medium and Low
  • Select the set of data requests of the IOR based on 3 criteria:
    • Must select high priority requests first.
    • No. of telecommands per day must be < 150.
    • Total size of downloaded data requests must be less than limit by STIX Analysis Window. See SOOP Kitchen. But also must not be too low, otherwise we waste the telemetry budget.
  • Once all the data request telecommands are have the right delay times, generate an IOR as normal.
  • Upload data request IOR to pub023 server as normal.
  • To process data requests, STIX must be in Configuration or Nominal mode. NOT Safe. So must time instrument power-cycling so it doesn't overlap with data request telecommands.