Legacy Output ============= GAC I/O module -------------- The I/O module generates three HDF5 files, one containing reflectances, brightness temperatures, and lat/lon information. The other output file contains solar and satellite zenith and azimuth angles. And the third file contains quality flags. The output file name format is: ``ECC_GAC_avhrr_satellitename_99999_yyyymmddThhmmsstZ_yyyymmddThhmmsstZ.h5`` and ``ECC_GAC_sunsatangles_satellitename_99999_yyyymmddThhmmsstZ_yyyymmddThhmmsstZ.h5`` and ``ECC_GAC_qualflags_satellitename_99999_yyyymmddThhmmsstZ_yyyymmddThhmmsstZ.h5`` where, ``ECC``: ESA CCI Clouds (This prefix can be changed/specified by the user) ``avhrr``: denoting that it contains reflectances and BTs ``sunsatangles``: denoting that it contains angles ``qualflags``: denoting that it contains quality flag information ``yyyymmddThhmmsstZ``: yy:year, mm:month, dd:day, hh:hour, mm:min, ss:sec, t:tenth of second (for the start and the end of the orbit). Letters ``T`` and ``Z`` are separators for time info. The value of ``99999`` is currently used instead of providing actual orbit number. Appendices A, B and C provide detailed format of these files, including variable names, scaling, etc. The start and end times in the header and in actual L1b data can be different for orbits. The mismatch can range from few milliseconds to days. It was decided to trust the time stamps in L1b data in Pygac. After reorganizing based on scanline numbers (see issue highlighted above), the time stamps from the first and the last scanlines are taken as start and end times. In some orbits, the latitude and longitude information contains corrupt values for a part/s of the orbit and these scanlines are not flagged in the corresponding scanline-by-scaline quality flags. Currently, Pygac uses only a simple if_else construct to constrain valid range. Further improvement could be done using extra- and interpolation techniques. For extremely warm and cold temperatures, the channel 3b is saturating producing irrelevant brightness temperatures. Such saturation is often not flagged in quality information. Pygac currently uses a simple if_else construct to constrain valid range of Bts (170.0K