next up previous 623
Next: Extensions
Up: SURF File Format
Previous: Raw data format


SURF Format

The reduce_switch task converts the raw SCUBA format into a more NDF-like format with proper variance and quality arrays (extracted by reduce_switch from the SCUBA data array), axes, history reporting, a title and units.

Here is an example of the reduce_switch output for a Mars pointing observation:

O10  <NDF>

   DATA_ARRAY(37,32)  <_REAL>     -0.003304771,0.0002364833,0.00320935,
                                  ... 0.0003040197,0.001364953,-0.007496601
   MORE           <EXT>           {structure}
      FIGARO         <FIGARO_EXT>    {structure}
         {structure is empty}

      SCUCD          <SCUCD_ST>      {structure}
         JIGL_X(16)     <_REAL>         5.3766,10.6914,10.6914,5.3766,0,
                                        ... -10.6914,-5.3766,0,5.3766,-5.3766
         JIGL_Y(16)     <_REAL>         -3.09,0,6.18,9.27,12.36,9.27,6.18,
                                        ... 6.18,0,-3.09,-6.18,-9.27,-9.27
         DEC1           <_REAL>         0
         DEC2           <_REAL>         0
         LST_STRT(2,1,2,1)  <_DOUBLE>   3.9425429572598,3.9440140603798,
                                        3.9469952223685,3.9454089275179
         RA1            <_REAL>         0
         RA2            <_REAL>         0

      SCUBA          <SCUBA_ST>      {structure}
         BOL_CALB(16,9)  <_REAL>        1.286,0.9311,0.9499,1.002,0.9585,
                                        ... 1.054,1.065,1.045,1,1,1,1,1,1,0
         BOL_DU3(16,9)  <_REAL>         57.08,45.9,36.15,24.64,14.55,3.62,
                                        ... -15.78,9.047,-54.65,0,0,0,0,0,0
         BOL_DU4(16,9)  <_REAL>         -28.14,-35.91,-41.46,-49.62,
                                        ... 63.89,77.76,71.16,0,0,0,0,0,0
         BOL_QUAL(16,9)  <_INTEGER>     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                        ... 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1
         BOL_TYPE(16,9)  <_CHAR*20>     'SHORT','SHORT','SHORT','SHORT',
                                        ... 'P...','P1350_DC','P1100_DC','BAD'
         BOL_ADC(37)    <_INTEGER>      7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,
                                        ... 8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9
         BOL_CHAN(37)   <_INTEGER>      1,2,3,4,7,8,9,10,11,13,14,15,16,1,
                                        ... 12,13,14,15,16,1,2,3,4,5,6,7,8,9
         FLAT_ADC       <_INTEGER>      0
         FLAT_CHN       <_INTEGER>      0
         FLAT_IND       <_INTEGER>      0
         PHOT_BB        <_INTEGER>      0
         ISTART         <_INTEGER>      0
         NPIX           <_INTEGER>      0
         POINTER        <_INTEGER>      0
         DEM_PNTR(1,2,1)  <_INTEGER>    1,17

      FITS(171)      <_CHAR*80>      'ACCEPT  = 'PROMPT  '           / ac...'
                                     ... 'WAVE_5  =                 ...','END'
      REDS           <SURF_EXTENSION>   {structure}
         BEAM_WT(3)     <_REAL>         0,1,0

   HISTORY        <HISTORY>       {structure}
      CREATED        <_CHAR*24>      '1999-AUG-11 17:04:57.000'
      CURRENT_RECORD  <_INTEGER>     1
      RECORDS(10)    <HIST_REC>      {array of structures}

      Contents of RECORDS(1)
         DATE           <_CHAR*24>      '1999-AUG-11 17:04:57.000'
         COMMAND        <_CHAR*29>      'REDUCE_SWITCH   (SURF V1.4-3)'
         USER           <_CHAR*4>       'timj'
         HOST           <_CHAR*6>       'lapaki'
         DATASET        <_CHAR*33>      '/local/jcmt/scratch/timj/orac/o10'
         TEXT(3)        <_CHAR*72>      'Parameters: IN=@10 MSG_FILTER='N...'
                                        ... 'Software: /star/bin/surf/redu...'

   QUALITY        <QUALITY>       {structure}
      QUALITY(37,32)  <_UBYTE>       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                     ... 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
      BADBITS        <_UBYTE>        7

   VARIANCE(37,32)  <_REAL>       1.0950339E-6,7.1230471E-7,6.6492021E-7,
                                  ... 4.2760187E-9,7.4043317E-5,4.8094225E-6
   AXIS(2)        <AXIS>          {array of structures}

   Contents of AXIS(1)
      DATA_ARRAY(37)  <_REAL>        1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
                                     ... 26,27,28,29,30,31,32,33,34,35,36,37
      LABEL          <_CHAR*9>       'Bolometer'

   LABEL          <_CHAR*8>       'Raw data'
   TITLE          <_CHAR*30>      'mars'
   UNITS          <_CHAR*5>       'Volts'

End of Trace.

The data arrays are now 2 dimensional, corresponding to the bolometer number and time axis. The axis information is written so that the integration number is reflected on the Y axis. Additionally, a new extension, REDS, is created to hold the relative beam weights; for maps these are always set to 0,1,0.

A photometry observation is slightly different from a map observation in that the output data array is now 3 dimensional rather than 2:

O107  <NDF>

   MORE           <EXT>           {structure}
      FIGARO         <FIGARO_EXT>    {structure}
         {structure is empty}

      SCUCD          <SCUCD_ST>      {structure}
         JIGL_X(9)      <_REAL>         0,2,2,0,-2,-2,-2,0,2
         JIGL_Y(9)      <_REAL>         0,0,2,2,2,0,-2,-2,-2
         DEC1           <_REAL>         0
         DEC2           <_REAL>         0
         LST_STRT(2,1,8,1)  <_DOUBLE>   1.8834042737017,1.8844116777459,
                                        ... 1.8981978240679,1.8971856029149
         RA1            <_REAL>         0
         RA2            <_REAL>         0

      SCUBA          <SCUBA_ST>      {structure}
         BOL_CALB(16,9)  <_REAL>        1.286,0.9311,0.9499,1.002,0.9585,
                                        ... 1.054,1.065,1.045,1,1,1,1,1,1,0
         BOL_DU3(16,9)  <_REAL>         57.08,45.9,36.15,24.64,14.55,3.62,
                                        ... -15.78,9.047,-54.65,0,0,0,0,0,0
         BOL_DU4(16,9)  <_REAL>         -28.14,-35.91,-41.46,-49.62,
                                        ... 63.89,77.76,71.16,0,0,0,0,0,0
         BOL_QUAL(16,9)  <_INTEGER>     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                        ... 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1
         BOL_TYPE(16,9)  <_CHAR*20>     'SHORT','SHORT','SHORT','SHORT',
                                        ... 'P...','P1350_DC','P1100_DC','BAD'
         BOL_ADC(130)   <_INTEGER>      1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
                                        ... 8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9
         BOL_CHAN(130)  <_INTEGER>      1,2,3,4,5,6,7,8,9,10,11,12,13,14,
                                        ... 12,13,14,15,16,1,2,3,4,5,6,7,8,9
         FLAT_ADC       <_INTEGER>      0
         FLAT_CHN       <_INTEGER>      0
         FLAT_IND       <_INTEGER>      0
         PHOT_BB(3,2)   <_INTEGER>      0,112,0,0,46,0
         ISTART         <_INTEGER>      0
         NPIX           <_INTEGER>      0
         POINTER        <_INTEGER>      0
         DEM_PNTR(1,8,1)  <_INTEGER>    1,10,19,28,37,46,55,64

      FITS(171)      <_CHAR*80>      'ACCEPT  = 'not used'           / ac...'
                                     ... 'WAVE_5  =                 ...','END'
      REDS           <SURF_EXTENSION>   {structure}
         BEAM_WT(3)     <_REAL>         0.5,1,0.5

   HISTORY        <HISTORY>       {structure}
      CREATED        <_CHAR*24>      '1999-AUG-11 17:08:24.000'
      CURRENT_RECORD  <_INTEGER>     1
      RECORDS(10)    <HIST_REC>      {array of structures}

      Contents of RECORDS(1)
         DATE           <_CHAR*24>      '1999-AUG-11 17:08:24.000'
         COMMAND        <_CHAR*29>      'REDUCE_SWITCH   (SURF V1.4-3)'
         USER           <_CHAR*4>       'timj'
         HOST           <_CHAR*6>       'lapaki'
         DATASET        <_CHAR*34>      '/local/jcmt/scratch/timj/orac/o107'
         TEXT(3)        <_CHAR*72>      'Parameters: IN=@107 MSG_FILTER='...'
                                        ... 'Software: /star/bin/surf/redu...'

   DATA_ARRAY(130,72,3)  <_REAL>   -0.0002527004,-0.0006291242,
                                   ... 1.1537035E-5,0.001769435,0.001728294
   QUALITY        <QUALITY>       {structure}
      QUALITY(130,72,3)  <_UBYTE>    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                     ... 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
      BADBITS        <_UBYTE>        7

   VARIANCE(130,72,3)  <_REAL>    3.6919182E-6,3.6207405E-6,4.2371025E-6,
                                  ... 1.3244949E-8,0.0002660675,2.1535034E-5
   AXIS(3)        <AXIS>          {array of structures}

   Contents of AXIS(1)
      DATA_ARRAY(130)  <_REAL>       1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
                                     ... 122,123,124,125,126,127,128,129,130
      LABEL          <_CHAR*9>       'Bolometer'

   LABEL          <_CHAR*8>       'Raw data'
   TITLE          <_CHAR*30>      'hltau'
   UNITS          <_CHAR*5>       'Volts'

End of Trace.

The 3rd dimension corresponds to beam position. In most cases only beam 2 is used (the middle beam) but for two or three bolometer chopping the 1st and 3rd beams will be accessed. In general, the 1st and 3rd beams are simply scaled versions of the middle beam; the relative weighting of the beams is stored in the newly created BEAM_WT array in the REDS extension. In the above example, the middle beam is -0.5 times the left or right beams.



next up previous 623
Next: Extensions
Up: SURF File Format
Previous: Raw data format

SURF Programming Interface
Starlink System Note 72
Tim Jenness, John F. Lightfoot
Joint Astronomy Centre, Hilo, Hawaii
10 July 2000
E-mail:ussc@star.rl.ac.uk

Copyright © 2008 Science and Technology Facilities Council