----------------------------------------------------------------------- ; Copyright (C) 1995 ; Associated Universities, Inc. Washington DC, USA. ; ; This program is free software; you can redistribute it and/or ; modify it under the terms of the GNU General Public License as ; published by the Free Software Foundation; either version 2 of ; the License, or (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public ; License along with this program; if not, write to the Free ; Software Foundation, Inc., 675 Massachusetts Ave, Cambridge, ; MA 02139, USA. ; ; Correspondence concerning AIPS should be addressed as follows: ; Internet email: aipsmail@nrao.edu. ; Postal address: AIPS Project Office ; National Radio Astronomy Observatory ; 520 Edgemont Road ; Charlottesville, VA 22903-2475 USA ----------------------------------------------------------------------- This file must be used to record any changes made to the code on the Charlottesville VAX in the logon area [AIPS]. The format to use is: line 1: Date Program name Your name line 2: What was done line 3: Where has this change been moved (e.g. 15JUL90) line 4: Blank The details of line 1 are important since programs are used to find specified strings and do conversions on them. It MUST be typed as follows: 1 blank, 4 digits, a period, two blanks, then the Month, day, comma, year, some space, a title, some more space, your name. Changes to 15OCT90 *********************************************************************** Changes while 15OCT90 was TST: *********************************************************************** *********************************************************************** 5895. March 16, 1990 FPARSE.FOR Bill C. Previous change caused this routine not to compile. Moved to 15JUL90 this date. 5896. March 19, 1990 MK3IN Bill C The source number written into the CL table was always the first source in the source list. Also added call a call to initialize the A tape header info when the end of a scan was reached. Put a trap into AT20XX to ignore a scan if the cross reference table overflowed. This should not happen under normal circumstances but bad (?) type 20?? records can cause this to happen. Moved to 15APR90 and 15JUL this date. 5897. March 19, 1990 Update stuff Bill C./ Dean File changes associated with quarterly update: - copied old CHANGE.DOC to AIPSPUBL:CHANGED.90B also copied HIST:CHANGED.90A to AIPSPUBL:CHANGED.90A. - Updated DOC:README. - Created new DOC:VMSNOTES.90B and UNIXNOTES.90B. Moved nowhere. 5898. March 19, 1990 GETHUT Bill C Added calls to SPFIL to make sure nulls were removed from TABLE info. This was causing FITTP to write nulls in tables headers. Moved to 15JUL90 and 15APR90 this date 5899. March 19, 1990 FITTP Bill C. Corrected indexing error reading history file. This was adding an extra 8 blanks after the "HISTORY" on the FITS history cards and cause then to occasionally run onto the next card. Moved to 15JUL90 and 15APR90 this date 5900. March 19, 1990 Generic ZLWOP and ZLWIO Kerry Switched to FORMAT'ed OPEN and WRITE. Also corrected call sequence to ZLASCL in ZLWIO. Moved to 15JUL90 this date. 5901. March 19, 1990 LWPLA Kerry Fixed buffering problem and errors introduced by changing from hollerith to CHARACTER constructs during the overhaul. Eliminated EOT character from the beginning of the output PostScript program which causes problems on some laser printers and does not seem to be necessary. Eliminated inappropriate H2CHR call and replaced it with simple CHARACTER substring assignment. Also switched character font from Courier to Helvetica-Bold. Tested CNTR and GREYS plots using the VLBA correlator group's QMS PS810 and at non-NRAO sites using Apple Laserwriter and NEC LC890 laser printers. Moved to 15JUL90 this date. 5902. March 19, 1990 ZLASCL.PS in SYSUNIX Kerry Created a special version of the ZLASCL script for use with PostScript laser printers that prefixes "%!PS-Adobe-" followed by "%%Creator:AIPS task LWPLA" to the LWPLA output. The first needs to appear at the beginning of the output ("%!... distinguishes PostScript programs from simple text) on a line by itself and this is not possible with the buffering scheme used in LWPLA. ZLASCL.PS should be substituted for ZLASCL at sites with PostScript engines. Some laser printers (e.g., NEC LC890) may also require that the LWPLA output be processed to limit the number of characters per line to, say 132 (e.g., using "fmt -s -132"). Moved to 15JUL90 this date. 5903. March 20, 1990 CHLTOU Kerry Corrected a 32-bit-ism by changing an integer constant "1" argument in a call to ZI32IL (starting position in units of 32-bit integers) to NP which is assigned NBITWD / 32. Otherwise, the routine fails on 64-bit platforms (e.g., Crays). Moved to 15JUL90 this date (also put on 15APR90 UNIX distribution tape). 5904. March 20, 1990 CATIO Kerry Eliminated a baroque EQUIVALENCE of variables used as opcodes that confused CRI's cft77 and substituted CHARACTER constants in CALLs. Moved to 15JUL90 this date (also put on 15APR90 UNIX distribution tape). 5905. March 20, 1990 MX Bill J. Averaging over channels was not handled correctly. This caused problems for 2-IF continuum databases written with ISIS UVFITS. (UVFITS writes 2 CHANNELS rather than 2 IFs.) Moved to 15JUL90 this date. 5906. March 21, 1990 TABBP, BPASET Phil When a single channel of a BP table was flagged, TABBP marked the whole spectrum as flagged - this was OK because BPASET did not know what to do if only one channel was flagged bad. They now both deal correctly with flagged channels. Moved nowhere yet. 5907. March 21, 1990 POSSM Phil Modified so that when plotting BP tables a flagged channel is not plotted. Also extended the option put in a few weeks ago to plot all IFs and channels on the same plot to work on BP tables. Moved nowhere yet. 5908. March 22, 1990 TVFLG, SPFLG Eric Rearranged the handling of the graphics to make it faster. Now uses channels 1 and 3 for interactive stuff and channel 2 of the graphics only for the menu. Dropped writing black backgrounds to the labeling. This should be faster and should cause less data to be hidden behind the menu. Moved from Oz. 5910. March 22, 1990 SSS Eric Created a new version. It uses 0-111 as the range of grey values and inserts a graphics overlay value when it is in the range 1-15. Value 127 is reserved for the cursor. The package is slightly faster in loading images and slower in displaying them (only when graphics are on). The increased dynamic range and graphics functionality are worth it. For TVFLG and SPFLG, the multiple graphics memories mean that the menu will not have to be computed and downloaded each time. This more than compensates for the slightly slower display. Corrected YSSS versions of YIMGIO (improperly masked and shifted graphics on read), YINIT (assumed only 1 graphics and turned it on), and YTVCIN (older values of parameters). Changed all the YSVU area C and H routines, based on Mark Calabretta's versions: HEADER.H - raised screen height by 33 pixels (dropping button panel), changed intensity range and number of graphics, added memory for graphics and for graphics color assignments, procs to read and write graphics memory, and functions to alter graphics colors. Fixed handling of y edge dimension, both Mark and I had wrong values there. COLMAP.C fixed tests on number of graphics planes, made choice of graphics on a bit mask, added Mark's routines to read and write the graphics channel color assignments, added routine to do exclusive OR of colors to get the full set of 15, changed insertion of graphics colors in LUT and method of sending to the hardware LUT unit. CURSOR.C removed old code which was commented out, reinstated older function name "event_id" which is needed by SUNs on older operating systems. IMGIO.C changed tests on channel numbers, changed how data written to, and read from, in-core memory for each channel, changed tests on when to update display. SCRWRT.C added test on graphics off to current "blit" code and added new section of code to insert graphics during the "blit" operation. Changed actual blit functions and various tests on channel number. SOCKET.C sent in Mark's code to use TVDEV logical rather than TVDEV1. The start-up proc needs to assign a TV into TVDEV for the user. SOCKXF.C sent in Mark's code to read and write colors of individual graphics planes. Did not provide the Y routines or verbs, however, to make this a reality. WINDOW.C sent in Mark's code dropping the top panel buttons which nobody uses. Added access to graphics memory and initialization of graphics colors, changed the form of the initial setting of the LUT. Moved from Oz. C routines installed 9 April 1990. 5911. March 22, 1990 TVPL Eric Changed it to scale and center in the TV window when possible. Also changed it to truncate grey-scale lines and character strings at the edges of the TV rather than generating serious error codes. Also made an attempt to keep it from writing one string over the previous one. Moved from Oz. 5912. March 22, 1990 XVSS Chris XView screen server. This is a port of the SunView screen server to the X Window System using the XView toolkit. The current version should be regarded as a beta test release and only functions with bsd sockets. Files added to the system (in area XTV) are: AIPS.ICON -- aips tv icon COLMAP.C -- colour map handling CURSOR.C -- cursor and buttons HEADER.H -- global definitions IMGIO.C -- image loading/readback MAKEFILE -- Unix makefile SOCKET.C -- miscellaneous socket operations SOCKXF.C -- socket I/O WINDOW.C -- set up windows & event handlers XVSS.C -- main program The current version works with versions of AIPS linked with the same set of Y-routines used by the Sun screen server (SSS). These routines have been moved to the new YSS area and the ZSSSxx routines have been moved from APLSUN to APLGEN (at some stage they will be renamed to something more appropriate). Moved from 15JUL90 this date 5913. March 27, 1990 BPASS Phil When solving for bandpasses on multiple IF data (MkIII VLBI) a frequency index was not being updated every IF loop. This caused the resultant BP entries to degrade as a function of IF. Moved to 15JUL90 this date. 5914. March 28, 1990 FILLM Gareth Corrected bug recently introduced in reading the parameters from an existing catalog entry (this is for the case when FILLM will try to append to an existing file). Corrected the error handling when a logical record is incomplete at the end of tape. Fixed the NX record count when closing a dataset. 5915. March 28, 1990 MX Glen Modified UVGRID to correctly handle averaging two (or more?) IFs Also added error checks in subroutines APWRIT and APFNSH Moved to 15JUL90 this date 5916. March 28, 1990 APLVMS:ZDCHI2,ZMI2 Glen VMS Asynchronous I/O requires Event Flags for determining when I/O is finished, but only 32 flags are "Unassociated?" New modifications to INC:ZDCH.INC caused more than 32 flags to be used. ZMI2 aborts on event flage outside the range 32 to 63. ZDCHI2 modified to assign only numbers 32 to 63 and ZMI2 to reassign numbers in FTAB if event outside 32 to 63 ever occur again. (ZMI2 code checks should not now be need, but are there just in case...) Moved to 15JUL90 this date 5917. March 28, 1990 APLSUB:FPARSE.FOR Bill J. The logic of the trap for bad HISTORY records was incorrect and was my fault. This caused errors in PRTTP when negative declinations were encountered. Moved to 15JUL90 this date. 5918. April 2, 1990 MK3IN Bill C. Fixed bug in AT20XX in which the cross index reference table was messed up. Also fixed a problem with the Fractional Bit Shift correction; It was apparently a factor of 2 too small and with the wrong sign although handeling of the FBS correcion in the correlators is confusing. Also added option (APARM(3)=1) to suppress the FBS correction altogether. Also MK3IN.HLP. Moved to 15JUL90 and 15APR90 this date. 5919. April 2, 1990 APLGEN:ZRHPRL.FOR Bill C. Corrected error in complimenting mantissa for negative numbers. This had the effect of causing negative FBS corrections on MK3IN to be too small. Moved to 15JUL90 and 15APR90 this date. 5920. April 3, 1990 APGNOT:PRTUV.FOR Bill J. Changed handling of OUTPRINT. If DOCRT = -1 and OUTPRINT is blank, then the output is directed to the printer. If DOCRT = -1 and OUTPRINT is not blank, then the named disk file is created but the output is NOT sent to the printer also. This practice of creating a disk file AND printing it out by default is, in general, not what the user requires. (Perhaps we need modify this behaviour everywhere?) Also changed level of precision with which weights are reported when printer, text file or 132 column is used. This is needed for calculation of relative weights of databases in DBCON etc. VLA weights can be in the range of 10e-2 to 10 --- previous precision was insufficient to handle this. VLBI & MERLIN data also have wide ranges of weights. Also changed maximum number of visibilities that can be written to text file for several users who require disk file copies of their databases for analysis. Modified HELP file to reflect changes. Moved nowhere. 5921. April 4, 1990 UVFIX Glen UVFIX appeared not to work because the default frequency for UVW scaling is taken from the ANTENNA table. This frequency is often zero, making the new UVWs zero. If Antenna frequency is zero, the CATBLK frequency is now used by default. UVFIX is unchanged if user specifies the FREQUENCY. Moved to 15JUL90 this date. 5922. April 5, 1990 PRTAC Bill C. Fixed problems initializing the accounting (AC) file. Incorrect values were being put into the first 4 words and the file was not being compressed. This rendered the AC file unuseable. Moved to 15JUL90 this date. 5923. April 6, 1990 UVAVG Bill C. Modified to process compressed uv data. Also knowns about source and FQ ids and will not average data withdifferent values. Also increased the size of the working arrays. Moved to 15JUL90 this date. 5924. April 9, 1990 TABMRG Bill C. Modified to be smarter about blanked values. Blanked values are not summed and if table entries are being merged and one value is blanked and the other is not then the valid value is written into the output record. Moved to 15JUL90 this date. 5925. April 9, 1990 YSVU moved to YSTV Bill C. The contents of the directory YSVU was moved to YSTV. This directory contains the Sun Screen Server AIPS TV routine SSS. Moved nowhere. 5926. April 9, 1990 MSGWRT Glen Trailing blanks are trimed from output to Terminal. Output to files are un-affected. Moved nowhere. 5927. April 9, 1990 PRTAN Glen Prtan will now print VLA array if more than 2 antennas are VLA antennas. Double print bug fixxed. Moved nowhere 5928. April 10, 1990 HLPFIL:WHATSNEW.HLP Bill C. Copied the descriptions of the developemnts in AIPS from the last couple of AIPSLetters into this help file. Moved nowhere. 5929. April 10, 1990 FORTRAN Format problems Bill C Fixed a number of FORTRAN format problems reported by Mark Calebretta of the Australia Telescope. These were mostly missing commas: AIPPGM:GRIPR APLPGM:IMEAN, PROFL, PRTAC, TACOP, TAPLT, XBASL, XGAUS APGNOT:ANCAL, BLFIT, BSMAP, CANDY, CANPL, FARAD, GETJY, IRING, LISTR, MANDL, MK3IN, PATGN, SOLCL, SWPOL, TABED, TBOUT, UNCAL, UVFLG, UVSIM, VLBIN, IMFIT QPGNOT:CALIB, ASCAL, PCAL, UVSUB, VSCAL YPGM:BLANK, BLSUM YPGNOT:SPFLG, TVFLG Moved nowhere. 5930. April 10, 1990 CVEL Phil Mark Calabretta reported that the new VMS compiler thought that FLOAT was not standard Fortran 77, so I removed the occurences of it from the code. Moved nowhere. 5931. April 11, 1990 AIPPGM:SHOPA,SHOPB Bill C. Added 2 new standalone programs to help generate the shopping lists from the one liners in AIPS text files. SHOPA reads a list of files generated from a dir or ls command and collects the oneliners and list of categories in an output file opened APPEND=TRUE. After running a system sort utility SHOPB will reformat the file into a more useful form. Moved nowhere. 5932. April 11, 1990 MK3IN Athol Kemball/Bill C. Fixed bug in logic detecting and eod of tape in ATREC. Now if an EOF is encountered while NEWFIL is true then this is treated as an end of tape condition. Moved to 15JUL90 this date. 5933. April 11, 1990 AIPSHRLP.HLP Bill C. Next cycle of Designated AIPery. Moved nowhere. 5934. April 12, 1990 APGNOT:ASCOR.FOR Bill J. Expanded buffers JBUFSZ from 3200 to 4800 and BUFF1, BUFF2 from 1600 to 2400 to cope with spectral line data. Moved to 15JUL90 this date. 5935. April 12, 1990 APGNOT:JMFIT.FOR Bill J. Fixed two minor errors in FORMAT statements that were reported by Calabretta/Greisen. Moved nowhere. 5936. April 8, 1990 $APLUNIX/ZABORS.C Kerry $APLBERK/ZABORS.C $APLSUN/ZABORS.C Eliminated "core" file preservation mechanism entirely. Also changed to commit suicide with a self-inflicted illegal instruction rather than by calling "abort" which issues different signals on different systems. Changed in 15APR90 and 15JUL90 same date. 5937. April 8, 1990 $APLSUN/ZABOR2.C Kerry A new module that differs from the $APLBERK version in that it calls "ieee_handler" to "set" the action for IEEE "common" floating_point exceptions to SIGFPE_ABORT. Otherwise, invalid floating-point results (i.e., NaNs) go undetected. Should abort now. Changed in 15APR90 and 15JUL90 same date. 5938. April 8, 1990 $APLBELL/ZCREA2.C Kerry $APLBELL/ZACTV9.C New modules. The $APLBELL version of ZCREA2.C differs from the generic UNIX version in terms of header files. The $APLBELL version of ZACTV9.C differs from the generic version in that it calls "fork" instead of "vfork" (a Berkeley UNIXism). Changed in 15APR90 and 15JUL90 same date. 5939. April 8, 1990 UNICOS Z-routines Kerry All new modules in $APLCRI: ZABOR2.C same as $APLBELL version except abort handler function must be declared differently; also no SIGPWR and SIGCLD action set to SIG_DFL ZABORS.C PUTBCKed then REMOVEd to force REMOVE via midnight jobs on other Crays and to use $APLUNIX version instead ZACTV9.C PUTBCKed then REMOVEd to force REMOVE via midnight jobs on other Crays and to use $APLBELL version instead ZCMPR2.C same as $APLBERK version (Berkeley UNIX "ftruncate" supported, at least under UNICOS 5.0.13) ZCMPRS.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZCMPR2 instead of HOLLERITH ANAME ZCPU.FOR calls UNICOS routine SECOND (generic UNIX "times" yileds unreliable under UNICOS 5.0.13) ZCRDIR.C same as $APLUNIX version except calls ISHELL (UNICOS specific) instead of "system" to execute a shell command ZCREA2.C PUTBCKed then REMOVEd to force REMOVE via midnight jobs on other Crays and to use $APLBELL version instead ZCREAT.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZCREA2 instead of HOLLERITH ANAME ZDCHI2.FOR same as $APLBELL version except SPFRMT and DPFRMT = 0, and TTYCAR = 0 ZDCHIC.C same as $APLUNIX version except NBBY "defined" as 8 (for some reason not in sys/param.h) ZDCHIN.FOR same as $APLGEN version except NBPS = 1024 and NSPG = 1 ZDESTR.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZCREA2 instead of HOLLERITH ANAME ZEXIST.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZEXIS2 instead of HOLLERITH ANAME ZFRE2.C same as $APLBELL version except logic (?) to look for continuation line ZGETCH.C PUTBCKed then REMOVEd to force REMOVE via midnight jobs on other Crays and to use $APLUNIX version instead ZI16IL.FOR borrowed from tried & true COS implementation ZI32IL.FOR calls Cray's USICTC to perform conversion ZILI16.FOR borrowed from tried & true COS implementation ZIVSOP.FOR same as $APLGEN version except call to FIVASOPEN commented out (name too long) ZLASC2.C same as $APLUNIX version except calls ISHELL (UNICOS specific) instead of "system" to execute a shell command ZLASOP.FOR same as $APLGEN version except "cft77" objected to RECL=160 without ACCESS='DIRECT' for opcode 'POPN' (used anywhere except under VMS?) ZLOCK.C same as $APLBERK version (Berkeley UNIX "flock" supported, at least under UNICOS 5.0.13) except for additional header file sys/types.h required ZLPCL2.C same as $APLUNIX version except calls ISHELL (UNICOS specific) instead of "system" to execute a shell command ZMSGOP.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZDAOPN instead of HOLLERITH ANAME ZMSGWR.FOR restored MSGBUF argument to CHARACTER*80, then set MSGTXT = MSGBUF instead if H2CHR on HOLLERITH MSGBUF(20) (i.e., tried & true pre-overhaul technique) and true pre-overhaul technique) ZMSGXP.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZEXIS2 instead of HOLLERITH ANAME ZOPEN.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER PNAME passed to ZDAOPN instead of HOLLERITH ANAME ZPUTCH.C PUTBCKed then REMOVEd to force REMOVE via midnight jobs on other Crays and to use $APLUNIX version instead ZR32RL.FOR lots of unpacking as well as bitwise and'ing, or'ing and shift'ing, but it vectorizes; no NaN detection yet, but otherwise pretty well tested ZR64RL.FOR version in a state of flux (not to be trusted) ZRENAM.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER OLDNAM and NEWNAM passed to ZRENA2 instead of HOLLERITH OLD and NEW ZSHCMD.C same as $APLUNIX version except calls ISHELL (UNICOS specific) instead of "system" to execute a shell command ZTACT2.C similar to $APLBELL version but checks for zombie'd processes via "grep" on "ps" output to avoid false positives ZTAP2.C in a state of flux, but close to working ZTKILL.C similar to $APLBELL version but checks for zombie'd processes via "grep" on "ps" output to avoid false positives ZTPCLD.C $APLUNIX/ZDACL2.C hacked for pseudo tape (i.e., instead of $APLGEN/ZTPCLD.FOR because direct access FORTRAN I/O under UNICOS 5.0.13 required COS-like machinations); should probably be used by all UNIX platforms ZTPMID.C $APLUNIX/ZMI2.C hacked for pseudo tape (i.e., instead of $APLGEN/ZTPMID.FOR because direct access FORTRAN I/O under UNICOS 5.0.13 required COS-like machinations); should probably be used by all UNIX platforms ZTPMIO.FOR same as $APLGEN version except modified to call C version of ZTPMID; should probably be used by all UNIX platforms; ZTPOP2.C same as $APLUNIX version except additional header file sys/types.h required ZTPOPD.C $APLUNIX/ZDAOPN.C hacked for pseudo tape (i.e., instead of $APLGEN/ZTPOPD.FOR because direct access FORTRAN I/O under UNICOS 5.0.13 required COS-like machinations); should probably be used by all UNIX platforms ZTPOPN.FOR same as $APLGEN version except call to CHR2H commented out (4 characters/real won't work on 64-bit machines) and CHARACTER MTNAM passed to ZDAOPN instead of HOLLERITH ANAME ZTPWAD.C $APLUNIX/ZWAI2.C hacked for pseudo tape (i.e., instead of $APLGEN/ZTPWAD.FOR because direct access FORTRAN I/O under UNICOS 5.0.13 required COS-like machinations); should probably be used by all UNIX platforms ZTQSP2.C same as $APLUNIX version except calls ISHELL (UNICOS specific) instead of "system" to execute a shell command ZTXMAT.FOR same as $APLGEN version except local CHARACTER CNAMES array passed to ZTXMA2 instead of HOLLERITH NAMES (4 characters/real won't work on 64-bit machines) then call CHR2H in loop to convert NNAM CNAMES to NNAM NAMES ZVTVC2.C same as $APLBERK version ($APLBERK not in Z-routine search path) ZVTVC3.C same as $APLBERK version ($APLBERK not in UNICOS Z-routine search path) ZVTVGC.C same as $APLBERK version ($APLBERK not in UNICOS Z-routine search path) ZVTVO2.C same as $APLBERK version ($APLBERK not in UNICOS Z-routine search path); this routine may have trouble getting its arguments correctly from ZVTVOP ZVTVO3.C same as $APLBERK version ($APLBERK not in UNICOS Z-routine search path) ZVTVX2.C same as $APLBERK version ($APLBERK not in UNICOS Z-routine search path) ZVTVX3.C same as $APLBERK version ($APLBERK not in UNICOS Z-routine search path) Changed in 15APR90 and 15JUL90 same date. 5940. April 8, 1990 Cray INCLUDE Files Kerry All new modules in $INCCRI: DAPC.INC Declarations, dimensions, COMMON definitions and EQUIVALENCE statements for the Cray 256K word Pseudo-AP implementation (same as the old COS version) ZVND.INC Compiler directive to ignore apparent vector dependency (same as old COS version) ZVD.INC Compiler directive to force scalar compilation (same as the old COS version) Changed in 15APR90 and 15JUL90 same date. 5941. April 8, 1990 Cray Q-routines Kerry All new modules in $QCRI. These are the same as the old COS versions except dynamic memory management is disabled. The former COS technique (CALL MEMORY) conflicts with UNIX memory management. QCFFT.FOR QCLNSU.FOR QINIT.FOR QMAXV.FOR QMEMSZ.FOR QMINV.FOR QMULCL.FOR QPHSRO.FOR QPTDIV.FOR QRFFT.FOR QRFT.FOR QRLSE.FOR QXFOUR.FOR QXXPTS.FOR Changed in 15APR90 and 15JUL90 same date. 5942. April 8, 1990 $SYSUNIX/AREAS Kerry $SYSUNIX/CREADIR Changed to use $SYSAIPS/AREAS.DAT instead of $SYSUNIX/AREAS.DAT and removed $SYSUNIX/AREAS.DAT. Changed in 15APR90 and 15JUL90 same date. 5943. April 8, 1990 $SYSUNIX/AREASCSH.SED Kerry $SYSUNIX/AREASSH.SED Added looping to avoid sed'iting matching patterns in comments. Changed in 15APR90 and 15JUL90 same date. 5944. April 8, 1990 $SYSUNIX/AREAS.CSH Kerry $SYSUNIX/AREAS.SH As generated by $SYSUNIX/AREAS from $SYSAIPS/AREAS.DAT under UNIX. Area logicals for "local" directories should be defined in $SYSLOCAL versions of CDVER.CSH and CDVER.SH now. Changed in 15APR90 and 15JUL90 same date. 5945. April 8, 1990 $SYSUNIX/LIBR.DAT Kerry $SYSALLN/LIBR.DAT $SYSCRI/LIBR.DAT $SYSNRAO1/LIBR.DAT $SYSSUN/LIBR.DAT Commented better and eliminated references to the defunct areas $APLNUNIX, $QPGUNIX, $QYPGUNIX and $YPGUNIX. Also changed $YVTVPGM references to new logical $YPGVDEV (i.e., new name for $YVTVPGM). Changed in 15APR90 and 15JUL90 same date. 5946. April 8, 1990 $SYSUNIX/CDVER.CSH Kerry $SYSUNIX/CDVER.SH Added comments (formerly uncommented) and changed to use AREAS.CSH and and AREAS.SH (formerly used AREAS.CSH and AREAS.SH from $SYSLOCAL). Also changed changed the execution search path definition to search the current directory, $SYSLOCAL and $SYSUNIX before all others to avoid command name conflicts (e.g., CC the AIPS C compilation script versus CC the C++ translator commonly installed as a local system utility). This is where "local" area logicals should be defined now (i.e., instead of $SYSLOCAL versions of AREAS.CSH and AREAS.SH). Changed in 15APR90 and 15JUL90 same date. 5947. April 8, 1990 $SYSNRAO1/CDVER.CSH Kerry $SYSNRAO1/CDVER.SH $SYSNRAO1/AREAS.CSH $SYSNRAO1/AREAS.SH New files (same as $SYSUNIX versions since all local directories for NRAO1 are defined in $SYSAIPS/AREAS.DAT, thus $SYSUNIX/AREAS.CSH and $SYSUNIX/AREAS.SH). Removed obsolete $SYSNRAO1/AREAS.CSH and $SYSNRAO1/AREAS.SH. Changed in 15APR90 and 15JUL90 same date. 5948. April 8, 1990 $SYSUNIX/ASSNLOCAL.SH Kerry $SYSUNIX/ASSNLOCAL.CSH Eliminated obsolete $AIPSTTn logicals and NRAO1 specific specific logic involving graphics terminal logicals. Added $LPRNTR logical. ASSNLOCAL.CSH is a new file used by LOGIN.CSH to define device logicals at login time. Changed/added in 15APR90 and 15JUL90 same date. 5949. April 8, 1990 $SYSNRAO1/ASSNLOCAL.CSH Kerry $SYSNRAO1/ASSNLOCAL.SH Changed definition of device logical $DA00 from public scratch file system to file system for exclusive use by AIPS users. Also, removed obsolete $DASSGN and $AIPSTTn environment variables. Changed/added in 15APR90 and 15JUL90 same date. 5950. April 8, 1990 $SYSUNIX/LOGIN.CSH Kerry $SYSUNIX/LOGIN.SH Changed execution search path definition to search the current working directory, $SYSLOCAL and $SYSUNIX before all others to avoid command name conflicts (e.g., CC). Also changed definitions of $CDOLD, $CDNEW and $CDTST to use CDVER.CSH and CDVER.SH from $SYSLOCAL (formerly they used CDVER.CSH and $CDVER.SH from $SYSUNIX). Also added "source $SYSLOCAL/ASSNLOCAL.CSH" and ". $SYSLOCAL/ASSNLOCAL.SH" to define device logicals at login time. Changed in 15APR90 and 15JUL90 same date. 5951. April 8, 1990 $SYSUNIX/AIPS Kerry $SYSNRAO/AIPS $SYSSUN/AIPS $SYSUNIX/BATER $SYSNRAO1/DACK $SYSNRAO1/DRUN $SYSUNIX/RUN $SYSNRAO1/SPACE Removed ". $SYSLOCAL/ASSNLOCAL.SH". Device logicals are established at login time now (see LOGIN.CSH and LOGIN.SH entries). Also changed the execution search path definition to search the current directory, $SYSLOCAL and $SYSUNIX before all others in order to avoid command name conflicts (e.g., CC). Changed in 15APR90 and 15JUL90 same date. 5952. April 8, 1990 $SYSUNIX/COMRPL Kerry Added protection against use on programs which royally screws up object libraries and therefore, installations. Changed in 15APR90 and 15JUL90 same date. 5953. April 8, 1990 $SYSUNIX/SEARCH Kerry Fixed to correctly remove temporary files and corrected error return code. Changed in 15APR90 and 15JUL90 same date. 5954. April 8, 1990 $SYSALLN/ASSNLOCAL.SH Kerry Removed. Removed from 15APR90 and 15JUL90 same date. 5955. April 8, 1990 $SYSCRI/FCOPTS.SH Kerry Changed to select static allocation of variables (i.e., like an implicit SAVE statement for each variable). Default is "stack" on all but Cray Y-MP and Cray X-MP EA systems. Changed in 15APR90 and 15JUL90 same date. 5956. April 8, 1990 $SYSNRAO1/FCOPTS.SH Kerry $SYSNRAO1/LDOPTS.SH Changed FORTRAN compiler command from "oldfc" to "fc". Also, made $OPT2 optimization option "-O2 -ngr" to avoid Convex global register optimization compiler bug (FCOPTS.SH). Changed in 15APR90 and 15JUL90 same date. 5957. April 8, 1990 $SYSCVEX/OPT2.LIS Kerry $SYSNRAO1/OPT2.LIS Added new Q-routines to list of modules to be compiled at optimization level "-O2". Changed in 15APR90 and 15JUL90 same date. 5958. April 8, 1990 $SYSNRAO1/SPACE.FOR Kerry Changed to call EXIT (0) instead of STOP to avoid "at" job error mail. Changed in 15APR90 and 15JUL90 same date. 5959. April 8, 1990 $SYSNRAO1/ZLPCL2 Kerry Changed to use anonymous ftp for spooling printer files to the CVAX Versatec. Changed in 15APR90 and 15JUL90 same date. 5960. April 8, 1990 $SYSSUN/SSS.TXT Kerry Changed text referencing ASSNLOCAL.SH to ASSNLOCAL.*. Changed in 15APR90 and 15JUL90 same date. 5961. April 10, 1990 $APLUNIX/ZPRI2.C Kerry $APLBERK/ZPRI2.C The hard-coded value for the lowering of batch job execution priority was far too severe (10 on a scale of 0-20). Changed it to "0" (same as interactive), however, to take effect, each task executable must 22z be regenerated. Execution priorities should really be system parameters (i.e., set using SETPAR and based on POPS #). Changed in 15JUL90 same date. 5962. April 11, 1990 $APLCRI/ZILI16.FOR Kerry $APLCRI/ZCREAT.FOR Screwed up insertion of user agreement in ZILI16.FOR Screwed up merging of changes to $APLGEN version in ZCREAT.FOR Changed in 15APR90 and 15JUL90 and patched 15APR90 UNIX distribution tape same date. 5963. April 13, 1990 (friday) MX glen Uniform check for max frequency channel greater than min. Forces DFT subtraction if UV data is not X* sorted. Moved to 15JUL90 yesterday. 5964. April 13, 1990 $QCRI/QCFFT.FOR Kerry Screwed up insertion of user agreement. Changed in 15JUL90 and 15APR90 same date and patched UNIX distribution tape. 5965. April 16, 1990 MWFBSM Bill C. New routine in APLSUB. This routine takes an irregurlarly spaced array of possibly blanked values and does a median window filter smoothing with a given size window. Moved nowhere. 5966. April 16, 1990 APGNOT:CLSMO Bill C. New task. This task will smooth selected residual calibration factors in a CL table. The most important application at present is filtering MkIII phase cals and interpolating blanked values. Move nowhere. 5967. April 16, 1990 APLNOT:IMCREA Bill C. The rotation on the sky was not being written to the catalog header for beams, an undefined (usually 0) value was. Moved to 15JUL90 this date. 5968. April 16, 1990 QNOT:MAKMAP Bill C. MAKMAP was depending on GRDAT to set the necessary gridding parameters. This did not work when the uv data had been rotated. Now NGRDAT is set to .TRUE. and the gridding parameters are explicitly set. This caused HORUS to incorrectly shify rotated data. The IF frequency offsets were being applied twice. Changed the call to CHNCOP to calls to CHNDAT and the frequency offsets are refered to BIF. This error caused HORUS to use incorrect frequencies for scaling u, v and w from the reference frequency to the actual frequency and thus give a misscaled image. Moved to 15JUL90 this date. 5969. April 16, 1990 SNSMO Chris Changed modes of operation so that phase is smoothed using a scalar average rather than deriving the smoothed phase from the smoothed sine and cosine components. Also restructured the code to make the flow of control more obvious, added some new error messages and forced reading of the SN table column numbers from the SN table. Also changed the help/explain file for CLCAL, which is the principal client of SNSMO, to reflect the changes. Moved to 15JUL90 on May 22, 1990. 5970. April 18, 1990 IBLED Phil New task. An Interactive BaseLine EDitor designed specifically for VLBI data, uses the same basic interface as TVFLG and SPFLG. Not all functions are fully tested, especially those dealing with unflagging already flagged data, a message printed at the start of the task will keep users informed about the state of debugging. Moved nowhere yet. 5971. April 18, 1990 XVSS Chris A number of miscellaneous changes prior to the release of the beta test version. - Added a makefile (accidentally missed from the original check-in). - Corrected bad C code: get_client was declared static in WINDOW.C and sock_io was declared static in SOCKET.C. This should have caused the Sun loader to fall over but was found while porting XVSS to the DECstation 3100. - Now expands TVDEV to TVDEVn and then expands TVDEVn to find the device name (no longer fixed to TVDEV1). - Now assumes any device name containing a colon is of the form : (no longer fixed to XVSSIN). - Function keys F2 and F7 are now accelerators for the resize operation. - Added code to prevent the apparent function key ``bounce''. - Added network byte order macros to SOCKXF for byte-swap architectures (eg. DECstations). The transmission is already in network byte order since ZSSSXF calls ZILI16 to pack the short integers into the buffer. Files affected are: CURSOR.C in YXTV MAKEFILE in YXTV SOCKET.C in YXTV SOCKXF.C in YXTV WINDOW.C in YXTV Moved to 15JUL90 this date. 5972. April 19, 1990 MX Bill C. Fixed problem with making the output file too large if frequency channels were being averaged or the channel increment was larger than 1. If the number of channels being averaged equals the total number of channels used then bandwidth synthesis is assumed and the number of output channel images is assumed to be 1. Also fixed logic error which caused the dirty image to be made twice if no CLEANing was to be done. Moved to 15JUL90 this date. 5973. April 20, 1990 PUTKEY Bill C Routine to write a catalog header keyword/value pair and make history entries of the new values. Moved nowhere. 5974. April 20, 1990 CATKEY Bill C Fixed a bug which allowed a keyword to be written a second time with a different data type. Modified to change the data type and warn the user. Moved nowhere. 5975. April 20, 1990 AIPSUB:AU7A.FOR Bill C. Modified to write keyword value pairs to the catalog header. Added adverb KEYTYPE to the inputs. Changed PUTHEAD.HLP. Fixed bugs which turned GETHEAD into PUTHEAD. Bug fixes moved to 15JUL90 this date, nothing else. 5976. April 20, 1990 New adverb Bill C. Added adverb KEYTYPE, a string*4 to give the keyword data type. This involved POPSDAT.HLP, DAPL.INC and KEYTYPE.HLP. Moved nowhere. 5977. April 20, 1990 New procedures Eric Added procedures TVFLUX and TVMAXFIT to POPSDAT.HLP and created help files for them. They loop reading a TV location with IMXY and then do IMVAL and MAXFIT respectively. They quit on button D. Moved from Oz. 5978. April 20, 1990 SPLIT Bill C. The default velocity reference frame is topocentric and SPLIT was not recognizing 'BARYCENT'. Moved nowhere. 5979. April 20, 1990, SETJY Bill C. Modified to to multiple sources with OPTYPE='CALC' option. In fact all sources can be selected and SETJY will set the fluxes for those it recognizes and claim the others to be unknown flux calibrators. Also SETJY.HLP. Moved nowhere. 5980. April 20, 1990 FILLM Gareth FLMIN now checks to see that a REFDATE, if given, has the correct syntax. Blank is used if not. Short integrations are now correctly handled. There was some confusion about the IAT for geometry calculations and the IAT time stamp. The IAT time stamp is now used everywhere for determining whether a new integration, new scan, or new catalog entry is needed. The day number was not being incremented in MCWANT. This led to the program terminating at midnight if the stop time was specified and was on the same day as the start time! 5981. April 23, 1990 PRTAB Eric Corrected excess widths for floating columns, put in tests to set widths more sensibly, including reading the full file to see how many digits are really required for the integer columns. Moved from Oz and to 15JUL90 this date. 5982. April 23, 1990 SNPLT Eric Corrected an error --- when PIXRANGE was specified, SNPLT did not count the number of plots correctly and hence did not end the last one properly. Changed it to be smarter about phase so that plots around +180 and -180 come out on a useful scale. Also changed the SUM amplitudes to be self-scaling or scaled by PIXRANG while SUM phases are self-scaling. Inserted CV changes allowing proper handling of IFs when summing (March 4 change). Moved from Oz and to 15JUL90 this date. 5983. April 23, 1990 APLSUB:ALLTAB Bill C. This routine was checking to see if version 1 of a given table type existed and if not then it didn't copy any of that table type. Now an existance test is done for each version of each table and a table is copied to the same version number as the input file. This problem was most noticible in TASAV when SN tables were not copied. Moved to 15JUL90 this date. 5984. April 23, 1990 SUBIM Bill C. Modified to call KEYCOP to copy catalog header keywords. Moved to 15JUL90 this date. 5985. April 24, 1990 Remote TVs Chris Added the following documents (in LaTeX format) to DOCTXT. Both are prliminary versions. TVINSTALL.TEX -- installation notes for TVMON, SSS and XVSS (designed to supplement the Unix installation guide). XVSSUSER.TEX -- user notes for XVSS under OPEN LOOK. Moved to 15JUL90 this date. 5986. April 30, 1990 TECB.90 Chris New TEC data file from Boulder, covering January to March 1990. Moved to 15JUL90 this date. 5987. May 1, 1990 UVFND Bill C. Modified to process multi-source files by calling the UVGET calibration package. Added a number of source selection adverbs and user options for basic calibration and editing. Also UVFND.HLP. Moved nowhere. 5989. May 1, 1990 ZFIO, ZMIO Bill C. The Convex compiler when using -O0 optimization level was generating bad code which caused erratic and sometimes obscure problems. It was modified to reduce the number of go to statments but the compiler bug appears to be associated with having a local variable which is computed and then used only as the subscript of an array argument of a subroutine call. Both of these routines shared this problem. These problems could have affected all AIPS tasks to some degree. Moved to 15JUL90 this date. 5990. May 1, 1990 OPT2.LIS Bill C. Removed CALIB from the lists of routines to compile with level -O2 on Convexs in SYSCVEX, SYSNRAO1, SYSVLAC1. The current compiler used at NRAO incorrectly compiles CALIB at this level. Moved to 15JUL90 this date. 5991. May 3, 1990 FITTP Phil When a uv file had an associated FQ table with only one row, FITTP translated this to a CH table, deleted the FQ table (which caused no harm) and wrote the file. This behaviour was causing considerable alarm to some users, so I have modified FITTP to translate the FQ table to a CH, write the CH table then delete it, leaving the uv-file in its original state. The FQ table is only written if it has multiple rows. Moved to 15JUL90 this date. 5992. May 7, 1990 VLBIN Phil Modified VLBIN to write FQ tables. It now has a similar structure to FILLM in this regard. Needed a new adverb to specify the FQ tolerance so changed APARM to be VLBINPRM to provide more adverb space. Also removed some redundant subroutines. Also changed VLBIN.HLP. Moved nowhere. 5993. May 7, 1990 SPLIT, SPLIT.HLP Phil Changed the defaults for APARM(5), the type of data selected by default are now both xc and ac. This brings it into line with UVCOP. Also modifed the .HLP file. Moved nowhere. 5994. May 7, 1990 SETJY Phil Modified to cope correctly with lower sideband data, it was missing the sign of the sideband from one key statement. Moved to 15JUL90 this date. 5995. May 10, 1990 Gamma correction for OFMs Eric The color look-up tables used by TVs ("OFM"s) require a "Gamma correction" to make a linear function look linear. The correction is actually to take the OFM to the 1.0 / Gamma power and values of Gamma around 1.5 to 2.3 are usually desirable. AIPS was doing this in a couple of application areas, but it really should be done with different Gammas for different TVs. Accordingly, changed: DTVC.INC Added parameter TVGAMA. SETTVP Added code to display and reset TVGAMA. YOFM (YGEN) changed call sequence to make OFM a floating buffer having values between 0.0 and 1.0. YOFM (YSSS) changed call sequence to floating OFM, added code to clip the input OFM, apply the gamma correction and scale the OFM on 'WRIT' and to reverse the process on 'READ', YOFM (YIIS) as for YSSS:YOFM. YOFM (YDEA) as for YSSS:YOFM. YOFM (YVTV) changed call sequence as for YSSS, added code to send an integer buffer across the "wire". YINIT (YSSS, YIVAS, YM70, YDEA) changed call to YOFM YINIT (YM75) changed call to YOFM and changed to assume one channel is one and duplicate the OFM 4 times. YTVCIN (YSSS, YIVAS, YM70, YM75, YDEA) changed to initialize TVGAMA and to reduce the number of dummy variables by 1. TVMON Changed to undo integer scaling from YVTV:YOFM and pass floating buffer to the real YOFM. ILNCLR changed to clean up code, apply an extra gamma correction only when requested, changed call sequence to floating buffer. IMCCLR changed to use a floating buffer in call sequence for the OFM. IMLCLR changed call sequence to floating buffer (passed through only) and changed color numbers to allow BRG, RGB, and GBR as well as BGR, GRB, and RBG. IMPCLR improved the speed a lot at the cost of a large local buffer, changed to call OFMIO, changed call sequnce so that buffer is floating. AU6 changed calls to *CLR routines to make local gamma corrections null or less powerful (TVPSEUDO Button A) and changed buffers to floating. Also changed sequence of colors in TVPSEUDO (Button A) to allow for more colors. TVMOVI changed call to IMCCLR and to use local Gamma = 1. TVFIDL changed call to IMCCLR and to use local Gamma = 1. SPFLG changed like AU6. TVFLG changed like AU6. TVPSEUDO.HLP changed to describe the colors used correctly. It was badly out of date on the subject of contours. Moved from Oz. 5996. May 10, 1990 TV Histograms Eric Changed TVHLD and TVHXF to use floating buffers from 0 to 1 in calls to YOFM and to temporarily set TVGAMA to 1.o to read the histograms. Moved, untested, from Oz. 5997. May 10, 1990 OFM verbs Eric Created AU5A to call 9 new verbs called GAMMASET T1 Interactive display of the effect of Gamma on the current TV OFM. AIPS Managers may save the result for general use. OFMCONT T2 Interactive color OFM creation/modification the input intensity range into intervals ("contours") and doing either constant or step-wedge output intensities within each contour. The hue, saturation, and intensity of each contour may be set interactively. OFMLIST T3 Lists the current OFM values (scaled to integers 0-10000) on the line printer or terminal. OFMDIR T4 Lists the user's and general system OFM tables saved as files in the AIPSOFM and OFMFIL area. OFMGET T5 Loads a OFM text file to the TV's OFM. OFMSAVE T6 Creates an OFM text file from the current TV OFM. OFMZAP T7 Deletes an OFM text file. OFMTWEAK T8 Modifies existing OFM interactively. OFMADJUS T9 Modifies existing OFM interactively (or by numbers typed in) into sets of piecewise linear functions. Created subroutines OFMGAM, OFMCON, OFMLST, OFMDIR, and OFMMOD to implement these verbs and wrote help files for them all. Created new ZTXZAP routine in APLGEN to delete text files. Created new adverb OFMFILE in POPSDAT.HLP, DAPL.INC and its help file. This verb adverb and the verbs themselves require a new SAVE-GET version number, so changed SGLOCA and AU2A to account for this and changed VERBS, VERBSB, and VERBSC and POPSDAT.HLP to account for the new verb subroutine. Changed the VMS file ASSNBASIC.COM and the UNIX files LOGIN.SH and LOGIN.CSH to define AIPSOFM (AIPS_ROOT:[TEXT.OFM]) and OFMFIL (AIPS_ROOT:[OFM]) areas. Moved from Oz. 5998. May 10, 1990 YTVOPN Eric Corrected it to close the TV if there is an error in YWINDO. It closed the disk, but not the device. Moved from Oz. 5999. May 10, 1990 ZERROR Eric APLGEN: version needed to be defensive on character string lengths. Also ZTXOP2 in APLCVEX required the addition of a error test for pre-existing files. Moved from Oz. 6000. May 10, 1990 AREAS.DAT Eric The SYSAIPS version of AREAS.DAT (used at least in VMS) did not have the YVTVPGM area. Moved from Oz. 6001. May 10, 1990 UVCOP Phil Prodded the cvax version to ensure that it got to the AOC, apparently it didn't make it during the last update. Moved nowhere. 6002. May 10, 1990 TRIANGLE.HLP Dan Briggs/Phil New Adverb for use in VBPLT to plot closure triangles. Moved nowhere. 6003. May 11, 1990 PRTUV Eric Changed the source-name testing. It was dropping the first sample if the source name list said to omit specific sources. Moved from Oz. 6004. May 11, 1990 Time displays Eric Changed some of the time and coordinate displays so that they do not show a 60 in the seconds column. Changed: UVDIF (2), UVFND (2, one of which was badly in error), PRTUV, PRTSD, PRTGA Moved from Oz. 6005. May 11, 1990 EXTLIST Eric Corrected bad branch. Missing table files caused a LUN 27 ALREADY CLOSED IN FTAB message. Moved from Oz. 6006. May 11, 1990 TVFLG, SPFLG Eric Corrected 3 bugs which occurred in both tasks: The UV input file was read from visibility 2 through NVIS+1 in both the initial routine which listed the times and in the routine which applied the flags to single-source files. This could cause an apparent error in the time sequencing. The subroutine SOUFIL changes the list of sources, removing any minus signs. Since SOUFIL is needed for the time determination and then again for the calibration package, the times were found for all sources not in the list and then used for all sources in the list whenever an initial minus sign occurred in the source list. Corrected by restoring the list to its initial form after the first call to SOUFIL. Moved from Oz, should go to 15JUL90 and 15OCT90. 6007. May 10, 1990 SCRWRT Eric Corrected a minor bug - zoom and scroll commands were ignored when all TV channels were off, even if a graphics plane was on. Moved from Oz. 6008. May 14, 1990 SHIFT glen Added a short explanation of differnce between SHIFT values and the actual shift in ra and dec. Moved nowhere. 6009. May 14, 1990 UVGRID glen Fixed grid error for gridding when all data did not fit in an AP. Error occured only under rare circumstances. Moved to 15JUL90 this date. 6010. May 14, 1990 MX glen Force DFT subtraction by default for unsorted data. Also removed a few GO TOs and some extra string variables. Moved to 15JUL90 this date. 6011. May 14, 1990 QPSAP/QINT glen Added check for shift multiply by one and zero, and changed outer loop to double precision to improve accuracy. Inner loop is still single precision. Moved nowhere. 6012. May 14, 1990 APLSUB/IMGERR Bill C. New routine. Reads and writes images and associated error (if present). This routine will operate on whole hypercubes or subimages and incorporates the functions of ZPHFIL, ZOPEN, COMOFF, MINIT, MDISK and ZCLOSE as well as taking care of the catalog status of the files being operated on. Two buffers are used, one for the image and the other for the errors. Pixel 1 on a axis labeled "ERROR" is the image and pixel 2 is the error image. IMGERR should work properly in the absence of and error plane. Moved nowhere. 6013. May 15, 1990 APGNOT:LWPLA Bill J. Modified to allow use of OUTFILE to write disk plot file for Laserwriter. Changed the way this is used --- if OUTFILE is ' ' ==> print file, then delete; otherwise, create the named disk plot file but do NOT print. This seems to be a better way logically ---- usually do not require the hardcopy and the disk file. These changes affect the following subroutines: APLVMS:ZLASCL.FOR APLGEN:ZLASCL.FOR APLGEN:ZLWIO.FOR ZLASCL now allows a DELFIL code of -1 ==> close file, do not spool for printing. Some changes to LWPLA for character handling --- there was an incompatibility between string lengths in various bits of program and subroutines. Tested out code on cholla IBM postscript printer. Moved nowhere. 6014. May 15, 1990 XVSS Chris Corrected handling of zoom and scroll while image planes were turned off in SCRWRT.C (migrated Eric's change from SSS). Plugged a hole in the error checking in SOCKET.C that caused XVSS to crash with no error message if TVDEV was not defined. Changed WINDOW.C and CURSOR.C to use ACTION_SELECT events rather than explicit MS_LEFT events in case the mouse keys have been rebound for left-handed users. Moved to 15JUL90 this date. 6015. May 15, 1990 VBPLT, UVPLT Eric/Bill J. Added Eric's changes from AT for direct display of plots on TV device. Moved code from APGNOT to YPGNOT. Moved nowhere. 6016. May 16, 1990 CALIB Phil/Bill C. Fixed problem when multiple subarrays were present with different numbers of antennas. Only subbrray 1 was checked. Now the specified or all subarrays are checked. Also if there is trouble reading the AN table(s) it is assumed that the data is VLA data (as in past experience) and gives the user a warning message. There was also a problem with single source compressed data. CALIB was trying to write uncompressed data into a file set up for compressed data. Now properly compressed data is written. Moved nowhere. 6017. May 16, 1990 Calibration of IQUV data Bill C. A number of tasks were implicitly assuming that the data was correlator based and an incorrect number of Stokes parameters calibrations were put in SN/CL tables and CALIB did solutions for I and Q polarization. Affected tasks: CALIB, MULTI and INDXR. This is mostly a problem for calibrating Australia Telescope data. Moved nowhere. 6018. May 16, 1990 PRTUV Phil PRTUV refused to compile on laphroaig because ITRIM was not declared in one of the subroutines. Moved nowhere, this only occurred in 15OCT90. 6019. May 16, 1990 BLOAT Bill C. Increased buffer size to 8192. The former small buffer size (1600) was not enough to allow it to work. Moved nowhere. 6020. May 16, 1990 PRTAB Phil Corrected a typo in the new subroutine PRTSCL, which was looping from I to NCOL instead of 1 to NCOL when determining the starting position of the data in the output string. Moved to 15JUL90 this date. 6021. May 16, 1990 IMLOD Bill J. Fixed error in parsing of HISTORY cards in IMPARS. If an error was encountered in parsing the value of a keyword/value pair then this was assigned DBLANK which in turn could be assigned to an R*4 with obvious consequences. Moved to 15JUL90 this date. 6022. May 17, 1990 VLBIN Phil In writing the FQ entries the SU offset was not being taken into account. Moved nowhere. 6023. May 17, 1990 SNSMO Phil SNSMO was always assuming that SN tables had entries for 2 polzns, this is not always true and so FNDCOL was failing looking for the absent entries. Fixed so that the number of columns searched for in FNDCOL is dependant on the number of polzns present. Moved to 15JUL90 on May 22, 1990. 6024. May 17, 1990 FITTP Phil Due to the new capabilities of UVCOP it is possible to have data with an FQ tables which has only one row, but the FQID of that row (and in the data) is > 1. FITTP was checking to see how many rows an FQ table had, if it was only one the FQ table was translated into a CH table before being written to tape. A CH table associated with data having an FQID > 1 causes an inconsitency in the other tasks, so FITTP now checks to see what the number of the FQID is in the single row FQ table before deciding whether to translate it to a CH table. Moved nowhere. 6025. May 18, 1990 FILLM Gareth I believe that the FQ entry selection in FLMFQ been causing unpredictable behavior with and without optimization, with and without the debugger on the Convex C1. I have therefore recoded the FQ entry selection loop in a manner that makes in easier for compilers to do local optimization (e.g. Convex -O0). Maybe this will solve some of the FQ table entry problems. Fixed a bug in FLMCLS which did not store the current FQ ID, but the previous one, for the last scan - only a problem when the FQ ID had changed from the previous scan. Moved nowhere. 6026. May 19, 1990 FITTP Phil The fix I put in on May 3 had an interesting side effect. I had used RMEXT to delete the CH table after writing it, not realising that RMEXT updated the catalogue header on disk. Unfortunately for compressed data the CATBLK array contained the catalogue header equivalent to the uncompressed data being written to tape. So after running FITTP on compressed data the catalague header on disk claimed the data was uncompressed with unfortunate effects on the operation of other tasks. Moved nowhere. 6027. May 21, 1990 WHOUSES in SYSUNIX Chris WHOUSES (pronounced as two words: who uses) is a new shell script to automate the task of finding out which AIPS tasks or standalone programs use a given subroutine. Given the name of a subroutine as its only command-line parameter, WHOUSES searches the name list of every AIPS executable in the LOAD area and prints the name of the executable if the named subroutine is found. WHOUSES does not descend into the alternate load areas and may, therefore, be unable to find some or all level 2 and level 3 subroutines. It should, however, be able to find out which tasks reference named common blocks on any system that treats FORTRAN common block names in a reasonable manner (this works for SunOS and for Convex UNIX). This script takes approximately 10 minutes to run on a lightly loaded SPARCstation 1. Moved nowhere. 6028. May 22, 1990 UVBAS Huib van Langevelde/Bill C. Modified to interpolate the "continuum" visibility in frequency between the beginning and end sets of averaged channels. Also the interpolation is done by amplitude and phase rather than real and imaginary. This should give a more accurate interpolation. Moved nowhere. 6029. May 22, 1990 SLCTD Chris New routine to determine whether a given source, calibrator source or antenna is in the set of sources, calibrator sources or antennae selected by the user. Moved to 15JUL90 this date (required for CLCAL fix below). 6030. May 22, 1990 CLCAL Chris CLCAL now only smoothes calibration data from the requested calibration sources (as expected) when using boxcar smoothing rather than smoothing calibration data from all sources within the boxcar interval. SNSMO in APLNOT now takes additional arguments to specify the requested calibration sources. CLUPDA in APLNOT (the only routine which calls SNSMO) has been modified to provide SNSMO with the required list of calibration sources. Moved to 15JUL90 this date. 6031. May 24, 1990 FILLM Gareth The auto-correlation values are now stored in the Channel 0 mutli-source file. This is so that BPASS will find the same number of visibilities in channel 0 as in the line data. This is not done for continuum data. Moved nowhere. 6032. May 25, 1990 IMGERR Bill C. Took out the PARAMETER definitions of pointers into FDVEC and put them into an INCLUDE file IMGERR.INC. Also modified IMGERR.FOR to keep track of maximum and minimum values and use of magic value blanking when writing a file and updating the catalog header as appropriate when closing the file. Moved nowhere. 6033. May 30, 1990 MAKMAP Phil There was a typo in the call sequence to CHNDAT, a 'read' should have been a 'write', I have no idea why this has never bothered us before. Although I have a vague memory of fixing this. Moved to 15JUL90 this date. 6034. May 31, 1990 $SYSUNIX/LIBR Kerry Reworked to speed it up. Formerly, this procedure processed one object module at a time because wild card filename processing would otherwise saturate the environment for large numbers of modules (i.e., due to the ever growing number of AIPS programming "logicals" and the lengths of their definitions) and the process would fail with with an "arg list too long" error. The available environment space varies from system to system. The procedure now processes the modules in groups of $NMOD, where NMOD is defined in the procedure itself. NMOD=50 in the distributed version and "could" be increased for systems with larger environments (e.g., Convex), but little or no speed up would be realized. This is because the procedure spends most of its time in the library randomization step, which is not done until all the modules have been processed. For example, to process all possible modules from the $APLNOT area (some 240) with NMOD=999 only takes 30% longer (117sec vs 89sec on NRAO1) than to process a single module. The randomization step is unavoidable, at least on Berkeley UNIX systems. "Ranlib" either does not exist under System V or is built into "ar". The time spent in the randomization step will only be reduced when the size of the AIPS libraries is reduced. In fact, most of the speed up (a factor of 2-3) was achieved by replacing "if test" constructs with "case" constructs wherever possible, even if it was unnatural or awkward. This is because "test" is not built into the Bourne shell. Other procedures might also benefit from similar "test" replacements. Moved nowhere. 6035. May 31, 1990 $AIPGUNIX/ZSTRTA Kerry A WRITE statement had an I/O list but the corresponding FORMAT statement had no format specifiers, which caused problems under UNICOS. Eliminated the I/O list since the info was hard-coded in the FORMAT statement. Moved to 15JUL90 same date. 6036. May 31, 1990 $QVEX/QRECT.S Steve Wallach/Kerry Steve noted that a minor flaw in the instruction sequence inhibited chaining. This was fixed by promoting some scalar loads before the vector loads (in the sections corresponding to statements 102 and 103 of the equivalent FORTRAN code) such that the subsequent arithmetics could chain into the store (into apfake). Even so, the expected speed up is only a couple of percent. Moved nowhere. 6037. May 31, 1990 Basic Plot Package Eric Changed include file DGPH.INC, adding many parameters needed to drive a TV display. Changed subroutines GINIT, GINITL, GINITG, GPOS, GVEC, GRAYPX, GCHAR, GMCAT, AND GFINIS to do plots directly to the TV as an option instead of to a plot file. The call sequence of GINIT was changed. GINITL was given additional code to insure that INT(BLC()+0.999) < INT(TRC()+0.001) to give enough pixels to scale. GFINIS examines a logical called GPHPAG, which says whether or not there will be another page of plots. When true in the TV case, it pauses 30 seconds (or less if buttons A, B, or C are hit) to see if it's time to quit and to leave some timwe to look at the current plot. Moved these routines from APLSUB to YSUB. Moved from Oz. 6038. May 31, 1990 Basic plot routines Eric Improved the error reporting in COMLAB, CLAB1, and CTICS. Moved AITOFF from APLNOT to YNOT and moved CLAB1, CLAB2, COMLAB, CONDRW, CTICS, LABNO, PLGRY, PLPOS, PLVEC, and STARPL from APLSUB to YSUB. Moved from Oz. 6039. May 31, 1990 Plot paraform routines Eric Changed include file DPLT.INC to add the basic TV parameters needed to call GINIT. Changed PLMAKE and PLEND to use them and otherwise support the TV option. Moved the subroutines from APLNOT to YNOT. Moved from Oz. 6040. May 31, 1990 Plot tasks Eric Added DOTV and other adverbs to tasks (and help files): CNTR GREYS IMEAN IMVIM ISPEC PCNTR PROFL SL2PL TAPLT UVHGM DFTPL GAL GAPLT GNPLT IRING KNTR PFPL1 PFPL2 PFPL3 PLCUB POSSM SNPLT UVPLT VBPLT PLROW This meant picking up and passing the new parameters, changing the call sequence to GINIT, changing the handling of the image status and creating/closing/deleting/reporting the plot file only when DOTV is false. Also corrected misc errors: IMEAN had its comments in capital letters and a lot of other poor typing. ISPEC was not cleaning up after plot errors in anything like an acceptable, yet say standard, way. DFTPL was not correctly translating the image CLASS and hence not always getting the desired image. GAPLT messed up the error handling fairly seriously. KNTR had a bad call to NAMEST causing, at least, a poor string at the top of the plot. PFPL2 was handling date/time strings wrong. PFPL3 was handling date/time strings wrong. PLCUB reacted badly to requests to plot a single plane. POSSM had no error clean up code for the plot file. It also required a lot of cleaning up in its handling of the labels on the plots and its typing. Phase self scaled, previously, only if phases outside -180 to 180 occurred. Otherwise, it plotted from -180 to 180 - which is not very helpful. SNPLT had confused IRET and IERR hopelessly in the plot routines and was not returning correct error codes. VBPLT had confused IRET and IERR hopelessly in the plot routines and was not returning correct error codes. Moved from Oz. 6041. May 31, 1990 UVPLT Mark Calabretta Added code to check for FQ numbers having no data. Otherwise, when looping over FQ number, the task would fail at these numbers. Moved from Oz. 6042. June 3, 1990 GPHWRT Phil This routine was not COMRPL'D even though the DGPH.INC had just changed. Moved it from APLSUB -> YSUB, and relinked all the plot package. Moved nowhere. 6043. June 3, 1990 TXPL Glen Task will wait for user input after plotting if DOWAIT=TRUE So that a plot can be viewed befor being distroyed by an AIPs Message. Moved nowhere. 6044. June 3, 1990 DDTLOAD Glen Added DOUVCOMP=FALSE to Tape read procedure so that UVDIF will work correctly. Moved to 15JUL90 on June 1, 1990. 6045. June 4, 1990 UVGRID Glen Added many QWAITS to UVGRID and its friends APSHFT, APLOAD APSUM and APWRIT in an attempt to get the CVAX AP MX to run correctly. Moved nowhere. 6046. June 4, 1990 UVMDIV Phil Source code was different on cvax and chucca. Cvax was correct. Prodded the code and conrpl'd uvmdiv, then comlnked everything that used it. This fix was missed by the midnight job on March 15. Moved to 15JUL90 this date. 6047. June 4, 1990 CLSEL, SNSEL, FGSEL Phil Added the ability to modify the FREQID in the output table. If the FRQSEL is > 0 the output table will have FREQID=1, the rationale for this is given in the next .doc entry. Moved nowhere. 6048. June 4, 1990 UVCOP Phil Several modifications. (1) When the user selects by FREQID and FREQID > 1 then the output file had the FREQID selected, however the FQ handling routines could not deal with data with a single FQ entry which was not 1. Anyway the user does not want to have to remember what FREQID his/her UVCOPied database has. So UVCOP now renumbers the FREQID of the output file and its associated tables to FREQID=1. (2) If the bandwidth of the selected FREQID was not the same as the first FREQID then the channel increment in the output catalogue header was incorrect. Fixed. (3) UVCOP was creating an output file the same size as the input. Changed so that if the inpuf file has an NX table that table is read and the size of the output file estimated from the visibility start/stop numbers. Moved nowhere. 6049. June 6, 1990 SPLIT.HLP Phil Make the explain file match the inputs. The description of APARM(5) was wrong. Moved nowhere. 6050. June 6, 1990 VBPLT.FOR (YPGNOT) Bill J. Multiple declaration of variable caused compilation error. Moved nowhere. 6051. June 7, 1990 BPASET Phil When antennas were deselected by the user the logic in BPASET was wrong so that only the deselected antennas were used. Fixed. Moved to 15JUL90 this date. 6052. June 7, 1990 APLNOT:SNSMO.FOR Bill J. SNSMO attempted to read past the end of the table if record number pointer was already at end of the SN table and there were antennas yet to loop over. Added trap. Moved to 15JUL90 this date. 6052. June 8, 1990 ADDIF Phil ADDIF was missing the H2CHR calls to translate the name and class of the input data set. Another relic of the overhaul. Moved to 15JUL90 this year. 6053. June 12, 1990 PCAL Chris Fixed a conceptual error in the handling of ionspheric corrections that led to array bounds violations if there were more than 10000 pre-averaged visibility points. It also led to errors in applying the ionspheric Faraday rotation correction that would have caused subtle errors in the calculated polarizations if ionospheric Faraday corrections were applied. Ionospheric rotation data is now stored in a scratch file rather than an array. Moved to 15JUL90 this date. 6054. June 13, 1990 Call to TABKEY Chris TABKEY was being called to read or write keywords with character values without converting the value argument to or from Hollerith in a number of places. This would cause problems under VAX/VMS but would not have been noticed on most (if not all) UNIX systems. Fixed in UVFIT, GETANT and PCAL, which appear to be the only routines with defective calls. Moved to 15JUL90 this date. 6055. June 13, 1990 POSSM Phil Added the DOPOL adverb to POSSM and POSSM.HLP. Moved to 15JUL90 this date. 6056. June 13, 1990 PRTTP Bill J. When testing for Modcomp archive tape, PRTTP looks to see if the number of antennas in the sub-array is greater than 1. This is inappropriate for a single dish subarray for VLBI. Moved to 15JUL90 this date. 6057. June 13, 1990 HORUS.HLP Bill J. HELP file was completely uninformative about the default for OPTYPE. In fact, OPTYPE = ' ' ==> OPTYPE = 'LINE'. This 'hidden' default caused grief to continuum users as 'LINE' uses ONE IF only. Moved to 15JUL90 this date. 6058. June 14, 1990 DGHEAD Phil There was a problem with random parameters under some circumstances. DGHEAD assumes that the SOURCE r.p is always the last one and so removes it by just decreasing the number of r.p's in the catalogue header. In the case where SOURCE was not the last r.p. but SPLIT was being run the output header had a SOURCE r.p. visible. Fixed up DGHEAD to physically remove the SOURCE r.p and also to deal properly with any remnant REMOVED r.p's if they are at the end of the r.p. list. Moved nowhere yet, let the user play with this first. 6059. June 14, 1990 NULL pointers Chris ZSSSOP2.C (APLBERK) and ZVTVO2.C and ZVTVO3.C (APLBERK and APLCRI) were erroneously copying a null terminated string from the location returned by getenv() and comparing it against the string "(NULL)" to test for errors. This would cause programs to crash with segmentation violations or bus errors if the appropriate logical names were undefined or had inappropriate contents. All now correctly check the value returned by getenv() against NULL. In addition all now report an error and abort if an Internet host is not specified or has a malformed name rather than trying to connect to lynx.toronto.edu. Also added function declarations for getenv(), index() and strncpy(), removed unused local variables and fixed some dubious casts. These modules now lint cleanly, apart from ignored return values, on Suns and Convexes. Moved to 15JUL90 this date. 6060. June 14, 1990 ZFRE2 Chris Fixed a bad sprintf() format string that caused disk numbers greater than 10 to be translated to lower case hex digits in DA0n logical names. Fixed in APLMASC, APLCRI, APLSUN and APLUNIX. Moved to 15JUL90 this date. 6061. June 15, 1990 POSSM Phil After the latest changes were put in I discovered that POSSM was not scaling spectra properly if there were negative amplitudes, changed so that this is not the case. Also tidied up the labelling a little. Moved nowhere. 6062. June 15, 1990 CVEL Phil Major overhaul. Now deals with FQ tables, the catblk handling was modified - this removed two problems, the first was that compressed data could not be handled correctly, secondly the HI file was not copied from the input to the output file. Fixed numerous other little bugs along the way. Moved to 15JUL90 this date. 6063. June 16, 1990 FILLM Bill J. Subroutine MCWANT called ZBYMOV to translate the date. On VAXes this is inappropriate --- should call ZI32IL instead. Symptoms of failure were overflow errors in formatting statement for diagnostic purposes and failure to find any valid data. Checked revision on BOTH Vax and Convex. Moved to 15JUL90 this date. *********************************************************************** Changes while 15OCT90 was NEW: *********************************************************************** *********************************************************************** 6064. June 22, 1990 APLNOT:SOURNU Bill J. UVCOP did not handle copying of data by QUAL. Modified SOURNU to do this correctly. Moved from 15JAN90 this date. 6065. June 25, 1990 FITTP.HLP Bill J. Mismatch between minimum and file text regarding default value for BLOCKING adverb. Gripe #4300. Moved from 15JAN91 this date. 6066. June 26, 1990 LSERCH Chris ZTPOPN and ZTPCLS assign unique LUNs in the range 51 to 51+NTAPED to the lock files which control access to the tape drives. LUNs above 50 appear to be used nowhere else. However LSERCH was using 50+MAX(3, NVOL) as the maximum valid LUN, causing problems if there were more than 3 tape drives and less (logical) disks than tape drives. LSERCH now uses 50+MAX(3, NTAPED) as the maximum valid LUN. Moved from 15JAN91 this date. 6067. June 26, 1990 GAPLT Bill J. Arguments in call to GINIT are complete nonsense --- incorrect sequence and insufficient arguments. I guess GINIT was changed sometime. Moved from 15JAN91 this date. 6068. June 27, 1990 POSSM Phil Added new feature in the text output option. A sensible header is now printed in the text file, and the spectrum is listed in columnar form as channel#, vel, amp, phase. A flagged channel is marked as flagged. Also corrected a couple of minor problems with determining the scaling of the plots and the labelling, these were remnants of the recent graphics changes. Moved from 15JAN91 this date. 6069. June 27, 1990 SNPLT Neil/Phil The data statement initializing QUAL to /30*-1/ should be /30*0/. The tables routines expect QUAL of 0 to mean any qualifier in contrast to the calibration routines that expect -1. Moved from 15JAN91 this date. 6070. June 27, 1990 GETJY Phil/Neil The FREQID variable was not passed in common. Moved from 15JAN91 this date. 6071. June 27, 1990 CVEL.HLP Phil I forgot to outbck the helpfile which reflected the latest CVEL changes, so the program did not know about the new adverbs. Moved from 15JAN91 this date. 6072. June 28, 1990 TAPIO.FOR Bill J. Tired of explaining to alarmed users that discovered block size being at variance with expected block size does not signify the collapse of AIPS, I have suppressed these essentially debugging messages. Moved from 15JAN91 this date. 6073. June 28, 1990 DATFLG Eric Corrected gross errors: the offset to the first spectral channel to be flagged was not included when computing the index to negate the weights. Then a flag channel 12-20 acted as a flag channel 1-9. The offset to BCHAN was not used when examining if there were any unflagged channels in BCHAN-ECHAN, making still more trouble. Moved from 15OCT90 this date, to 15JUL90 later from OZ. 6074. 30 June 1990 PRTAB Eric Corrected character and bit-field lengths so that the data length controls what is displayed even if the column header is longer. Corrected type in setting the field lengths and starting character numbers which could make one or more of the first columns into blanks fields. Changed to center character fields under the headers using the maximum actual character data length rather than the column width. Improved the centering of column numbers over the columns as well. Changed it to remove nulls from character strings in all places they might occur inside the table. Also had it check for lengths needed for times and floating numbers (i.e. are all positive). Moved from Oz to 15JAN91 and 15OCT90. 6075. 30 June 1990 IMCCLR Eric Raised the lowest level of the standard 8-color contour used by TVFIDDLE among others. It was too dark for standard SUN monitors. Moved from Oz to 15JAN91 and 15OCT90. 6076. 30 June, 1990 ILNCLR, IENHNS Eric Corrected ILNCLR to avoid writing to non-positive array subscripts. It was blithly writing to negative array subscripts and wiping out other local parameters in TVPSEUDO bits of AIPS, SPFLG, and TVFLG. The bug hit unimportant variables only in AIPS itself. Corrected IENHNS to leave the graphics on or off as it was on input. Previously, it could get it wrong. Also corrected the plotting of the transfer function to account for zoom. Before, the plot went to the upper right of the memory, not the visible screen. Moved from Oz to 15JAN91 and 15OCT90. 6077. 30 June 1990 PCNTR Eric Corrected test on IYINC - it used a YINC of 1 except for YINC=1 where it used a YINC of infinity I think. Moved from Oz to 15JAN91 and 15OCT90. 6078. 30 June 1990 MCREAT, GRIDTB and GRIDTC Eric Changed two message levels in MCREAT from 8 to 7 so that disk too full and disk not allowed messages may be suppressed. Changed GRIDTB and GRIDTC to honor BADDISK even when creating a cataloged master grid file. Changed TVFLG/SPFLG help files to reflect this improvement. Added GRIDTC to OPT2.LIS in SYSCVEX:, SYSNRAO1:, and SYSVLAC1:. Moved from Oz to 15JAN91 and 15OCT90. 6079. 30 June 1990 TVFLG & SPFLG Eric Changed them to turn off the menu and restore the zoom only when that is useful. This speeds it up a lot. Corrected the handling of bad sort order in the input data --- it continued on erroneously due to a missing error code. Changed to turn on the TV cursor sooner and to clean up the line/box displays in the flagging routine. Fixed to turn off the graphics planes used to show the window when it is set with the cursor. Changed format statement 1010 in subroutine TVFCLP and SPFCLP so that internal write does not overflow recipient character variable (typed in clip levels). Changed $INC DTVF.INC and DSPF.INC to add source number to the FC table and to pass the source name around more. Changed SPFLG and TVFLG to allow the user to choose whether the current flags are applied to all sources or just to those explicitly visible at the moment on the TV. Made the status line(s) display smarter, allowing 3 lines for narrow windows. Corrected setting of time ranges and areas --- if button B or C was hit before any TRC was set then a bad entry was made in the FC table which could delete a lot of data later but not on the TV. Changed it to make B and C mean A when no TRC is set and to make an entry in the FC table only if some pixel in TVFLG/SPFLG was flagged by the command. Corrected history entries so that SOURCES get a close quote and names are not repeated. Changed so that the wedge when displayed is at least 128 pixels --- some wedges were too narrow to see. Changed help files to mention the new SET SOURCE FLAG. Changed fortrans and help files to exclude autocorrelation by default. This change was in the CV version of TVFLG but was not documented in their CHANGE.DOC. Moved from Oz to 15JAN91 and 15OCT90. 6080. 30 June, 1990 YSTV:WINDOW.C Eric Added more initializations. Previously the window width and height variables were unknown until the screen was redrawn (as for example by opening the icon). So, YWINDO got bad answers when SSS had never been opened. One can write to the icon now. Moved from Oz to 15JAN91 and 15OCT90. 6081. 30 June 1990 PRTAC & Text file reading Eric Corrected text file reading routines to ignore all commented lines. Changed: PRTAC Ignore lines starting with ';' and '*' in user list. AU1A Added line to ignore comment (';') when looking for 2nd ignored line in Inputs section of help file. AU2 Added line to ignore comment (';') when looking for 2nd ignored line in Inputs section of help file. AU2A Added line to ignore comment (';') when looking for 2nd ignored line in Inputs section of help file. Fixed up PRTAC - it was overhauled incorrectly, not taking the new format into account. Someone fixed it partially, but not completely or correctly. Moved from Oz to 15JAN91 and 15OCT90. 6082. 1 July, 1990 FNDEOT, AVTP, FITTP Eric Changed call sequence to FNDEOT to have the calling routine pass in the IO buffer and its size. Some tape drivers require that the buffer always be larger or equal to the largest tape record. Moved from Oz to 15JAN91 and 15OCT90. 6083. 1 July, 1990 tapes Eric Changed a number of routines to test for non-standard and other pseudo-FITS tapes (e.g., RPFITS). This means checking the record length on tapes and checking the value assigned to SIMPLE. Changed: APLSUB/TAPIO Corrected a bug in which the FTAB pointer was used to count logical records in a physical record. Corrected it to return an error code (10) when the logical and physical lengths are incompatible. It was blithly proceding when the physical was < one logical. Added code to mask message about logical and physical length incompatibilities when MSGSUP > 999. BillJ had commented out these messages which is a very bad idea; lengths must be tested. APLSUB/TPHEAD Changed to handle the error 10 from TAPIO and to check the value assigned to SIMPLE. APLNOT/TPIOHD Changed to look for 2880-byte logical records, to handle the error 10 from TAPIO and to check the value assigned to SIMPLE. AIPSUB/AU4 Changed to handle the code for non-standard FITS-like data (-1) now returned by TPHEAD. APGNOT/IMLOD Changed to handle the code for non-standard FITS-like data (-1) now returned by TPIOHD. APGNOT/UVLOD Changed to handle the error 10 from TAPIO and to check the value assigned to SIMPLE. Changed to check tape errors and close tape properly as well in subroutine UVPARM. APLPGM/PRTTP Changed to handle the error 10 from TAPIO and to check the value assigned to SIMPLE. Also simple removed error 10 returns for VLA on-line data tapes. APGNOT/FILLM Changed to ignore error 10 from TAPIO and to mask length incompatibility messages. APGNOT/FILLR Changed to ignore error 10 from TAPIO and to mask length incompatibility messages. APGNOT/MK3IN Changed to ignore error 10 from TAPIO and to mask length incompatibility messages. APGNOT/MK3TX Changed to ignore error 10 from TAPIO. Moved from Oz to 15JAN91 and 15OCT90 - Bill has MK3IN so told him. 6084. 1 July 1990 SETPAR Eric Changed it to test limits on all parameters read from the user (an AIPS Manager). In so doing, relaxed the tests on TIMDEST limits to allow for even shorter time limits. Moved from Oz to 15JAN91 and 15OCT90. 6085. 1 July 1990 IBM discovered Eric Corrected GO TO's with an address inside a DO loop (usually the end thereof) in CLCOR, TABED, UNCAL, SETJY, and TABEX. Corrected two EQUIVALENCE statements which equivalenced a variable to itself as well as to other variables in GETJY. The CLCOR error caused a real error on all machines. Moved from Oz to 15JAN91 and 15OCT90. Moved to CV from Oz (based on version fetched today from CV. 6086. 1 July 1990 IBM discovered Eric UVFND had a logic error due to an error in indentation leading to an incorrectly placed END IF. There were branches into the IF block which the IBM RISC Series 6000 compiler detected. Moved from Oz to 15JAN91 and 15OCT90. 6087. July 3, 1990 CLCOR Bill C Corrected error indexing input parameter array for OPCODE='PCAL' (MkIII VLBI manual phase cal). The wrong phases were being inserted in the table. Moved to 15OCT90 this date. 6088. July 3, 1990 UVFIX Bill J. Was "ending successfully" despite no AN table leaving user confused. Added error messages and signals. In answer to Gripe 4326. Moved from 15JAN91 today. 6089. July 5, 1990 IMLOD Bill J. A test for bad History records was screwing up bandwidths in particular in the header. In answer to Gripe 4299. Moved from 15JAN91 today. 6090. July 7, 1990 DDTLOAD.001 Glen Replaced NCOMP=? with NCOMP=0 so ASCAL will pass the DDT test. Moved from 15JAN91 to 15JUL90 also this date. 6091. July 5, 1990 OFMDIR, AU5E Eric Moved OFMDIR from AIPSUB to APLSUB, added an error return to its call sequence removing the POPS error handling, and removed any writing of the OFM to the TV. Changed AU5E to account for the new call sequence of OFMDIR, to do the writing of the OFM to the TV on OFMGET, and cleaned up the error handling. Moved from Oz to 15OCT90 and 15JAN91. 6092. July 5, 1990 FILINI and FILAIP Eric Went through FILINI cleaning up the GO TO's into IF-THEN-ELSE and correcting the code. Whoever overhauled it, ignored all the changes in file formats. Corrected file size computation for public CA files in FILAIP (these are never used anyway). Moved from Oz to 15OCT90 and 15JAN91. 6093. July 5, 1990 AU4 Eric Corrected call sequence to FNDEOT to pass in the tape buffer. Fixed precursor remarks to FNDEOT as well. Moved from Oz to 15OCT90 and 15JAN91. 6094. July 8, 1990 DATBND Phil Was not applying the bandpass corrections to cross-polzn spectra (i.e. RL, LR) due to an indexing error. Moved from 15JAN91 today. 6095. July 8, 1990 SMOSP Phil Never smoothed anything other than the first polarization (usually RR) since it only ever though there was one polzn in the data, it now finds out for itself how many there are and does them all. Moved from 15JAN91 today. 6096. July 12, 1990 DATGET Bill C. Added compiler directives includes in front of DO loops 150 and 180 to suppress vectorization. When these loops were short they occasionally produced erratic effects when compiled using the vectorizer on Convexes. Moved from 15JAN91 today. 6097. July 13, 1990 SPLIT Phil When the CHNSEL adverb was used the channel bandwidth of the output file was incorrect. Moved from 15JAN91 today. 6098. July 13, 1990 AVSPC Phil AVSPC had been broken for 6 months, this was 'common knowledge' at the AOC - it wasn't so bloody 'common' to me. The problem was that the number of channels in the spectrum was being extracted from the output catalogue header not the input, so it was always 1. In the course of fixing this I found the same problem as was occurring in SPLIT ie. the channel bandwidth of the output file was incorrect. Fixed. Moved from 15JAN91 and to 15JUL90 this date. 6069. July 19, 1990 AIPSSHAR Chris Placed a new shell script, AIPSSHAR, in SYSUNIX. This is a simplified Unix shell archiver: it packages text files into a shell script that recreates the files when executed. Instruction may be found in the header of AIPSSHAR. This script is intended for packaging AIPS related programs, such as the various AIPS screen servers, that do not need the AIPS libraries so that they may be more easily installed on machines without AIPS. Moved from 15JAN91 this date. 6070. July 20, 1990 UNSHR Chris Added a standalone FORTRAN program, UNSHR.FOR, to directory YSERV. This program allows AIPS shell archives created with AIPSSHAR to be unpacked on machines that do not have a Bourne shell. Also moved AIPSSHAR to YSERV and created a README file to explain what is happening in this directory. Moved from 15JAN91 this date. 6071. July 23, 1990 COMRPL in SYSUNIX Chris COMRPL in SYSUNIX now excludes any environmental variable that ends in an upper- or lower-case variation of CWD or PWD from consideration when performing the reverse look-up of directory name to AIPS `logical' where it previously only exluded case variations of CWD and PWD as a complete environmental variable name. This prevents COMRPL being confused by the KornShell OLDPWD variable, and most other schemes that keep track of old working directories by storing them in environmental variables. Moved from 15JAN91 this date. 6072. July 25, 1990 AN10RS Chris Reimplemented AN10RS to deal with the case of excluded antennae. AN10RS was producing nonsensical output if any element of ANTENS was negative while all elements of BASELN were zero. This lead to UVCOP, UVFLG and VBPLT not producing output if the user had tried to exclude specific antennae. The code for the original version was sufficiently opaque to make writing a new version easier than locating the bug in the old version. However, inspection of the old code showed up a number of defects in addition to the problem of generating incorrect output for excluded antennae: 1 - the header comments were misleading regarding the output if ANTENS was all zero or positive and BASELN was all zero; 2 - if there were any antenna numbers following a zero in ANTENS or BASELN these would be ignored; 3 - if an antenna number was repeated in ANTENS all subsequent entries in the array would be ignored (BASELN was saved from this by an obvious typing error but the number of unique entries in BASELN would not have been counted correctly; and 4 - only the first NANT antennas in each of ANTENS and BASELN were checked, where NANT was the maximum antenna number in the selected subarray (tasks using the ANTENNA and BASELINE adverbs should function correctly even if the user specifies a number of non-existent telescopes). These defects are all fixed in the new version. Moved from 15JAN91 this date. 6073. July 30, 1990 IBLED Phil So many changes I don't know where to begin. - changed the whole philosophy of the program, instead of gridding the data to a scratch file and having to use the MDISK routines to access it ( which was very slow for this type of editing), I now load up arrays in memory with the amplitude and phase and flagging information and from this I load the TV and do all the editing. This has given IBLED a speed up factor of order 20. - Now use graphics planes for the editing instead of the image plane as before. This means I can use IMVECT instead of YIMGIO, this speeded up the loading and reloading of the screen by a factor of 5 or so. One problem with this occurs on Suns where I sometimes have only one graphics plane and two image planes, in this I load the data plus its labelling to the one image plane and the menu etc goes in the graphics plane. On IIS and IVAS devices this problem does not occur. - Added new flagging and display options, there is now the ability to perform an interactive clip. The user can plot his error bars. Can display any of the STOKES parameters in his data. Has the option to flag all data to a given antenna. - Tidied up a lot of the subroutines to make program maintenance a lot easier. - Rewrote the help file to reflect all the new changes. Moved from 15JAN91 this date. 6074. August 1, 1990 UVGRID glen Removed some of the debugging messages and reformated others. Also allowed points slightly closer to the edge of the V max of the grid to be used. (In earlier versions, some points were excluded.) Moved from 15JAN91 Yesterday 6075. August 6, 1990 AN10RS Chris Fixed a small coding error which caused the first baseline of an explicit set of baselines to be lost (I don't understand why I didn't see this when I tested this case). Moved from 15JAN91 this date. 6076. August 7, 1990 DAYFX Bill C. New task to patch up times screwed up by FILLM at the beginning of a new tape. It looks for a day number that is last than the last good day number and replaces it with the last good day number. With any luck this task will not live long. Moved from 15JAN91 this date. 6077. August 8, 1990 AREAS.DAT Bill C Added definition of logical YXAS to point to Y.XAS as the directory for the NRL X windows version of the AIPS TV. Moved from 15JAN91 this date. 6078. August 9, 1990 APLPGM:PRTTP.FOR Bill J. A new error code returned from TAPIO was not handled correctly in the case of Modcomp archive tapes. (Error code 10). Changed the logic to handle this correctly. Tested on archive and FITS tapes o.k. Moved from 15JAN91 today. 6079. August 13, 1990 AIPPGM:SETPAR.FOR Bill J. SETPAR wouldn't allow a code of "-1" for disk assignments (== scratch) for disks higher than 2. Minor code error. Moved from 15JAN91 today. 6116. August 14, 1990 XAS Z and Y routines Chris Placed the Y-routines and Z-routines necessary to support NRL's XAS screen server into the system. Some changes to the Z routines were necessary: addition of standard AIPS headers; removal of INTEGER*2 variables; removal of common header file from level-2 Z-routines; and removal of VMS support. The latter change was necessary since we have no mechanisms for compiling C under VMS at present and VMS support seemed incomplete. At present the Z-routines have only been placed in APLBERK since they rely on sockets. Moved from 15JAN91 this date. 6081. August 14, 1990 XAS Chris Placed a self-unpacking shell archive (XAS.SHR) containing the source code and Makefile for the NRL X-AIPS server in area YSERV. The only change from the NRL release is the inclusion of standard AIPS headers. Documentation will follow. Moved from 15JAN91 this date. 6082. August 14, 1990 AIPSSHAR Chris AIPSSHAR is no longer forced to run under the Bourne shell (it appears to require bash or the KornShell) and added the braces necessary to cope with the case where there are more than 10 files to archive. Moved from 15JAN91 this date. 6083. August 14, 1990 AREAS.DAT in SYSAIPS Chris Moved the declaration of YXAS to its correct place in the Y-routine declarations. Unfortunately the actual directory is also in the wrong place (it should be a subdirectory of YGEN): this will be painful to fix. Moved from 15JAN91 this date. 6084. August 15, 1990 GAL Eric Corrected the plotting aspects of the task: (1) logical variables were only tested for value 0.0, now <= 0.0, (2) MAPOPN used a constant for an in/out variable, (3) plotting of character "o" for data points led to odd shifts of location, not draws an x with GPOS/GVEC, and (4) changed to correct input variables for the model computation routine. Moved from Oz. 6085. August 15, 1990 DFTPL Mark/Eric Fixed a bug in ACDFT related to skipping visibilities. The logic was all wrong resulting in a bad pointer computation, and it could never have skipped anything anyway. Excised everything relating to variable ISKIP. This was a hold-over from its early days as UVPLT. Corrected handling of top strings in plot; changed from 200 to 500 maximum time bins, made sensible defaults for UVRANGE (0,0 was believed!), get default TIMERANGE from the data, set default time increment to 0.01 of the time range, switch to hours on the x axis, and plot the UVRANGE when it is used. Also changed adverb names in the Help file. Moved from Oz. 6086. August 15, 1990 UVPLT Eric In working on DFTPL, I noticed that UVPLT had its handling of the top lines in the plot messed up yet again. The location given is the BLC of the first character! Changed the line number at the top of the plot given to GINIT and altered the line spacing. Also added a digit to the bandwidth. Changed the time display to use TODHMS and corrected a format. Moved from Oz. 6087. August 15, 1990 Printing Eric Began the clean up of printing which will lead in the end to a cleaner interface to the "line printer" which can be one of a scratch file to be disposed to a real printer, a disk file to be saved but not printed, or a terminal. Because of WRITEs to unit 1 in some of the code, the middle of these cannot be properly implemented as yet. As of now, do not use direct writes to unit LPLUN (1) and use LPOPEN and LPCLOS rather than ZOPEN, ZCLOSE, BATPRT, and ZENDPG. At present, these still just call ZOPEN and ZCLOSE as we have been doing. A final switch can be done later after we change things slowly to correct the situation: PRTLIN Changed to handle blank title lines without putting numerous blanks on the output. This will allow special forms to be used on page 1. Also fixed it to watch for nulls in the strings. PRTALN As PRTLIN. LPOPEN New routine to open the full (old) range of line printer options. Also calls BATPRT for batch jobs on real line printers. LPCLOS New routine to close all possible line printer devices and clear them from the FTAB. Handles the final page and batch remarks as well (ZENDPG and BATPRT). IMERGE Cleaned up the typing --- people who do not follow AIPS typing standards should never put code in standard areas. ISORT Cleaned up typing and corrected it to make the algorithm work. Above remarks go double when the routine does not even work! TODHMS Removed from LISTR - converts time to 4 integers with no 60's and no 24's. Even checks the sign. Moved from Oz to 15JAN91 and 15OCT90. 6088. August 15, 1990 Printing tasks Eric PRTIM Removed all direct writing to devices and cleaned up the typing. Made the page titles a bit more legible. Corrected initializing page headers for non-standard types of images. Changed to use LPOPEN and LPCLOS. PRTUV As PRTIM. Also removed the junk referring to ZTX... files. That belongs elsewhere and will eventually be put there. Add support for linear polarizations. Fixed default line count and changed to use TODHMS. LISTR As PRTIM. Removed TODHMS to be an separate subroutine in APLSUB. New CV help file also installed. PRTSD As PRTIM and changed to use TODHMS. UVDIF As PRTIM, plus corrected default line count and changed to use TODHMS. UVFND As PRTIM, plus corrected default line count and changed to use TODHMS. Moved from Oz to 15JAN91 and 15OCT90 (except LISTR). 6089. August 15, 1990 Other printing Eric Changed the following to use LPOPEN and LPCLOS: AU1A AU7 PRTMSG BLSUM CORER PRTAB PRTAC PRTAN PRTCC PRTGA PRTTP TXPL (1) Also installed Mike Kestevan's corrections to RENAME in AU7. He noticed that RENAME did not check all disks and otherwise did not use the tools already available in CATDIR. (2) Changed PRTGA to use TODHMS. Also changed it to print all antennas in sets of as many as possible at a time. Dropped adverb BCHAN from code and help file. (3) Corrected VLA display in PRTAN - a station was listed twice in the mistaken idea that there are 25 stations/arm. (4) Changed TXPL to use the XYRATIO in the plot file and to represent grey-scales better. NOTE: all are based on the 15JAN91 version in CV, so a few improvements have arrived beyond those done in Oz. They include summing the flux before the first negative in PRTCC and handling labeled tapes better in PRTTP. Moved from Oz to 15JAN91 and 15OCT90. 6090. August 15, 1990 IMFIT, JMFIT Eric Mike Kestevan noticed a long time ago that IMFIT/JMFIT did not handle the case of non-square grids correctly. He made a partial change in the RP/AT version. Changed the NRAO versions to use LPOPEN and LPCLOS for the line printer and implemented a full handling of the coordinate increments. Added a sanitised version of ELIPSQ to APLSUB. This routine converts the parameters of an ellipse to different scalings. Note that the AT version had several errors in ELIPSQ and in handling the negative axis increment normal on the RA axis. Moved from Oz to 15JAN91 and 15OCT90. 6091. August 15, 1990 XVSS Chris Repackaged into a self-unpacking archive and move to YSERV. This should make installation easier. Moved from 15JAN91 this date. 6092. August 15, 1990 SSS Chris SSS, like XVSS and XAS is now packaged into a shell archive for easier installation and has been moved to YSERV. Moved from 15JAN91 this date. 6093. August 16, 1990 PRTUV Phil The logic for controlling how many channels could be printed on a line when docrt = -1 (or 132) assumed that the ampl, phase and weight occupied 15 columns, in fact after recent changes they now occupy 19 columns. Moved from 15JAN91 this date. 6094. August 16, 1990 AIPSSHAR Chris Changed the argument order so that the archive name comes first. AIPSSHAR now works under the Bourne shell again. Moved 15JAN91 this date. 6095. August 16, 1990 XASVMS.SHR Chris Archived the original versions of the XAS Z-routines from NRL and placed them in YSERV. This allows sites to get at the VMS specific code. This is tucked away like this since it is unsurported code: we do not have the equipment to test this in NRAO. Moved from 15JAN91 this date. 6096. August 16, 1991 README in YSERV Chris Revised the README file in YSERV to update the index of archived source files. Moved from 15JAN91 this date. 6097. August 16, 1990 XVSS Chris Minor modifications for release 2.0 of XView. - Added (void) cast to xv_init, which now returns a pointer to the screen object. - Set the XV_VISUAL_CLASS of the frame to PseudoColor. - Removed the explicit call to repaint_canvas() from resize_canvas(). This was necessary in previous versions because the CANVAS_FIXED_IMAGE property was ignored so that the bit gravity was always set to NorthWestGravity. This meant that shrinking the window did not cause an automatic redraw of the canvas. The redraw is necessary to recentre the image. Removal of the call improves performance since the canvas is no longer redrawn twice if the size of the window increases. - XV_X and XV_Y are no longer set in resize_pressed(). The new version of olwm is sufficiently literal-minded that it was placing the origin of the canvas at (0,0) on the screen so that the title bar and the control panel were above the top edge of the screen. Moved from 15JAN91 this date (on the assumption that the customers will have XView 2.0) by October. 6098. 19 August 1990 DDT Eric Changed help files DDT and DDTSAVE: (1) Added TERSE --- otherwise the adverb is useless. (2) Added OUTPRINT --- allows the print to be directed to a disk file, rather than be printed. Changed DDTLOAD.001: (1) Made TERSE apply to TPHEAD listings (2) Made UV flux difference cutoff far less sensitive; with fluxes like 16 Jy, tiny phase differences make more 15 milliJy amplitude differences. Raised it to 50 millis. (3) Made sure DOCRT = -1 on UVDIF runs, PRTMSGs, and PRTAC; DDT is intended to run stand-alone, not with someone at a terminal to hit carriage returns. (4) Restored PRTAC --- it is one of 2 purposes for running the whole thing. Also restored the PRIORITY 5 PRTMSG. (5) Changed to do PRTHED only if TERSE <= 3 and some of the PRTCAT only if TERSE <= 2. Moved from Oz to 15OCT90 and 15JAN91. 6099. August 20, 1990 AN10RS Chris Removed a block on autocorrelations. Moved from 15JAN91 this date. 6100. August 21, 1990 GAPLT Eric Bill J "fixed" the call to GINIT which he called "rubbish" by getting 2 arguments out of order (they were fine) and by adding CATBLK (which was missing). Corrected. Moved from Oz to 15OCT90 and 15JAN91. 6101. August 21, 1990 CVEL Phil Modified code and helpfile to deal properly with subarrays. There was a buffer problem if a flag table was being applied to the data while shifting. This was fixed. Also fixed once again the problem of trashing the HI file. Moved from 15JAN91. 6102. August 21, 1990 CVEL Phil When there are many sources in the datafile the interpolation of velocity shifts was being screwed up because it was not being reset at a source change. Fixed. Moved from 15JAN91 this date. 6103. August 22, 1990 TVOVER.TEX Chris Added TVOVER.TEX, a document giving an overview of the various workstation servers, together with installation instructions, to YSERV. Also updated the README file in YSERV and deleted the now obsolete TVINSTALL.TEX in DOCTXT. Moved from 15JAN91 this date. 6104. August 22, 1990 ACFIT Phil Problem with FQ ID's, the input adverb was being reset to -1 when the template spectrum is read, fixed this. Also fixed an incorrect format statement which attempted to report the above error. Made the default value of the subarray adverb mean subarray 1. Moved from 15JAN91 this date. 6105. August 22, 1990 BAKTP Mark Corrected call sequence of FNDEOT in APLUNIX:ZBKTP1.FOR. Moved from Oz to 15JAN91 and 15OCT90. 6106. August 23, 1990 POSSM & VBPLT Phil Both POSSM and VBPLT assumed that the row number = antenna number, in general that was not the case. Changed so that assumption is not made. Moved to 15JAN91 this date. 6107. August 23, 1990 APLBERK:ZDATE.C,ZTIME.C Brian These two routines broke when NRAO1 was upgraded to Convex OS 8.1. Times that were declared int should instead be declared type time_t. I checked some other Berkeley systems (SunOS [34].x, Alliant, Convex 7.1, Ultrix) to make sure this wouldn't break anything. Moved to 15JAN91 yesterday. 6108. August 23, 1990 Unix Directory reading Brian The following all broke at Convex OS 8.1 for the same reason. APLBERK:ZTACT2,ZTKILL,ZTXMA2 APLCVEX:ZSPACE Convex went to a more modern directory reading scheme. A different include file was required, and a struct direct becomes a struct dirent. Also some code that checks for null directory entries was excised since it was non-portable and made backwards compatibility more difficult (this test is only necessary if you have to read the raw directory). The source is ifdef'd on the posix source keyword to try to distinguish when it should try to use the new format. Moved to 15JAN91 yesterday. 6109. August 23, 1990 APLCVEX:ZTPOP2 Brian This broke at Convex OS 8.1 because the define FASIO became _FASIO to avoid compliance breaking namespace pollution. I ifdefed on posix source so it should still run under pre 8.1 convex OS. Moved to 15JAN91 yesterday. 6110. August 24, 1990 SOURNU Phil There was an interesting piece of code in here, on one line it was stated: equal = source(j).eq.sounam on the next: equal = source(j).eq.' ' which of course negated the first line. I removed the second line. Moved from 15JAN91 this date. 6111. August 26, 1990 UVCOP Gareth Two mistakes in a single IF statement in ESTSIZ led to an underestimate of the size of the output data set. Fixed. Bug fix only copied from 15JAN91 this date. 6112. August 29, 1990 APLVMS:ZTOPE2.FOR Bill C. Added "READONLY" to OPEN statment. This was causing one AIPS using HELP, EXPLAIN or INPUT to block another AIPS from accessing the .HLP file causing HELP, EXPLAIN, INPUT, GO, TPUT and TGET to fail. This was especially a problem for batch jobs. Moved from 15JAN91 this date. 6113. September 5, 1990 SSSS Eric Corrected APLBERK:ZSSSX2.C to exit on error. Previously it continued and could leave AIPS in an infinite loop reading zero bytes over and over from a dead SSS. Moved from Oz to 15JAN91 and 15OCT90. 6114. September 5, 1990 PCAL Bill C. Improved checking of error conditions. LPCALC did not check to see if an adequate total intensity of polarization model was passed. If the total intensity was 0 (a likely failure mode) then the fitted model had 0 for all parameters but PCAL otherwise appeared to work. LPCALC now complains and dies in this case. Also the handling of the case where an inappropriate IN2NAME etc. was provided was cleaned up. Dimension declarations were cleaned up in a number of routines. Moved from 15JAN91 this date. 6115. September 7, 1990 DFTPL Eric Corrected display of channel number. The number used for data selection was correct, but the number displayed was one too low. Moved from Oz to 15OCT90 and 15JAN91. 6116. September 7, 1990 SPLIT Phil There was some confusion caused since the default in SPLIT is to write both xc and ac data. When run through MX this caused large offsets due to the huge (sometimes) autocorrelations. Changed the defaults so that the default is now to write xc data only, the user has to think if he/she wants ac data. Changed the helpfile also. Moved from 15JAN91 this date. 6117. September 9, 1990 ZMOUN2 in APLCVEX Chris The Convex version of ZMOUN2 now uses the new (Convex OS 8.0 and later) tape interface ({\tt tpmount} and {\tt tpunmount} if it is available rather than the older {\tt tpalloc} interface. This allows AIPS to bypass ANSI labelling. This is done by testing whether {\tt /usr/convex/tpmount} exists and is executable and branching according to the result. Note that testing for the preprocessor string _POSIX_SOURCE is an unsafe method of distinguishing revisions of the Convex OS since the C compiler does not predefine it in all modes (in particular, it is undefined if the compiler is in strict ANSI mode). Moved from 15JAN91 this date. 6118. September 10, 1990 CCOPTS.SH Chris Changed CCOPTS.SH to define the preprocessor symbol _POSIX_SOURCE on the C compiler command line. This should be removed if using Convex OS 7.1 or earlier. Moved from 15JAN91 this date. 6119. September 10, 1990 ZMOUN2 in APLCVEX Chris It turns out that early versions (7.1 and earlier) of the Convex OS do not have the include file required by later systems. This is now protected by a preprocessor conditional keyed on _POSIX_SOURCE (hence the previous change). Moved from 15JAN91 this date. 6120. September 11, 1990 XAS.SHR Chris A number of minor changes. - IBM support: is included by {\tt xas.c} if the preprocessor symbol AIX is defined (hopefully this is defined by the RS/6000 C compiler. - Incorporated Eric's cursor changes from SSS. - Corrected indexing problems in returning the window size (corrections made to SSS by Eric). - Removed calls to XSetInput on EnterNotify and LeaveNotify in {\tt xas.c} events so that XAS complies with the ICCCM with regard to input focus. Moved from 15JAN91 this date. 6121. September 11, 1990 XVSS.SHR Chris Incorporated changes to {\tt cursor.c} from SSS. Moved from 15JAN91 this date. 6122. September 12, 1990 APGNOT:LWPLA.FOR Bill J. Modified this to write the text strings "%!" and "%% (origins)" in the file at time of construction rather than when the script file ZLASCL munges the file. "%!" tells the printer that what's coming IS PostScript and should be in every standard PostScript file. Before this was causing problems when users created disk files and then tried to print them without the benefit of the shell script. Chris thinks that it may have been done the other way for some reason but I don't see any reason why. Try this way and see if it breaks. Modified SYSUNIX:ZLASCL.PS also to reflect these changes. Moved from 15JAN91 today. 6123. September 13, 1990 GETJY Phil GETJY was complaining that it could only calibrate 130 sources when the user was only trying to calibrate 10, this was because a logic error in one routine caused GETJY to try to calibrate all sources in the SU table regardless of what the user wanted. In the course of fixing this I uncovered another problem; the helpfile claims that the adverb CALCODE only refers to sources in the CALSOU list, this was not the case it was checking all sources for the specified CALCODE, fixed this. Moved from 15JAN91 this date. 6124. September 14, 1990 ACFIT Phil The weights from the fitting were being written into the SN table incorrectly. The inverse is what should have been written - fixed. Moved from 15JAN91 today. 6125. September 14, 1990 VLBIN Phil Transferred all changes made in the TST version over the last month to 15OCT90. The various changes are: (1) Added the ability to print out the average clipper bias determined from the autoocorrelation functions. These are printed out for every antenna for every scan when AC data are present. (2) For line data the XC spectra were not being corrected by the fringe-rotation factor (1.28), this is normally part of the b-factor for continuum data but cannot be for line because it applies only to xc not ac data. (3) Fixed up the FBS correction to work properly when data were correlated with DLYBYREC true. The bad data at the bit shift boundary do not now occur. (4) After weeks of investigation I rediscovered the wheel. Apparently the cross-power amplitudes from the MkII correlator are a factor of 2 too high, this may be only true for correlator mode 0, we have to test this. The Cfa group have known this for years but neglected to write it down or tell anybody at NRAO. Effectively what that means is that the quantization corrections for line data should be: s(true) = s(corr) * 1.57 (Van-Vleck) * 1.28 (fringe-rot) ------------------------------------- 2.0 (bugger factor) By a (what I regard as uncannily weird) concidence, 1.57 * 1.28 / 2 = 1.005, i.e. YOU DON'T HAVE TO CORRECT THE DATA AT ALL! Fixed up VLBIN to do these corrections under user control, also modified the helpfile to explain all this. Moved from 15JAN91 this date. 6126. September 14, 1990 New task: UVGLU Huib/Phil A new task submitted by Huib Jan van Langevelde. This will glue together matching frequency blocks of spectral line data, i.e. if you had to split your 32 channel database into 4*8 channel files you can glue them back together with UVGLU. Moved from 15JAN91 this date. 6127. September 24,1990 MK3IN Athol/Bill C Extensive improvements and enhancements. 1. Extensions for Spectral Line Data. Some changes in the Fourier transform conventions were neccessary in handling multiple correlator module lag functions. In particular the lag order convention needed to be reversed to concatenate the output of the modules. This produced several other changes in the Fourier transform of the lag functions to cross-power spectra which are discussed in a separate memo. A difference in sign convention between FOURG and QUIKFT was resolved. The cross-power spectra are reversed in frequency and have opposite sign of phase with respect to the original MK3IN. The frequency order is consistent with the known single dish spectra and the sign convention is consistent with the SAO program MK3MK2 (which claims to use the NRAO convention). AC functions are treated separately and are corrected for bias and clipping effects before being transformed to AC spectra. Auto-correlation functions are typically generated by cross-correlating half the XC lag range. Individual correlator modules can however be placed in auto-correlation mode and this may be used in the future. Some changes in the code were neccessary to deal with the two methods of generating AC functions. Correlation functions which do not have the same number of lags as the output file are skipped and a warning is printed. This is neccessary to avoid 8-lag fringe finding scans which are often included in the output tape. A warning message is also printed in the centre lag of the correlation function is non-zero. Magic value blanking is used in the lag domain to avoid transforming lag functions with missing lags. 2. Multiple Observing Bands. The new MK3IN produces an FQ table and allows multiple observing bands. 3. FBS Corrections Numerous test were carried out to determine the FBS model exactly. The new version should now do this correctly. 4. Checks on A-tape File Structure. Some checks were introduced to ensure that the A-tape file structure is as expected by MK3IN. The A-tape file headers are decoded and the MK3 file parameters are extracted. A warning is printed if the tape is a member of a multi-volume SAVEM set, as this may cause loss of data. The type 50 records within each extent are required to be in the expected order and only complete scan-baseline headers are used. These checks should diminish the effect of tape errors which may cause loss of synchronization and will also alert the user to any future changes in the MK3 data format. 5. Data Rejection Criteria The data rejection criteria used by FRNGE at the Haystack correlator were implemented in the new MK3IN version. A breakdown of the error statistics is available for each scan which can optionally be indexed on correlator module serial number. This feature was requested by the Bonn correlator group for spectral line data. 6. Baseline Indexing The MK3 tape format is baseline-based and consequently there is a high degree of redundancy in source- and antenna-based parameters which is the format that AIPS requires. The new version of MK3IN assumes that source and antenna parameters in files for different baselines may not be consistent and carries out several checks in this regard. The data are not rejected or changed in any way but a warning message is printed. The correlator model input parameters (or closely associated quantities) are also monitored throughout the run. A summary of the correlator model is printed at the end of the run. These consistency checks should help to isolate problems in the data set caused by changes in the correlation strategy or when merging data correlated at different times or different correlators. These checks may also alert the user to any unnanounced changes in the MK3 output tape format. 7. New Input Parameters Some minor changes in the input parameters were unavoidable but these were kept to a minimum. The APARM parameters are now: APARM(1) CL table increment (min). APARM(2) Maximum parity error rate (def: 0.01) (previously PE count). APARM(3) Maximum dropout rate (def 0.5). Correlator modules are rejected if the number of bits correlated is less than this fraction of the expected correlator count. APARM(4) ge. 1 => No FBS (previous APARM(3)) APARM(5) Max no of files on tape to process. (0 = until EOF). This is useful for short test runs where it is important that task terminates normally and writes the full complement of tables. APARM(9) Print level (0,1,2,3). See below. APARM(10) Debug flag (as before). Experiment file parameters: STATIONS Station names (as before). TIMEOFF IAT-UTC (as before). NO_LAGS Accept only lag functions of this length (if not present this will be set by the first lag function encountered). This parameter was introduced to avoid problems when the first scan is a fringe finding scan. NO_IF Number of AIPS IF's in output file. Introduced for similar reasons to NO_LAGS. Optional, if not given then this is determined from the first scan. SIDEBAND Force double sideband structure in AIPS output file (if this parameter is 'DOUBLE'). Optional, the sidebands will be concatenated if both USB and LSB data are present. STOKES from set {'RR','LL','RL','LR'}. Define the Stokes range of the output file. The largest contiguous range within the parameters is used to define the output file. Optional, if not given this will be determined from the first scan. FREQCODE MK3 character codes for {RR,LL,RL,LR} in that order. These codes are not very standardised. A warning is given if an unidentified MK3 code is encountered. Previously these data were assigned the lowest Stokes value. (def: 'R','L','r','l'). The optional parameters defining the AIPS output file structure were introduced to deal with tapes containing test scans as the first files (eg AC tests) and to force consistency. 8. Print Levels The print levels available are: 0: Print only a source header for each scan. 1: Include a one line error summary for the scan. 2: Print the MK3 file names and extent numbers. 3: Produce a error summary for each correlator module. 9. Miscellaneous The time indexing of each data record required modification due to a few minor typographical errors and rounding errors. It was also discovered that data records may not have time marks at integral correlator accumulation periods for the nominal scan start time. A scan start time offset is accumulated for each scan and the time mark is written for the AP midpoint. The HP number conversion routines were checked against known HP number reprresentations. A minor error in the conversion of single precision reals was found. A correlator index is generated from the 20XX module cross-reference table before processing each new type 51 data extent. This allows video converters to be multiply assigned in a given scan and should allow XC/AC mixing. The delay offsets can be in arbitrary order in the cross-ref table. 10. Code Consolidation The large common blocks were broken up into smaller units to reduce considerable compiler overheads (debug tables) and the preamble comments were updated and consolidated. Moved from 15JAN91 and 15APR91 this date. 6128. September