@map_gpd_csf       (.mopsic is default extension)
 
   Pipeline for reduction of OTF maps.
   Very general 3-level cascade CSF applied (Correlated Signal Filter, i.e.
   the filtering of the sky noise; cascade = uses the results from the
   previous level).
   Alternatively to the 3-level CSF a source model can be supplied as a single-
   beam or a double-beam map. For the latter case a special model for each map
   would be used analogous to the automatically calculated db-source model,
   which is stored in the backup buffer (command store) within this pipeline.
   Such model can be used directly within the CSF or (a better solution)
   subtracted before and add back after the CSF.
   Unfortunately, this method can't be controlled by a single variable,
   requires therefore significant custom changes of the pipeline.
 
   WARNING:
   the CRUTIAL condition for correct data processing of OTF double-beam maps
   is the
                   MAP SIZE along the SCANNING COORDINATE
 
   If the MAP SIZE is smaller than
 
     source_size_above_the_noise + beam_separation + base_range + array_size
 
     (base_range = MAX(3*HPBW,0.5*source_size_above_the_noise),
      array_size ~ 245" for MAMBO2)
 
   the source structure CAN NOT BE PROPERLY recovered !
 
  In such case ALL basic reduction steps (base line corrections, CSF, EKH)
  will create or remove emission !
 
  NOTES:
   All variables affecting the data reduction are defined and set in
   map_defs.mopsic.
   You can modify them there or (the suggested method) create a custom
   reduction script (i.e. a clone of map_gpd_csf.mopsic) and overwrite them in
   this script (as e.g. in map_gpd_csf0.mopsic, map_gpd_csfdsrmx.mopsic,
   map_gpd_csfrmn_saa.mopsic, map_gpd_ncsf.mopsic).
 
  1) the source model as a single-beam map is defined via sbsource
  2) the cut off levels for spikes of +-# rms:
     - can still remove the peaks of stronger sources
     - disable the removal of weaker spikes
  3) the source calculation is disabled within the first and the second cascade
     of the CSF in order to calculate the compact sources (i.e. smaller than
     the array_size) with the highest possible S/N and subtract them before
     the CSF; this allows to optimize the parameters for calculation of more
     extended sources, i.e. > 3*HPBW, in the 3rd cascade of the CSF;
     the optimal results can be obtained only if a polygon around the source
     is defined (meq=yes, pol_meq and proj_meq defined);
     Also important for extracting of compact sources for the cascade CSF
     (i.e. csflevel=2 & 3):
     [mask] within -#level   or   within #level_neg #level_pos
     which masks the pixels with signal within the given intensity range =>
     leaves the db-source outside the given range
  4) for very extended and weak sources (i.e. no db-source visible after first
     CSF cascade) it might be better to use either csflevel=0 (i.e. no cascade
     CSF and the source calculation optimized for extended sources) or a
     source model (weaksou=yes and define sbsource);
  5) for weak compact sources use csflevel=1 & SAA (i.e. shiftandadd, the final
     reduction requires a model & SAA)
   See also the remarks given in the help for CSF (? csf).
 
   Source model for double-beam data within the CSF:
   source your_model.fits sb   if it is a double-beam distribution
   source your_model.fits db   if it is a single-beam distribution
   (other formats are also accepted, e.g. GDF)
 
   Subtracting and adding the signals calculated using the model outside
   the CSF:
   define sbsource
   -(+) horizontal_data your_model.fits     if it is a double-beam distribution
   -(+) db_data your_model.fits             if it is a single-beam distribution
   (double-beam data are ALWAYS calculated in horizontal system)
 
   To optimize, choose the appropriate:
   < #low [rms]
   > #hig [rms]
   [base range ...]
   base in time #
   [base in subscans #]  ! base lines row-by-row in the maps require base
                            range !
                            might be very dangerous !
   within #level_neg #level_pos
   mask spikes #level [mode 4]
 
   within the CSF:
             < #low_csf [rms][not_in_data] > #high_csf [rms][not_in_data]
             range #min #max
             best #
             if source calculation disabled ALWAYS:
                cn median
             when source calculation not disabled:
                cn average or cn median ?