@oo_csf       (.mopsic is default extension)
 
   Pipeline for reduction of on-off observations.
   CSF (Correlated Signal Filter, i.e. filtering out of the sky noise) applied.
 
   To reduce solar system object data ("body") set the variable body to yes
 
   The suggestions below are listed in the order as they are applied during
   the data reduction. The most important are those concerning the masking of
   subscans, the CSF and the "gate" within the oo-command.
   Variables affecting the data reduction are defined and set in oo_defs.mopsic
   (except the masking and the "gate").
   You can modify them there or (the suggested method) create a custom
   reduction script (i.e. a clone of oo_csf.mopsic) and overwrite them in this
   script (as e.g. in oo_csf_body.mopsic, oo_ncfs.mopsic, oo_cal_csf.mopsic).
 
   To optimize/check the reduction:
   - use let weaksou .true. (or yes) if the sources are weaker than ~50-100mJy;
     the option /mode not_oo is then used for base level corrections and
     for clipping the noise;
   - mask the bad subscans:
     by number in mask_subsc_nr (masksubsnr must be .true.) or
     by rms in mask_subsc_rms (masksubsrms must be .true.)
   - increase the base level corrections:
     let btorder #
     # is the desired order of the polynomial fit;
     0 <#< 3 probably the best (depends on the number of subscans AND weather
     conditions !)
     IF THE CHANGE of the order has large influence on the results, the data
     have probably instability problems.
     The option /mode not_oo might give more stable fit for sources weaker than
     the rms in the CSF filtered data (~the final rms in the data).
   - try the reduction with lign-of-sight tau corrections:
     let uselostau .true.
   - vary the correlation range within the CSF:
     let usedefcsfr no
     let csfrmn #min
     let csfrmx #max
     only receivers within this range from the receiver to be processed will
     be used to estimate the sky noise
   - vary the number of "best" receivers within the CSF
     let csfbest #
     max. best receivers within the defined range will be used to estimate
     the sky noise; the minimum value of best is 2, but less than 6 should
     not be used
   - choose the algorithm to calculate the correlated signal (median or
     average):
     let csfcnav no       ! uses median to calculate the correlated signal
     let csfcnav yes      ! uses average to calculate the correlated signal
     average should give better results BUT in general should be used with
     a source model (see below);
     for sources weaker than
              (final rms in the data)/best
     might be used also without the model
   - create a source image, i.e. a gaussian with FWHM=HPBW and the peak flux=
     the oo-result at the (0,0) offset (e.g. with gsources); the projection
     centre must be that of the source; use it within the CSF as follows:
     instead disable source_calculation use source file_name_of_the_model
     DO NOT remove the option disable source_calculation NOT defining the
     source model - CSF would try to calculate the source, but this is not
     finished for on-offs
   - allow to calculate the FFC (Flat Field Corrections) within the CSF;
     this requires a different macro (oo_phffc_pdcsf.mopsic,
     oo_phflexffc_pdcsf.mopsic) and will work only if the data show sufficient
     sky noise
 
  Not controlled via variables:
 
  To exclude "spiky" on-offs use the argument gate flux within the oo-command
  in oo_oo.mopsic,
  e.g. oo ... gate flux -6 10
  i.e. only bolos with on-off results between -6 and 10 mJy/beam will be used.
 
  To exclude noisy scans use the argument gate rms within the oo-command
  in oo_oo.mopsic (data of the the ON-bolometer are used to check the rms),
  e.g. oo ... gate rms 25 70
  i.e. only scans with rms (of the ON-bolo data) between 25 and 70 mJy/beam
  will be used.
  Note that to low rms might indicate that the bolo is "dead", therefore the
  lower limit for the rms must not be too low !
 
  To get the average signal of different sources, e.g. all non-detections, set
  the variable aversources to yes. This will activate the following 3 commands
  in oo_oo.mopsic, i.e. overwrite the source coords
     set sys eq
     projection 1 2 3 4 5 6   ! projection as Hour Min Sec Deg Arcmin Arcsec
     set syst hor             ! put whatever is your preference
 
  Finally for experts:
   - check which bolometers should not be used during the reduction
     (i.e. deleted) and define your own .DRC file.
 
  To display the results:
  plot oo [options]
  plot oo has many options and arguments. Just plo oo shows (may be) too much
  (for the beginners). I'd suggest, use just
  plot oo plane 1
  or better
  plot oo plane 1 yr flux_mn flux_mx
  where the flux_mn flux_mx are the flux limits for the "result plot",
  i.e. the frame "cumulative ON-OFFs" in bottom left.
  The 4 plots of plane 1 show:
  - top left: "cumulative rms & ..." shows the rms as function of time in sec
    in a log-log representation
  - top right: "individual ON-OFFs" shows the on-off results of each "subscan"
    (if calculated with oo ... calc per subscan) or per "scan" (if calculated
    with oo ... calc per "scan"); "scan" is a whole observation, "subscan" is
    a part of it; the x-caption shows the calculation mode used; the oo cal-
    culation is within oo_oo.mopsic, controlled by some variables which can be
    set in oo_defs.mopsic (see the explanations there)
  - bottom right: "rms of data" shows the rms of each bolo (again per "scan"
    or per "subscan");
  - bottom left: "cumulative ON-OFFs" this is the RESULT you really want to
    use, i.e. the on-off results as function of integration time; you can
    display only this plot with plo oo plane 1 frame 3
  For all the plots:
  - the pipeline calibrates the flux densities in mJy/beam therefore in all
    plots the vertical scale is mJy/beam; beam size ~< 11asec.
  - red shows the on-bolo, blue the average of all others (solid line) and the
    rms of the 'values' of all others (dashed line); the 'value' is the value
    displayed in each plot.
  Above the plots are:
  - ON RC #, i.e. on Receiver Channel # (the # of bolometer "on source")
  - source name
  - #... the scan numbers
  - el ... the elevation range in deg at which observed
  - lostau ... the lign-of-sight tau values
  - result +- statistical_error <+- array_error>
  The statistical error is calculated using the rms and the time (how the rms
  values were used, depends on the chosen weighting). In general it is not the
  value to be used as the 1-sigma error of the observation as it does not
  include the information that the observation was performed with an array
  receiver. The second error, i.e. the one within <> is the more reliable
  error estimation. For a perfect system, those two (independent) error
  estimations should be practically equal.