code: def avhrr(scans_nb, scan_points,
            scan_angle=55.37, frequency=1 / 6.0, apply_offset=True):
      
      # build the avhrr instrument (scan angles)
      avhrr_inst = np.vstack(((scan_points / 1023.5 - 1)
                              * np.deg2rad(-scan_angle),
                              np.zeros((len(scan_points),))))
  
      avhrr_inst = np.tile(
          avhrr_inst[:, np.newaxis, :], [1, np.int(scans_nb), 1])
  
      # building the corresponding times array
      # times = (np.tile(scan_points * 0.000025 + 0.0025415, [scans_nb, 1])
      #         + np.expand_dims(offset, 1))
  
      times = np.tile(scan_points * 0.000025, [np.int(scans_nb), 1])
      if apply_offset:
          offset = np.arange(np.int(scans_nb)) * frequency
          times += np.expand_dims(offset, 1)
  
      return ScanGeometry(avhrr_inst, times)
docs: Definition of the avhrr instrument.
  
      Source: NOAA KLM User's Guide, Appendix J
      http://www.ncdc.noaa.gov/oa/pod-guide/ncdc/docs/klm/html/j/app-j.htm