Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Why a new code

The old code (ft2Util), written by Andrea Tramacere, has performed very well during the first 3 years of the mission. But, it has been patched a lot of times under the pressure of time, and it is now quite difficult to understand and to maintain. Thus we decided to rewrite it, taking into account all the things we learned during these 3 years.

Differences

There are two big differences:

Here I collect the results of the testing I am performing, comparing the output generated by the old ft2Util code (written by Andrea Tramacere) with the output generated by my code (ft2Util_2).

I used the version of the old code currently used in the PROD pipeline (v1r2p32), and I compiled my code and the old one against GlastRelease-v15r47p12gr21.

Fake FT2

Testing procedure

I collected a bunch of Magic 7 files for a total of ~50 days of in-orbit operation. These M7 files are the one produced by L1, in their latest versions. Thus, they should be complete (without gaps). This is, in other words, the "ideal" situation. They are not contiguous, since I've taken them directly from disk without caring for the continuity, since it shouldn't matter here.

...

  • Old version: 
    Code Block
    makeFT2Entries.exe -M7File $magic7 \
                        -FT2_fits_File ${filenameroot}_andrea.fits \
                        --Gleam --test-quaternion \
                        -DigiTstart $start -DigiTstop $stop \
                        -new_tpl /afs/slac.stanford.edu/g/glast/ground/releases/volume02/ScienceToolsv9r18p5/fitsGen/v6r1p1/data/ft2.tpl 
  • New version: 
    Code Block
    makeFT2.exe -m7file $magic7 \
                -ft2file ${filenameroot}_io.fits \
                -ft2start $start \
                -ft2stop $stop
    (without specifying a template, the new version uses the template provided by the current version of fitsGen)

Results

The following plots show the results (mind the scales on the y axes, usually the differences are very small!). For every quantity q (like LAT_GEO, LON_GEO, RA_SCX, DEC_SCX...) I computed (qold-qnew)/qold , that is, the "fractional difference".

...

The maximum difference is of the order of ~ 2%, and it is in QSJ_3. QSJ_3 is the Z component of the vectorial part of the attitude quaternion. Usually the attitude quaternion is taken directly from the ATT message in the Magic 7 file. Those messages are issued by the spacecraft 5 times per second. Anyway, there are cases when there is no ATT message corresponding to a particular time interval, thus the codes have to interpolate (or extrapolate). This usually can happen at the very beginning of a run, or because of gaps in the Magic 7 file. The differences between the two codes arises mainly from two different strategies adopted for the interpolation/extrapolation: the old code uses only ATT messages arriving in sync with an ORB message (that is, one time per second), discarding the others; the new code, instead, uses all the available ATT messages. Thus, the new code should provide better interpolation/extrapolation. Anyway, the differences are really small, and I can't think of any application where they could really matter... 

Run FT2

Testing procedure

I selected 100 runs (from 323423607 to 323989797), then for each run I submitted a different jobs to the farm. Each job performed these steps:

...

When every job finished, I simply merged all the FITS files produced by the python script in one big FITS file, and generate the plots.

Results

I show here only the results concerning the live time. The results related to the other quantities are very similar to the previous test.  

...