## On–The–Fly observation

In CLASS77, an OTF scan is stored as a header and a 2 dimensional array containing the intensities of dumped spectra as a function of time plus a given number of columns (named DAPS for Data Associated Parameters) containing header parameters whose values vary during the scan (e.g. the position on the sky, date from beginning of scan). Therefore, all the dumped spectra share the same header in CLASS77.

In CLASS90, each dumped spectra of an OTF scan is stored as a pointed observation with its own header and data. The concept of scan is kept, as all dumped spectra inside an OTF scan share the same scan number. They are tagged by a subscan number whose value is incremented for each new OTF line (both to enable easy selection of a single line inside one OTF scan, and to ensure consistency with the 30m numbering). The dumped spectra are also tagged by a unique observation number. This new OTF data format has several advantages:

- It considerably simplifies the source code, as operations on OTF scan are not a special case anymore. While some operations need the information that a dumped spectra is part of an OTF scan, OTF scans may be seen as a collection of independent spectra for many basic operations.
- The granularity of operations is much finer. For instance, access and work on any dumped spectra is now obvious. Moreover, it is obvious in this framework to store the windows used for baseline fitting for every dumped spectra.
- The scan/subscan organization can be generalized to other kind of observation (rasters, cross scans, ...)

Figure: File conversion tool to convert from CLASS77 to CLASS90 data format. The action of this widget is equivalent to “go class-convert infilename outfilename” command at prompt level.

For backward compatibility, CLASS90 will be able to read the old OTF data format. Nevertheless, it will then stubbornly refuse to do anything else with it than to rewrite the data in the new OTF data format. This is easily done with the following commands:

              LAS90> file in  12co21-oldfmt.30m
              LAS90> file out 12co21-newfmt.30m new
              LAS90> set line 12co(2-1)
              LAS90> find
              LAS90> for ientry 1 to found
              LAS90>    get n
              LAS90>    write
              LAS90> next

For the user's convenience, CLASS90 proposes a widget that implements this conversion with several additional safeguards (as avoiding to convert again data already written in new format). Fig. shows this widget available in the main CLASS90 menu. This widget is just a front-end to a procedure launched by the “go class-convert infilename outfilename” command. This procedure can be used in scripts to automate conversion.

Since the advent of the New Control System (NCS) of the 30m in fall 2005, the reading of raw data and the chopper calibration is done by MIRA (developed by H. Wiesemeyer) which directly writes data in the CLASS90 format. For data acquired previously (with the Old Control System), the conversion step is mandatory. Indeed, the reading of raw data format and the chopper calibration were done by OTFCAL (maintained by A. Sievers), which still writes OTF scans using the CLASS77 data format.