% README File FOR AIPS Release 15JAN94 % This File describes the patches to known bugs in 15JAN94 Tasks and other things for which patches have been made: =============================================================================== Task: POPSGN Summary: POPSGN will only work on certain architectures (notably Solaris 2.x) if you specify the following as its inputs: 0 POPSDAT TST The installation summary and porting reference both have "NEW" in place of the "TST" above. Files: None to copy. Fix: If POPSGN fails with NEW, re-run it with TST. Documentor: Patrick P. Murphy Date: 1994.02.28 ------------------------------------------------------------------------ Task: FILLM Summary: FILLM reads to the end-of-information on the input tape. It took the EOI to be signaled by a double end-of-file and did not test for, or use, the EOI error code. Sun OS 4.1.2 apparently does return that code on 9-track tapes, thereby causing FILLM to go into an infinite loop of warning messages. Corrected the data reading to use both end-of-file and end-of-information error codes. Files: /15JAN94/APL/PGM/NOTST/FILLM.FOR Fix: (1) Get the file and place it in $APGNOT. (2) Relink it with COMLNK $APGNOT/FILLM Documentor: Eric W. Greisen Date: 1994.02.28 See also: 1994.05.25 entry ------------------------------------------------------------------------ Task: $APLGEN/ZOINTD.C Summary: This version of ZOINTD fails to compile using the non-ansi C compiler available under SunOS 4.x. If you don't use "acc" as your C compiler in CCOPTS.SH, you should add a single line "#include " at the top of this file. Alternatively, get the patched version from here. Files: /15JAN94/APL/DEV/ZOINTD.C Fix: (1) either edit the file, or get the replacement ->$APLGEN. (2) Compile with COMRPL $APLGEN/ZOINTD (3) Link OOP tasks (these will have failed in INSTEP4): COMLNK $QPGOOP/*.FOR $APGOOP/*.FOR Documentor: Patrick P. Murphy, as advised by Martin Shepherd at Caltech. Date: 1994.03.10 ------------------------------------------------------------------------ Task: PRTTP Summary: This is more an enhancement to make PRTTP more flexible and useful than a bug fix. Changed TAPIO to check for end-of-file on read completions when doing ADVF and BAKF. If an EOF occurrs, then do no ADVF or 2 BAKFs, rather than always doing 1 ADVF or BAKF. Changed PRTTP help to offer 2 new adverbs: BCOUNT to let the user specify the file number when NFILES > 10000 (i.e. start where the tape now is) and DOEOT to specify how many consecutive null files are allowed before the program quits. Changed PRTTP to use these options, to force all error messages to the printer file, to try to continue running on most errors (such as premature EOF), to do something useful with unrecognized formats (i.e. list the record lengths), to apply more tests before assuming the format is an "IBM map", and to avoid an abort on an empty table. Files: /15JAN94/APL/SUB/TAPIO.FOR /15JAN94/APL/PGM/PRTTP.FOR /15JAN94/HELP/PRTTP.HLP Fix: (1) Fetch the 3 files, putting them in $APLSUB, $APLPGM, and $HLPFIL, respectively. (2) Compile the subroutine with COMRPL $APLSUB/TAPIO (3) Link the task with COMLNK $APLPGM/PRTTP Documentor: Eric W. Greisen Date: 1994.03.10 ------------------------------------------------------------------------ Tasks: All printing or plotting tasks (IBM/AIX only) Summary: They don't work correctly under AIX on IBM RS/6000 systems. One unpleasant side effect of this is that the temporary files never get deleted from /tmp. If you do a lot of plotting, this can be disastrous. Files: /15JAN94/APL/DEV/UNIX/ZLASC2.C /15JAN94/APL/DEV/UNIX/ZLPCL2.C Fix: (1) Get the files, put them in $APLUNIX. (2) Compile with COMRPL $APLUNIX/ZLASC2.C $APLUNIX/ZLPCL2.C (3) Link any task that uses the printer. There are a lot of these. AIPS and LWPLA are the most important. There is a shell script here called ZLREDO that will take care of most of the tasks; let us know if we forgot any. Be sure to "chmod +x ZLREDO" before running it. Documentor: Patrick P. Murphy Date: 1994.03.11 ------------------------------------------------------------------------ Task: SPLIT Summary: There were two bugs lurking in SPLIT that could trap the unwary. (1) When IF and/or channel selection is performed the reference frequency in the catalogue header is updated and the uvw's are scaled on output. However the frequency in the AN table was not changed. This could cause problems further downstream if position offsets were inserted using UVFIX, because UVFIX used the AN table frequency during the shifting process. SPLIT has been fixed so that output AN freq and ref freq are the same for AN table 1. (2) When DOPOL = 1 in SPLIT the polarization corrections are applied, however the feed corrections are written to the output AN table during the SPLITing process, thus if DOPOL is left as true in subsequent tasks the feed corrections can be applied twice. SPLIT now resets the polarization corrections in the output AN table. Files: /15JAN94/APL/PGM/NOTST/SPLIT.FOR Fix: (1) Get the file and put it in $APGNOT (2) Compile and link with COMLNK $APGNOT/SPLIT.FOR Documentor: Phil Diamond Date: 1994.03.11 ------------------------------------------------------------------------ Task: All tasks that create files. Summary: They can't if free space exceeds 2 Gigabytes. There is no problem if none of your filesystems (at least the ones on which you store AIPS data) is this big. This will affect Sun (not Solaris 2+), Dec Alpha, Dec Ultrix, Alliant, Convex, and SGI systems. Files: /15JAN94/APL/DEV/UNIX/BELL/SGI/ZCREA2.C /15JAN94/APL/DEV/UNIX/BERK/ZCREA2.C /15JAN94/APL/DEV/UNIX/BERK/DEC/ZCREA2.C /15JAN94/APL/DEV/UNIX/BERK/DEC/ULTRIX/ZCREA2.C Fix: (1) Get the relevant files, put in the above directories. (2) Compile with COMRPL $APLGEN/ZCREA2 (3) Link just about all tasks. The simplest way to do this is to re-do INSTEP4. This can be done by moving to the installation area $AIPS_VERSION/$ARCH/INSTALL, removing the old *.LIS files, and typing INSTEP4. It will take a long time. Documentor: Patrick P. Murphy Date: 1994.03.16 ------------------------------------------------------------------------ Task: TVRGB and TVHUI Summary: The image enhancement functions in these two tasks were not coded correctly. As a result, the enhancements were both insensitive to the cursor position and, partially, opposite in sense from TRTRANSF. Also corrected and enhanced were the tests for image alignement. TVRGB (but not TVHUI) was changed to allow pixels to be visible even if one or two of the images are blanked at those pixels. Files: /15JAN94/Y/PGM/TVHUI.FOR /15JAN94/Y/PGM/TVRGB.FOR Fix: (1) Get the 2 files and put them in $YPGM. (2) Compile them with COMLNK $YPGM/TVRGB $YPGM/TVHUI Documentor: Eric W. Greisen Date: 1994.03.27 ------------------------------------------------------------------------ Task: KNTR Summary: Task failed to use all the input parameters and confused the coordinates so that it did not do LTYPEs other than 3 (the default) correctly. Files: /15JAN94/Y/PGM/NOTST/KNTR.FOR Fix: (1) Get the file and put it in $YPGNOT. (2) Compile it with COMLNK $YPGNOT/KNTR Documentor: Eric W. Greisen Date: 1994.03.30 ------------------------------------------------------------------------ Task: FRING Summary: There was an inconsistency in some of the buffer sizes that occasionally caused some problems. Also, under some circumstances FRING would report too large a SOLINT and tell the user to use 0.0 instead. Both of these problems have been resolved. Files: /15JAN94/Q/PGM/NOTST/FRING.FOR Fix: (1) Get the file and put it in $QPGNOT. (2) Compile it with COMLNK $QPGNOT/FRING Documentor: Phil Diamond Date: 1994.03.30 ------------------------------------------------------------------------ Task: FFT Summary: FFT did not work correctly on rectangular images. Files: /15JAN94/Q/PGM/NOTST/FFT.FOR Fix: (1) Get the file and put it in $QPGNOT. (2) Compile it with COMLNK $QPGNOT/FFT Documentor: Eric W. Greisen Date: 1994.03.31 ------------------------------------------------------------------------ Task: All tape tasks including AIPS (for DEC and DEC Alpha systems only) Summary: Replaced by 05.10 entry below Documentor: Eric W. Greisen Date: 1994.04.11 ------------------------------------------------------------------------ Task: IMERG Summary: IMERG was not working properly; user would get errors about invalid byte requests. Files: /15JAN94/Q/PGM/NOTST/IMERG.FOR Fix: (1) Get the file and put it in $QPGNOT (2) Compile it with COMLNK $QPGNOT/IMERG.FOR Documentor: David Adler Date: 1994.04.15 ------------------------------------------------------------------------ Task: PRTSD Summary: There was an error in selected the first spectral channel - it was offset twice. A number of minor formatting problems were also corrected. Files: /15JAN94/APL/PGM/NOTST/PRTSD.FOR Fix: (1) Fetch the file putting it in $APGNOT (2) Compile it with COMLNK $APGNOT/PRTSD Documentor: Eric W. Greisen Date: 1994.04.15 ------------------------------------------------------------------------ Task: MX Summary: Nasty bug: the wrong data were used when imaging by averaging IFs (and perhaps channels within each IF) into a spectral cube. The first plane of the output cube was done correctly, all others incorrectly, except perhaps the one including only the last spectral channel of each IF. Fortunately, this is not likely to have been a common imaging mode. If IFs can be averaged, there is little need to preserve the individual spectral channels. Also changed the number of output channels so that every output channel contains the same number of averaged input channels. Before, MX allowed the number of channels to fall off, effectively making the output frequency axis non-linear. Also corrected an error in which CHINC was set to 1 when all channels were averaged. This led to incorrect reference pixel values; CHINC should be = number of channels averaged. Files: /15JAN94/QY/PGM/NOTST/MX.FOR Fix: (1) Fetch the file putting it in $QYPGNOT (2) Compile it with COMLNK $QYPGNOT/MX Documentor: Eric W. Greisen Date: 1994.04.21 ------------------------------------------------------------------------ Task: ANCAL Summary: Now that AIPS can deal with multi_IF VLBI data routinely, a lot of users are using ANCAL on 14 or 16 IF databases. An annoying limitation with this was that users were limited to 80 characters in the text file that held the Tsys information. I have increased this limit to 200 characters. This means that even MkIII Mode A (28 IF) calibration files can be read in. Files: /15JAN94/APL/SUB/NOTST/KEYIN.FOR Fix: (1) Fetch the file, putting it in $APLNOT (2) Compile the subroutine with COMRPL $APLNOT/KEYIN (3) Recompile and link ANCAL with COMLNK $APGNOT/ANCAL Documentor: Phil Diamond Date: 1994.04.25 ------------------------------------------------------------------------ Task: All 15JAN94/AIPS/PGM/NOTST tasks on HP-UX systems Summary: APLSUB, APLHP libraries need linked an additional time. Because of this, few if any of the tasks in $AIPNOT will link successfully in either INSTEP3 or INSTEP4. Files: /15JAN94/HP/SYSTEM/LIBR.DAT Fix: (1) Fetch the file, put it in BOTH $SYSHP AND $SYSLOCAL (2) Relink relevant tasks with COMLNK $AIPNOT/*.FOR Documentor: Patrick P. Murphy Date: 1994.04.29 ------------------------------------------------------------------------ Task: FRING Summary: Fixed a long-standing bug. When users asked for the default search windows (Nyquist) quite often the values of residual delay and rate produced by FRING were obviously incorrect. What appeared to be happening was that the FFT solution was picking up an alias and the lsq routines zeroed in on that alias. At the start of FRNSRC, the routine that does the FFT solution, there is some code to determine the number of delay and rate channels to search. This code then ensures that the specified number of channels is always odd. However, immediately after, this number can be adjusted to ensure that the AP size is big enough for the specified search. In this adjustment the number of delay and/or rate channels can become even again, this caused the aliasing later on. Fixed by ensuring that only odd numbers of channels are used in QSEARC. Files: /15JAN94/Q/PGM/NOTST/FRING.FOR Fix: (1) Get the file and put it in $QPGNOT. (2) Compile it with COMLNK $QPGNOT/FRING Documentor: Phil Diamond Date: 1994.04.29 ------------------------------------------------------------------------- Task: ANCAL Summary: An indexing error causes the INDEX keyword to be ignored completely in Tsys groups. The code that processes Tsys or Tant entries also contains a loop that iterates over the number of IFs and polarizations expected rather than the number of columns listed in the index and writes outside the bounds of an array if the INDEX keyword has arguments including the 'X' (ignore column) code. Some information about the Tsys group in the explain file is misleading. Files: /15JAN94/APL/PGM/NOTST/ANCAL.FOR /15JAN94/HELP/ANCAL.HLP Fix: (1) Obtain the .FOR file and install it in $APGNOT (2) Obtain the .HLP file and install it in $HLPFIL (3) Recompile the program with COMLNK $APGNOT/ANCAL Documentor: Chris Flatters Date: 1994.05.09 ------------------------------------------------------------------------ Task: FRING Summary: There was, and has been since the 15APR92 version of AIPS, a problem with the least-squares solution inside FRING. When users specify very narrow search windows a penalty term (used to keep the LSQ solution from wandering) dominated over the Chi-squared and resulted in the LSQ solutions being biased towards zero. This would cause errors in residual delay and rate. The rate errors had little significance, but the delay errors (which ranged from 10 - 100 nanosec) caused non-closing amplitude errors. In most cases these errors would be < 1%, but with 100 nsec errors they could be ~3.5%. This resulted in much lower dynamic range images. If the user had used the default Nyquist windows their data would not have been affected to any significant level. Files: /15JAN94/Q/PGM/NOTST/FRING.FOR Fix: (1) Get the file and put it in $QPGNOT. (2) Compile it with COMLNK $QPGNOT/FRING Documentor: Phil Diamond Date: 1994.05.09 ------------------------------------------------------------------------- Task: All tape tasks including AIPS (for DEC and DEC Alpha systems only) Summary: Subroutines ZTAP2 and ZTPWA2 did not recognize end of information which DEC sends as errno = 28. Also add additional code to detect beginning of tape, to report the type of tape more accurately, and to skip to EOD faster. Files: /15JAN94/APL/DEV/UNIX/BERK/DEC/ZTAP2.C /15JAN94/APL/DEV/UNIX/BERK/DEC/ZTPWA2.C /15JAN94/APL/DEV/UNIX/BERK/DEC/ZMOUN2.C /15JAN94/APL/DEV/UNIX/BERK/DEC/ULTRIX/ZTAP2.C /15JAN94/APL/DEV/UNIX/BERK/DEC/ULTRIX/ZMOUN2.C Fix: For DEC systems ONLY: (1) Copy the 3 files to $APLDEC and 2 to $APLULTRX (2) Compile them with COMRPL $APLDEC/ZTAP2 $APLDEC/ZTPWA2 $APLDEC/ZMOUN2 (3) Link them in with COMLNK $AIPPGM/AIPS COMLNK $AIPNOT/TPMON $AIPNOT/GRITP $AIPNOT/GR2TEX COMLNK $APLPGM/PRTTP $APLPGM/AVTP $APLPGM/TCOPY COMLNK $APGNOT/BAKLD $APGNOT/BAKTP $APGNOT/FILLM COMLNK $APGNOT/FILLR $APGNOT/FITLD $APGNOT/FITTP COMLNK $APGNOT/GSCAT $APGNOT/IMLOD $APGNOT/MK3IN COMLNK $APGNOT/MK3TX $APGNOT/UVLOD Documentor: Eric W. Greisen Date: 1994.04.11, replaced 1994.05.10 ------------------------------------------------------------------------ Task: FILLM and PRTTP (DEC, Linux, little-endian systems only) Summary: FILLM had a wrong use of an INTEGER buffer where a DOUBLE PRECISION buffer was required. This led to large numbers of complaints about addressing on wrong boundaries. In addition, the routines that translate ModComp floating numbers into local did not do all of the word-order swapping that is needed. These are used by PRTTP as well as FILLM. Files: /15JAN94/APL/PGM/NOTST/FILLM.FOR /15JAN94/APL/DEV/UNIX/ZDM2DL.C /15JAN94/APL/DEV/UNIX/ZRM2RL.C Fix: (1) Get the FILLM file and place it in $APGNOT. (2) Get the C files and place them in $APLUNIX. (3) Recompile the C routines with COMRPL $APLUNIX/ZDM2DL $APLUNIX/ZRM2RL (4) Relink the tasks with COMLNK $APGNOT/FILLM $APLPGM/PRTTP Documentor: Eric W. Greisen Date: 1994.05.25 ------------------------------------------------------------------------ Task: All TV tasks on DEC Alpha and other byte-swapped machines Summary: ZSSSX2 had the bizarre assumption that all words to be byte-swapped appear initially to be positive. Files: /15JAN94/APL/DEV/UNIX/ZSSSX2.C Fix: (1) Copy the file placing it in $APLUNIX (2) Compile the routine with COMRPL $APLUNIX/ZSSSX2 (3) Rebuild the tasks with COMLNK $AIPPGM/*.FOR COMLNK $YPGM/*.FOR $YPGNOT/*.FOR COMLNK $QYPGM/*.FOR $QYPGNOT/*.FOR Documentor: Eric W. Greisen Date: 1994.09.30 ------------------------------------------------------------------------