Use cases

In order to determine how the AO data must be stored/used, we identified the following very general use cases:

  • HW setup (lab or RR) where AdSec and WFS are operated in isolation
  • Alignment (getting a good flat for an instrument)
  • AO calibration (measuring rec mat)
  • AO closed loop on-sky or tower-test.
  • Elab_lib offline/realtime performance analysis
Data types has been identified following requirements from those use cases.

Data types

We have identified five distinct data types, with different requirements wrt. storage and availability. The five types are:

  • Configuration:: basic system configuration, manually written/generated and rarely changed. Required for any system operation. Examples: processes config, AO table, actuator lists, all kinds of LUTs, DSP firmware, lists of mirror positions. Stored into SVN.
  • Calibration: data needed for system operation, which is measured from system itself. Possibly stored into SVN as a starting point (e.g. zero arrays). Tends to grow with time. Must be available for offline analysis. Examples: mirror flats (saved by operator), CCD backgrounds, slopenull, pupil positions.
  • OL calibration: (optical loop calibration) Data needed for system operation, mostly measured from system itself and processed. Similar to Calibration, except that there is no way of setting up a sensible data set in SVN without having the system itself. Example: modal basis, RECs, gain files, modal disturbances, etc. Tend to grow in time.
  • Data: performance data saved during system operation, not necessary for operation, but important to assess performance. Not present in SVN. Tend to grow in time. Must be available for offline analysis. Example: Optical loop data, Interferometer data.
  • Measurement: diagnostic data not needed for any system operation, but only for extemporary offline analysis. Do not impact system operation or performance evaluation even in the extreme case of irrecoverable deletion. Example: RON tests, step responses, automatic flat saving, etc.

  Needed SVN Measured elab_lib Acc.
Config. X X      
Calib X O X X X
Data     X X X
OL Calib X   X X X
Measure     X   X
Needed = mandatory for AO operation
SVN = stored in SVN in full (X) or as a starting point (O)
Measured = saved from the system itself and not hand-generated
elab_lib = used by the elab_lib
Acc. = tends to accumulate in time, and is timestamped

Directory structure

Placeholders:
  • subsytem = either adsec or wfs
  • subsystem_name = name of the specific subsystem, e.g. 672a or W2
  • system_name = name of a complete system, e.g. FLAO1 (equivalent to W2+672a)

  • Configuration is stored in SVN at $ADOPT_SOURCE/conf/*subsystem*/*subsystem_name* (e.g conf/wfs/W2) and installed inside $ADOPT_ROOT in the same place.
  • Calibration a basic set is stored in SVN at $ADOPT_SOURCE/calib/*subsystem/*subsystem_name* (for wfs and adsec) and installed inside $ADOPT_MEAS/*subsystem/*subsystem_name*. Procedures that generate calibration data (example: ccd background acquisition) will save inside $ADOPT_MEAS as well.
  • OL Calibration SVN contains an empty directory structure at $ADOPT_SOURCE/calib/system/*subsystem_name* and installed inside $ADOPT_MEAS/system/*subsystem_name*. Procedures that generate OL calibration data (example: interaction matrix acquisition) will save inside $ADOPT_MEAS as well.
  • Data nothing in SVN. Saved into $ADOPT_MEAS/*system_name* or $ADOPT_MEAS/*subsytem_name* as needed.
  • Measure nothing in SVN. Saved into $ADOPT_MEAS/*system_name* or $ADOPT_MEAS/*subsytem_name* as needed.

 $ADOPT_MEAS/
            measurements/
                         FLAO1/                              (system name, contains measure and data)                      
                               20100120/                   (OL data for day 2010-01-20)
                                        20100120_000000/
                                        20100120_000001/
                         W2_672a/                         (possible alternate system name)
                         W1/                              (subsystem name, contains measure and data)
                         W2/                              (subsystem name)
                         672a/4d/                         (subsystem name)
                         672b/                            (subsystem name)
                         ARGOS1/                          (subsystem name)
            
            calib/             = Calibration / OL Calibration (starts from SVN and then accumulates)
                 wfs/
                     W1/                       (subsytem - Calibration) 
                     W2/
                     current -> W2
                 adsec/
                       672a/   flat, FF matrix
                       672b/
                            flat/
                                 default.sav
                                 IRTC.sav
                                 LUCIFER.sav
                                 pippopompa.sav
                       current -> 672a
                 system/
                        FLAO1/                      (system name - OL Calibration)
                              Kalman/             (modal basis)
                              KL_v2/
                              KL_v4/
                        W1_672b/                    (other possible names)
                        ARGOS1_W1_672a/
                        FLAO2/
                        LBTI1_672a/
                        LBTI2
                        NIRV1
                        NIRV2
                        WMAG_MAG585/
             

 $ADOPT_ROOT/conf/   =  configuration (all from SVN)
                 wfs/
                     W1/   Tabella AO, FoV,LUTs , firmware
                     W2/
                     current -> W2
                 adsec/
                      672a/  lec, ..CMD/  (all from SVN)
                      672b/
                      current -> 672a

Strategia di backup:

- da $ADOPT_ROOT/calib a $ADOPT_MEAS/backup_calib

- da $ADOPT_MEAS a NAS storage

OLD directory structure:
$ADOPT_ROOT/
           /conf/
                /wfs/
                    /W1/...
                    /W2/...
                    /current -> W2
               /adsec/
                      /672a/...
                      /672b/...
                      /current -> 672a
           /calib/
                 /wfs/
                     /W1/...
                     /W2/...
                     /current -> W2
                 /adsec/
                       /672a (empty)
                       /672b/
                            /flat (empty)
                            /data (?)
/towerdata/
          /adsec_data/                 (opt. loop data)
                     /20100120_000000  (opt. loop data)
                     /20100120_000010  (opt. loop data)
          /adsec_calib/ 
                      /M2C/                       (opt. loop calibration)
                          /mirrorStandard/...     (opt. loop calibration)
                          /KalmanOV/...           (opt. loop calibration)
                      /flat/
                           /20100120_000000/a.sav  (adsec measurements/necessary data)
                           /20100120_000010/b.sav  (adsec measurements/necessary data)
                           /Applicable/
                      /if_functions                (adsec measurements)
                      /noise                       (adsec measurements)
                      ...                          ...

Topic revision: r8 - 07 Feb 2011, LucaFini
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback