AAPP Updates and Bugfixes

Updates and Bugfixes

This page documents known bugs (and fixes) for AAPP v7.x only. For a list of bugs and fixes for older versions of AAP, please see the archived page.

Questions for other users and developers can be posted on the AAPP Forum.

The reported bugs and problems do not always cause harm. Especially the portability problems depend on the hardware platform, compiler version, option settings used. It is generally not necessary to implement all such modifications into your system. It is recommended to follow just the instructions of the Installation Guide and to consult this list only in case of problems. Nevertheless, programming bugs and algorithm improvements should be implemented.

If a module requires more than one modification the modifications are listed from the end of the module to its start so that the line numbers remain valid when editing the module in the given sequence.

For convenience reasons, the character ~ has been used to refer to <your destination directory> where you installed AAPP into. Directory paths mentioned in the List of Known Bugs and Problems are not to be typed in as ~/AAPP/…, which the shell would interpret as ${HOME}/AAPP/…, but as <your destination directory>/AAPP/… .

List of Known Bugs and Problems of AAPP V7 (applicable to the current version)

  1. On some 64-bit systems the size of the default integer in Fortran is 8 bytes; AAPP requires 4 bytes. The behaviour can be different for different compilers. For example, a system has been reported in which g95 gives 8 byte integers but gfortran and gcc give 4-byte integers. gfortran is preferred in this case, but if you want to use g95 then we recommend the use of the “-i4” compiler flag – set this in Makefile.ARCH, and also use the flag if you are building the GMT example executables (which don’t use Makefile.ARCH).
  2. sdh2orbnum.exe is sensitive to spaces in the input date/time and gives wrong answers if you get it wrong. The solution is always to use the wrapper script sdh2orbnum.

List of Known Bugs and Problems of OPS-LRS (applicable to the current version)

  1. On some 64-bit systems the size of the default integer in Fortran is 8 bytes; OPS-LRS requires 4 bytes. This issue affects the C to Fortran calls in OPS-LRS and can cause run-time errors: the solution is to set the appropriate flag in ARCH_FFLAGS_BASE in Makefile.ARCH. If the build fails, try optimisation level 0 (work-around for a g95 compiler problem).
  2. The OPS-LRS script ops_process fails with perl_5.18 and later versions. The solution is either (i) use 5.16 or earlier (available from CPAN) or (ii) modify file run/OPS/perl/lib/IASI/OPS.pm: at line 113, add an extra set of brackets around the qw(), i.e. (qw( DIR_NAVIGATION DIR_IASICONFIG ))
  3. OPS-LRS v7.0+p12 fails on Ubuntu (12.04) with a buffer overflow in SD_FRW__ServeurDonnees. A workaround is to edit file src/CMN/src/CMN__OPSFile.cc, and insert the following after line 936 (i.e. before the sprintf statement):
    // bug fix P. Roquet P. Brunel fails on ubuntu 12.04 en gcc -O2
    m_edSoft = 0;
    m_revSoft = 0;
    Then re-build OPS-LRS.

List of Bugs and Problems found in earlier versions of AAPP V7

  1. Orbit numbers derived from TLEs from EUMETSAT are not always consistent with orbit numbers from NOAA TLEs. Fixed in update 7.2.
  2. Bad ATMS BTs (>330K) can be included in the spatial filtering process, corrupting the good BTs. Fixed in update 7.2.
  3. In v7.2, the scripts atovin and atovin_antcorr can fail if there is a file in the working directory whose name is a single character long, e.g. “a”, “b”, etc. To fix the problem, insert single quotes round the [a-z] and [A-Z] at line 48 of atovin.ksh (and line 52 of atovin_antcorr.ksh), i.e. ‘[a-z]’ ‘[A-Z]’. Fixed in update 7.3.
  4. In v7.3, the mwts_sdr and mwhs_sdr utilities fail for FY-3B. Fixed in update 7.4.
  5. For level 1c CrIS BUFR encode/decode, the scaling factors for surface height and satellite height are incorrect. Fixed in update 7.4. But note that the surface height is currently the ellipsoid-geoid separation, not the land surface height. This will be addressed at a later date.
  6. in v7.1-7.3, compilation of lec_previ_grib_api.F fails for g77, as the “trim” function is not supported. Fixed in 7.4.
  7. MAIA2.1 threshold files are not correctly extracted under Cygwin, since Windows does not permit use of the “:” character in a file name. Fixed in update 7.5.
  8. Metop-B AVHRR channel 4 and 5 radiance calibration is wrong, due to formatting error in avhcal.txt. Fixed in update 7.5.
  9. Metop-B AMSU-A channel 3, 4, 5 and 8 calibration differs from EUMETSAT calibration by ~0.1K. Fixed in update 7.5.
  10. When using tool noaa_class_to_aapp to ingest AVHRR data from satellites that were operating before the year 2000, the year is not decoded correctly. Fixed in 7.7.
  11. When decoding EUMETSAT’s global stream of BUFR data for AMSU-A, MHS and HIRS, the first scan after crossing the equator (northbound) does not get included in the output. See Forum posting for more details. Fixed in 7.7
  12. In v7.7, the iras_sdr tool for decoding FY-3 IRAS data works for FY-3C but not for FY-3B. The problem was related to string comparisons. Fixed in v7.8.
  13. The mapping of MWTS2 to IRAS (introduced in v7.7) needs optimising, e.g. the angle tolerances. Fixed in v7.8.
  14. atovin can report an array overflow error in AAPP v7.11 and 7.12, following the introduction of NEDT information. Please see Forum posting for details on how to correct inhhdr.F, inahdf.F, inbhdr.F, inmhshdr.F and inmhsget.F. Fixed in AAPP v7.13.