############################################################################## # # # ATOVS and AVHRR Preprocessing Package (AAPP) # # Version 7.8 Release Notes # # 05 Dec 2014 # # # ############################################################################## 1. Package contents ------------------- The following files are contained in this update release (with file sizes in bytes): RELEASE_NOTE_AAPP_7_8.txt 10281 This release note AAPP_update_7_8.tgz 167196 source code This is an incremental update; users need to have downloaded and unpacked version 7.1 (the initial release of AAPP v7) and updates 7.2 to 7.7. Alternatively, a full version of 7.8 is also available on the AAPP ftp site. 2. Main Changes --------------- - A tool to convert all the AAPP l1c and l1d formats, and AVHRR l1b, to hdf5. - BUFR encoding for FY-3 MWRI (based on the existing MWTS, MWHS and IRAS tool). - Metop-A AMSU-A calibration update for channel 8 - Improve handling of historic data. Section 6 gives details on the hdf5 conversion tool. Section 7 gives a full list of changes from v7.7. 3. Installation --------------- To update an existing AAPP installation, the procedure is: a. Copy the tgz files to your AAPP top directory (i.e. the directory containing AAPP, metop-tools and iasi-tools) b. Unpack using the command tar -xvmzf AAPP_update_7_8.tgz or if your system does not support the "-z" option in tar, use gunzip -c AAPP_update_7_8.tgz | tar -xmf - c. Go to the AAPP_7 top directory and type make clean make The reason for the "make clean" is that that some array sizes have been increased in order to accommodate historic satellites. If you are not starting from an existing installation, the sequence is (i) unpack AAPP v7.1 and cd to the AAPP top directory, (ii) unpack the update releases 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8 (as in steps a-b above), (iii) run "configure" (see chapter 3.4 of the AAPP Installation Guide), (iv) run "make" and optionally "make install", (v) install MAIA data files if required. 4. License ---------- To use this software, users need to have registered for AAPP v7 with the NWP SAF (www.nwpsaf.org), and to have agreed to the terms of the license agreement. 5. Version control information ------------------------------ The source package (AAPP_update_7_8.tgz) corresponds to Subversion Revision 428 in the AAPP repository held at the Met Office. 6. Tool for converting AAPP formats to hdf5 ------------------------------------------- As usual, before calling any AAPP script it is recommended to first source the $AAPP_PREFIX/ATOVS_CONF file as described in Section 3.7 of the AAPP Installation Guide. The conversion tool is run as follows: convert_to_hdf5 [-c[0-9]] files where files is a list of AAPP-format files and -c[0-9] optionally invokes built-in gzip compression (0=none, 9=maximum, default 5). if -c is not specified then no compression is used. The output file name is generated with the same as the input file name, but with an additional '.h5' suffix. The instrument is automatically determined from the contents of the header record. The user can, if preferred, run the appropriate binary directly, e.g. ama1c_to_hdf5.exe, iasi1c_to_hdf5.exe, etc. 7. Detailed list of changes from v7.7 (r410) to v7.8 (r428) ----------------------------------------------------------- Key: M=Modified, A=Added, D=Deleted M AAPP/src/calibration/libamsuacl/amsua_clparams.dat Allow for drift in Metop-A AMSU-A channel 8 See http://www.nwpsaf.eu/forum/viewtopic.php?f=15&t=195 M AAPP/src/preproc/libatovpp/Makefile Install IASI_366.fdf (omitted from AAPP v7.7) M AAPP/src/preproc/libatovpp/map_mwts2_to_iras.F Refine the MWTS2 to IRAS mapping (was giving missing BTs in some spots). M AAPP/src/preproc/libatovpp/ppm2h.F For MSU to HIRS mapping, set mapped BT to missing if any of the source BTs are missing, same logic as ppa2h.F. Applicable to processing of historic data. M AAPP/src/preproc/bin/iasi_ev_readhdf5.c Remove compilation warning by including . M AAPP/include/inparms.h M AAPP/src/preproc/libatovin/fdf.dat Change MaxSats to 30 (was 15), same as satid.h, and add TIROS-N to NOAA-9. Requires re-build of libatovin, libaappbufr, libaapphdf5 and maia3/bin. M AAPP/src/tools/bin/aapp_decodebufr_1c.F Initialise hrs1c_scnlin, ama1c_scnlin, amb1c_scnlin to missing, to avoid trying to output an incomplete scan. M AAPP/src/preproc/libatov/Makefile A AAPP/src/preproc/libatov/iomwri1c.F A AAPP/include/mwrichandata.h M AAPP/src/tools/libaappbufr/Makefile M AAPP/src/tools/libaappbufr/aapp_put_1c.F A AAPP/src/tools/libaappbufr/aapp_put_1c_mwri.F Extend aapp_encodebufr_1c to BUFR encode MWRI level 1c M AAPP/src/tools/bin/aapp_encodebufr_1c.F M AAPP/src/tools/bin/aapp_encodebufr_1c.ksh A AAPP/src/tools/libaappbufr/aapp_put_1d_hirsm.F Extend aapp_encodebufr_1c to encode HIRS 1D in TOVS format (NOAA-14 and earlier). Use instrument name "HIRS1DM". M AAPP/src/tools/libaappbufr/aapp_put_1d_mwts2.F Set orbit number to missing if it exceeds 24 bits. M AAPP/src/tools/libaapphdf5/iras_sdr_read.c Correct the string comparisons (was not working with FY-3B IRAS) A AAPP/include/mwri1c.h A AAPP/include/mwri_sdr.h M AAPP/src/tools/bin/Makefile A AAPP/src/tools/bin/mwri_sdr.c A AAPP/src/tools/bin/mwri_sdr.ksh M AAPP/src/tools/libaapphdf5/Makefile A AAPP/src/tools/libaapphdf5/mwri_sdr.intf.c-F A AAPP/src/tools/libaapphdf5/mwri_sdr_out.F A AAPP/src/tools/libaapphdf5/mwri_sdr_read.c A AAPP/src/tools/libaapphdf5/mwri_channels.dat Tool to unpack MWRI hdf5 data. M AAPP/src/tools/bin/noaa_class_to_aapp.ksh M AAPP/src/tools/libf7nl1b/byteswap1b.F M AAPP/src/tools/bin/avhrr_gac_class_to_aapp_a-j.F M AAPP/src/tools/bin/avhrr_lac_class_to_aapp_a-j.F M AAPP/include/avh1b_gac_tovs.h M AAPP/include/avh1b_lac_tovs.h In the "noaa_class_to_aapp" script, check for presence of TOVS-era archive header and remove if present. In the AVHRR (TOVS-era) executables, compute the zenith/azimuth angles and satellite height, and unpack the telemetry data containing calibration-view counts. M AAPP/src/tools/libaappbufr/aapp_get_1c_hirs.F Set scanqual to zero if it is missing: allows use of ECMWF archived data in atovpp. A AAPP/include/avh1b_c.h A AAPP/include/avh1c_c.h A AAPP/include/ama1c_c.h A AAPP/include/amb1c_c.h A AAPP/include/hrs1c_c.h A AAPP/include/iasi1c_c.h A AAPP/include/iasipc_c.h M AAPP/src/tools/bin/Makefile A AAPP/src/tools/bin/convert_to_hdf5.ksh A AAPP/src/tools/bin/hrp1b_to_hdf5.c A AAPP/src/tools/bin/ama1c_to_hdf5.c A AAPP/src/tools/bin/amb1c_to_hdf5.c A AAPP/src/tools/bin/hrs1c_to_hdf5.c A AAPP/src/tools/bin/avh1c_to_hdf5.c A AAPP/src/tools/bin/iasi1c_to_hdf5.c A AAPP/src/tools/bin/iasipc_to_hdf5.c M AAPP/src/tools/libaapphdf5/Makefile M AAPP/src/tools/libaapphdf5/avh1b_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/hrp1b_read.c-F A AAPP/src/tools/libaapphdf5/hrp1b_read_f.F A AAPP/src/tools/libaapphdf5/hrp1b_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/ama1c_read.c-F A AAPP/src/tools/libaapphdf5/ama1c_read_f.F A AAPP/src/tools/libaapphdf5/ama1c_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/amb1c_read.c-F A AAPP/src/tools/libaapphdf5/amb1c_read_f.F A AAPP/src/tools/libaapphdf5/amb1c_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/avh1c_read.c-F A AAPP/src/tools/libaapphdf5/avh1c_read_f.F A AAPP/src/tools/libaapphdf5/avh1c_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/hrs1c_read.c-F A AAPP/src/tools/libaapphdf5/hrs1c_read_f.F A AAPP/src/tools/libaapphdf5/hrs1c_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/iasi1c_read.c-F A AAPP/src/tools/libaapphdf5/iasi1c_read_f.F A AAPP/src/tools/libaapphdf5/iasi1c_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/iasipc_read.c-F A AAPP/src/tools/libaapphdf5/iasipc_read_f.F A AAPP/src/tools/libaapphdf5/iasipc_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/add_hdf5_attributes.c l1b/l1c to hdf5 conversion tools. Top-level script is "convert_to_hdf5" A AAPP/include/ama1d_c.h A AAPP/include/amb1d_c.h A AAPP/include/hrs1d_c.h A AAPP/include/iasi1d_c.h A AAPP/src/tools/bin/ama1d_to_hdf5.c A AAPP/src/tools/bin/amb1d_to_hdf5.c A AAPP/src/tools/bin/hrs1d_to_hdf5.c A AAPP/src/tools/bin/iasi1d_to_hdf5.c A AAPP/src/tools/libaapphdf5/ama1d_read.c-F A AAPP/src/tools/libaapphdf5/ama1d_read_f.F A AAPP/src/tools/libaapphdf5/ama1d_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/amb1d_read.c-F A AAPP/src/tools/libaapphdf5/amb1d_read_f.F A AAPP/src/tools/libaapphdf5/amb1d_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/hrs1d_read.c-F A AAPP/src/tools/libaapphdf5/hrs1d_read_f.F A AAPP/src/tools/libaapphdf5/hrs1d_to_hdf5_write.c A AAPP/src/tools/libaapphdf5/iasi1d_read.c-F A AAPP/src/tools/libaapphdf5/iasi1d_read_f.F A AAPP/src/tools/libaapphdf5/iasi1d_to_hdf5_write.c l1d to hdf5 conversion tools. Use the top-level script "convert_to_hdf5". M AAPP/src/maia4/libmaia4/maia_VerifMissing_fields.F90 Bug fix : granules containing 47 scans were not properly processed M AAPP/src/calibration/libavhrcl/avh_qc.F Fix a problem in which AVHRR IR calibration can fail if there are scans at the start with missing PRT counts. M metop-tools/src/bin/amsua-main.c M metop-tools/src/libmetop_common/common-main.c Fix a problem in which AAPP processing fails if the input Metop L0 file has MDRs that are not in time order, or are duplicates. This can happen for some reception systems in the region of a data gap.