----------------------------------------------------------------------- ; Copyright (C) 1996-1997 ; 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 the master version of AIPS kept in Charlottesville. An entry is: line 1: Date Program name Your name line 2: What was done (may span multiple lines). MAX 72 COLUMNS. line n-1: Where has this change been moved (e.g. 15APR97, nowhere) line n: Blank PUT A TAB IN THIS FILE, AND YOU WILL BE WHIPPED WITH A WET BANANA PEEL! 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. Likewise, the n'th line should be COMPLETELY blank (no spaces). Changes to 15OCT96 *********************************************************************** Changes while 15OCT96 was TST: *********************************************************************** *********************************************************************** 8922. December 21, 1995 ZDIE Eric Created a new Z routine to delete the /tmp/. files at the end of a task. They get deleted other ways too, but occasionally one has bad luck and the pid matches some long running pid on the system. AIPSPROTO.H to reference zdie ZABORS.C UNIX, BERK, SUN to call ZDIE ZDIE.FOR GEN to build task name and call ZDIE2 ZDIE2.FOR GEN stub ZDIE2.C UNIX to do the file deletion. DIETSK to call zdie Moved to 15JAN96 this date. 8923. December 21, 1995 ZWHOMI Eric ZWHOMI was depending on the SETPAR value for the number of TV devices. We can't depend on that being right with the ease with which they are added these days. Changed ZWHOMI to translate the AIPSTVS symbol used in assigning REMOTE TK numbers in the first place. Moved to 15JAN96 this date. 8924. December 21, 1995 Help and CookBook Eric I forgot ZZANALYSIS and COMPRESS changes ZZPOPS and ZZPSEUDOVERB. Also the CookBook Chapter 13 changes. While we are at it I reworded the 1-liner of COMPRESS to say more. Corrected typographical (spacing) errors in chapters 2 and 4 of the CookBook and an error in a reference to extended hex in Chapter 3. Moved to 15JAN96 this date. 8925. December 21, 1995 SPLIT Eric Fixed two errors: (1) The loop over sources in SPLTUV did not alter SELQUA. Thus, if there were > 1 qualifier for a source name, the cal routines would think they were writing a multi-source file. Fixed by setting SELQUA to the current qualifier. (2) The routine that makes a list of desired source numbers had an error test for the list going from > 0 to 0 due to a check on the index table. The wrong variable was used for the error code so the task continued rather than dying as was intended. Moved to 15JAN96 Dec 22. 8926. December 26, 1995 Guest TVs Eric There is no reason why a "remote" computer (not in the TVHOSTS list) cannot run XAS and receive TV signals from the server computer. Even if the 2 are reversed in byte order the TV, TEK and MSG servers all work. The only complication is in the IC and ID files - guests on a server get a guest IC and ID which are not the same as on their machione. If multiple computers address a screen being used by a guest TV then some confusion about images and whioch channel is on etc. will occur. Changed: AIPSEXEC To set the remote TK at 36 higher than before, i.e. to AIPSTVS + 37 through 71. TVDEVS.SH To allow for unknown TVHOST = TVDISP to pass through. ZWHOMI To gets AIPSTVS (# known TV hosts) and recognize the guest usage. It then determines which guest account (if any - it looks for available ID files) is available, creates a /tmp/GUESTVn lock file, does any needed assignments of logicals for TV and TK. ZDIE To call ZGUEST to kill the guest TV if needed. ZGUEST New: to create / delete the /tmp/GUESTVn files. Moved to NEW Dec 27. 8927. December 26, 1995 ZACTV9 Eric Called the function "creat" which does not care whether the file being created already exists or not. Changed to call "open" with the addition of an excl flag to require that the file not exist. Moved to NEW Dec 27. 8928. December 29, 1995 UVAVG Leonia When a user erroneously make ZINC too small, the task died a horrible death without explanation of the reason. It occured because the size of prepared space is proportional to the selected ZINC and can be smaller the true file size. I make the task die quietly in such a case with explanation of the problem. The reminder about nesessary proximity ZINC and true pre-average time is added in HELP file. Moved nowhere. 8929. January 2, 1996 $QPGNOT/CALIB.FOR Athol CALIB assumed that the antennas were numbered sequentially in the AN table, i.e. that the row numbers and antenna numbers were equal. DIFMAP, unlike most AIPS tasks, will delete the AN record for any antenna that is flagged completely. Subsequent CALIB iterations failed for antennas near the bottom of the AN table, as the maximum antenna number was computed incorrectly. Fixed this problem. Moved nowhere. 8930. January 3, 1996 CookBook Eric Putback a revised Chapter 12 (advanced POPS etc) including new capabilities for remote use, COMPRESS, etc. Changed Cross references in Chapters 3 and 7 to chapter 12. Added AHISTM HISEQ MF2ST, SKYVE to Chapter 7. Redid the table of contents COOK0 and the index COOKI to match all this. Moved to 15JAN96 since there is but one area. 8931. January 3-4, 1996 ZSSS*2.C Eric Changed the name of 4 external variables to be different from those used by ZVTP*2.C. Moved the external variables declaration inside the code as "external" in ZSSSX2 and ZSSSC2. It is improper to declare the variables externally more than once, although it took SGI's latest linker to complain about them rather than doing the right thing. Moved to NEW this date. 8932. January 4, 1996 $HLPFIL/APCAL.HLP Athol Revise EXPLAIN file for APCAL. Add more information regarding source flux densities and the format of the external weather file. Moved to NEW (15JAN96) this date. 8933. January 7, 1996 $APGNOT/UVAVG.FOR Athol Revise #8928 to be more robust. Trap attempts to write beyond the EOF rather than checking the averaging time in the uv-data against ZINC. User impact: UVAVG failed without due cause in some cases. Moved nowhere. 8934. January 8, 1996 $APGNOT/UVCOP.FOR Leonia For a long time (perhaps always) there apears to have been a typographical error in subroutine ESTSIZ. The following line is in error: OURS = ((FRQSEL.NE.0) .OR. (FREQID .EQ. FRQSEL)) FRQSEL never equals zero, because FRQSEL>0 if a specific freqid is selected, and FRQSEL is set to -1 in COPYIN if zero freqid is specified on input. Therefore OURS is always true and the size of the output file does not depend on freqid selection. Changed line to: OURS = ((FRQSEL.LE.0) .OR. (FREQID .EQ. FRQSEL)) Moved nowhere. 8935. January 11, 1996 $SYSUNIX/AIPSASSN.(C)SH Dave Over time, the AIPSASSN.(C)SH scripts at the AOC had picked up slight differences from the SYSUNIX version and from each other. I incorporated the relevant stuff into a single version and took out some old things which haven't been used for awhile (CVEX!). Moved nowhere, man. 8936. January 11, 1996 $SYSUNIX/READLINE.SHR, etc. Pat Created three new AIPSSHAR format archives to hold the three directories needed to build the GNU ReadLine library: READLINE.SHR, RLDOCS.SHR, and RLEXAMP.SHR. The last two should be expanded into docs/ and examples/ subdirectories of wherever the READLINE.SHR file is expaneded; INSTEP1 needs to take care of this for source-only builds. Moved to NEW this date (as should a lot of the above changes...) 8937. January 11-13, 1996 Misc from Alpha Eric The alpha compiler is good at warnings. With the usual 0 initialization the following are not serious: RANDIN Changed Common /RANDOM/ to /RANDMM/ to avoid conflict with library function name RANDUM /RANDOM/ -> /RANDMM/ QMSPL /RANDOM/ -> /RANDMM/ CANPL /RANDOM/ -> /RANDMM/ STFND KOFF was used without intialization - variable dropped. ACFIT USERID set to IUSER an uninitialized local variable DCONV NMAX declared before and after the PARAMETER statement. LTESS Used left over adverbs not present in task to set Common parameters which were not used MK3IN In AT10XX, IBASE referenced in debug section without initialization. GUESSED that an equivalence was needed to TMPBUF(2) as in other routines. SELSD Removed left over error test, no longer meaningful. SNSMO Record offset in RFFXFG routine not initialized - 0 seems what was desired. STESS Used left over adverbs not present in task to set Common parameters which were not used UFVFIL Alpha complained wrongly about 2 out variables not initialized; added inits to fool it and to be defensive UVIMG Removed line using F which was not DATAed. DOSMTH set correctly a few lines later. IM2UV Changed a double comma to a single comma in a FORMAT. FRMAP OLDSRC = SRCDUN where SRCDUN never set and OLDSRC never tested or used; dropped both variables. TVFLG Droped a test against TEMP (=0) since always true. VBPLT Dropped a bunch of unused code that gave warnings a counted junk. VPLOT Dropped a bunch of unused code that gave warnings a counted junk. ITICS Dropped an unused error message section. **** But the following may have caused an error: GSCAT OUTIND not initialized - meant buffers addressed from 0 IMFIT A bad number of good samples was passed to the first call to LMSTR1. It may not have mattered since FCN does not use that parameter. VLBIN Corrected an error in calculating the earth rotation rate and removed unused and erroneous code purporting to set up history info ISPEC Used an otherwise unused variable (SCALX) to set an offset to the plot. Using SCALY as intended will change the offset a lot, but may not affect the plots. IBLED Used a bad subscript into the ERRORB array when plotting error bars for the upper (full vis) plot. Used uninit I rather than IX. PFPL3 Did not have a good value for magic blanking. SPFLG Droped a test against TEMP (=0) since always true and fixed tests in the history writing that left things out when the 1st antenna stayed the same but the 2nd changed. Moved to NEW. 8938. January 14, 1996 BPASET Eric This piece of shit was setting ARRAY(TELNO(I)) without regard for the value of TELNO(I) for i = 1 through 90!. Caused DEC machines to blow up I am tempted to cancel the release when I look at this code. Between BPASET, BPFSEL, BPREFM, and POLVIS (alone) there are 26 arrays dimensioned (MAXCHA,MAXIF) rather than (MAXCIF). The former is 114800, the latter 8192 which may be a little small. Thus these 4 subroutines alone make many tasks (almost all with shared libraries) use about 10 Mbytes more swap than they need. There are many more such misuses of the worst case scenario - in DSEL.INC, DUVV.INC, DBAV.INC etc. BP and Pol cal must be rewritten - but it's not my job anymore. Moved the simple fix to NEW this date. 8939. January 14, 1996 Undefined floats Eric POPS puts V(SP) = C(j1) in a value stack even when this is not appropriate (i.e. j1 = 2) and the C is an integer of the equivalence K. This cannot be changed since the legal/illegal j1's cannot be fully determined. Changed AU2, AU5, AU5C, AU8, AU9C, AUC, and SUBS to check for an array/string name on the stack rather than a scalar. This should reduce the problem. DEC OSF/1 is unforgiving about math with bad values. Moved to NEW this date. 8940. January 15, 1996 Buffers used by ANTAB/GC tables Athol MK3 data require more substantial buffers due to the larger number of IF channels. Increase all gain curve (GC) table I/O buffers from 8192 to 16384. Make this change in $APLNOT/GCINI.FOR, $APLNOT/TABGC.FOR and $APLNOT/GCKEY.FOR. Increase general buffers BUFF1 and BUFF2 in $APGNOT/ANTAB.FOR accordingly. Also increase the ANTAB work buffer in subroutine TYCONS, used when consolidating the system temperature entries in the TY table. This limit breached by a combined VLBA dataset stretching over four days. Moved to 15JAN96 this date. 8941. January 15, 1996 $APGNOT/UVFIX.FOR Gustaaf Added the recent leap second information of January 1 to the UVFIX code. Moved nowhere 8942. January 15, 1996 IMFIT, JMFIT Eric Changed integral flux units from JY/BEAM to JANSKYS when possible. Moved to 15JAN96. 8943. January 16, 1996 IMMOD Eric Changed scaling of brightnesses to account for the beam in the input image. Moved to 15JAN96. 8944. January 16, 1996 TVCPS Eric Added OPCODE = 'COLB' which makes blanked and edge pixels 'FFFFFF' rather than '000000'. The latter is black, the former transparent on transparency paper. Option ignored when DOINV TRUE. Moved to 15JAN96. 8945. January 16, 1996 KNTR Eric Needed to use LOCNUM = 2 for calls to PLTBEM - LOCNUM = 1 can be messed up with labeling type choice but 2 is in standard coordinates. Moved to 15JAN96. 8946. January 17, 1996 TVRGB Eric Changed code so that, if DOOUT > 1.5, fully blanked pixels are converted from black to white (transparent). Moved nowhere, 15JAN96 is frozen fairly solid. 8947. January 17, 1996 $APGNOT/SPCAL.FOR & .HLP Athol Upgrade of SPCAL. New features include: i) larger buffers to accomodate VLBA datasets; ii) more careful checks on pre-avg. buffer pointers; iii) new solution type 'RAPR' which assumes that the linearly polarized emission in each channel is a scaled form of total intensity (as in PCAL). Moved to 15JAN96 (before hard freeze). 8948. January 18, 1996 CookBook Eric Modified COOK13 (and help file ZZMODELING) to update all ABOUT files to the absolutely latest point. Modified COOKZ to change the ftp instructions to send slides to CV and to mention e-mail with gripes. Moved nowhere. 8949. January 22, 1996 DOSMTH Eric Changed CALEDIT to init DOSMTH to true - it will be unset if SMOOTH is 0. Changed CALEDIT to declare SMOOTH as an int, matching the DSEL.INC definition. Changed IMAGR and BLING to declare SMOOTH to be integer. Moved from 15JAN96 as a temporary patch. 8950. January 22, 1996 CHINC Eric This was badly messed up too. OUVIMG in QUVUTIL set CHINC to 1 rather than finding out what its value really was and then passed that to IMGMEM which passed it to a header correction routine. Changed QUVUTIL to acquire the real CHINC from the UV object. The header routine had the bizare idea that the frequency increment should be the averaging width if channel are averaged. That makes sense if they are all averaged, but not if just some are. Changed IMHCOR to test the number of points on the freq axis too. Moved to 15JAN96. 8951. January 21, 1996 TRANS Eric The fix of the ALT ref pixel did not consider the sign applied to the new axis - leading to trouble when people reverse a frequency axis (which they should do in some cases). Added a test for sign and the correct fix for reversal. Moved to 15JAN96. 8952. January 22, 1996 $APGNOT/FXVLA.FOR & .HLP Athol New task to correct a UT1 interpolation error affecting VLA data between 30 Dec 95 and 5 Jan 96. This error was caused by interpolating over a leap second discontinuity. Best to keep this task in the system as these data may be reduced much later. Should go to NEW. 8953. January 23, 1996 LWPLA Eric Added 11x17 paper and user-dimension paper to the output options. Moved nowhere. 8954. February 1, 1996 PRTIM Eric The scaling was trying to set a blanked value around -2**31 which caused some systems (Linux) to blow up. There is no need for such extremes and I changed it completely to use normal numbers. (These extremes made sense with 16-bit integers.) Found that a character buffer was only 70 long, despite being prepared to put 126 characters into it. Correctd the handling of characters in the display routine in general. Moved to patch for Linux. 8955. February 6, 1996 READLINE.SHR Pat Two C routines did not compile under HP-UX A.09.01, rltty.c and readline.c. Both needed appropriate #ifdef or #if defined clauses around problem code. Inserted same in a generic manner. Moved to the 15JAN96 distribution today. 8966. February 6, 1996 $APLUNIX/ZGUEST.C Pat The HP compiler (by default non-ansi) does not like aggregrate initialisation of automatic arrays (e.g. char foo[4] = "bar";), so I made the one such statement herein static. That makes the compiler happy. Moved to the 15JAN96 distribution today. 8967. February 6, 1996 $APGNOT/IMFIT.FOR, JMFIT.FOR Pat Inserted necessary commas in a format statement. HP-UX is very fussy about having these (e.g. 1X,'FOO 'I3 has to be 1X,'FOO',I3) and will refuse to compile Fortran unless they're in the right places. Moved to the 15JAN96 distribution today. 8968. February 6, 1995 $APLSGI/ZGRLTC.C Pat Because the use of Posix was mandated in the compile switches, this routine when compiled cannot get the Berkeley extension prototype for strdup() and thinks it's an int. Quick solution is to cast it to a (char *) in the three places it's used. Longer term solution is not to use strdup (as Jeff indicated to me earlier today). Moved to the 15JAN96 distribution today. 8969. February 7, 1996 $APGNOT/DTSIM.FOR & DTSIM.HLP Athol Data simulator used by VLBA DDT. Placed in system to facilitate easier testing. This is an alpha release only. Moved nowhere. 8970. February 7, 1996 $SYSLINUX/f77 Jeff Now keeps some interim (f2ctmp_*) files around if called with -g (e.g. when COMLNK is called with DEBUG option). Needed for decent behavior of gdb on tasks. Moved nowehere. 8971. February 8, 1996 $APGNOT/FXVLA.FOR Athol Leap second was not corrected at midnight 31 Dec as originally believed; rather some hours later during the shutdown. Adjusted table of time offsets accordingly. Moved nowhere. 8972. February 9, 1996 VPLOT Eric Numerous ATAN2's in the task did not check for both arguments being zero. This occurs and crashes things. Added a bunch of tests. Why are som any Vis's exactly 0 with positive weights? Moved nowhere. 8973. February 12, 1996 LTESS Gustaaf LTESS had the cutoff for the primary beam hardcoded at 7%. On Rick Perley's request I modified LTESS and APLPBI to allow the user to specify the cutoff. It still defaults to 7%. Moved nowhere. 8974. February 13, 1996 VLBA DDT Athol Add new features to $APGNOT/DTSIM.FOR including BP response and amplitude errors. Task is still being evaluated but needs to be in TST. Also added new task $APGNOT/DTCHK.FOR to determine test compliance after simulated data have been processed. Modified/added $HLPFIL/DTSIM.HLP and DTCHK.HLP. Moved nowhere. 8975. February 14, 1996 PCCOR Leonia This is a new version of PCCOR which implements the algorithm proposed by Craig Walker. This algorithm resolves TWOPI*n ambiguity better in the case of non-contiguous IFs. Moved nowhere. 8976. February 14, 1996 $YPGNOT/APCAL.FOR Athol Increase gain (GC) table buffers to 16384 to accomodate MK3 datasets with 28 IF channels. Strip any null characters from antenna names to increase the robustness of the calls to the KEYIN routines. Improve handling of source selection of the type "-SOURCE". Moved nowhere. 8977. February 15, 1996 $APGNOT/SETJY.FOR & SETJY.HLP Athol Add new polynomial coefficients for flux density calculations using OPTYPE 'CALC'. These values derived by Perley & Taylor from VLA flux density monitoring in 1995. Also corrected rounding errors introduced in SETJY for the Perley 1990 coefficients. This error, which for 3C286 ranges from 0.5% to 1.9% from P-band to Q-band, was recently uncovered. The rounding error for the other sources is less significant. Updated the HLP file to reflect these changes. Will move to patch area. 8978. February 15, 1996 $APGNOT/FITLD $INC/DUVV.INC Phil Several changes: (1) Added the default option of deleting the VLBA Tape Statistsics table. This is a large table that is only needed for diagnostics. Users have to specifically request it via OPCODE to keep it. Also changed FITLD.HLP (2) Added the first round of code to deal with source and frequency subarrays. FITLD does not attempt to label such subarrays on the fly - much too complex an operation, but it will recognize them and tell the user. It will also delete the NX and CL tables and, depending on whether a source or frequency subarray was found, tells the user to run USUBA or UVCOP and reconstruct the NX and CL tables. (3) Due to a deficiency in the binary FITS design the polarization label is held constant for a correlator job in the case of single polarization observations. This was fine since the default for most VLBI observations is to use LCP, however X-band has traditionally used RCP and since the VLBA can switch bands quickly more people are doing this. This results in jobs which start at X-band having a different polariztion label than those that start at other bands. Fixed up FITLD to pass such data through with a warning to the user. No harm comes from this mis-labelling. The design of the table is being reconsidered. (4) Following Eric's observation that FITLD was one of the major culprits of memory gulping (via DUVV.INC), I examined what was needed and was able to reduce the memory required considerably. Removed DUVV.INC from the system (only FITLD called it) and incorporated it as a local include. Also fixed up the section of code that was causing the problem. FITLD is now much more friendly in terms of memory useage, more will follow. Moved nowhere. 8979. February 20, 1996 VLB DDT Athol Upgraded versions of $APGNOT/DTSIM.FOR and $APGNOT/DTCHK.FOR placed in the system for continued testing. Also updated $HLPFIL/DTCHK.HLP to document new features. Moved nowhere. 8980. February 21, 1996 $APLNOT/CLBPA.FOR & $QPGNOT/CALIB.FOR Athol CALIB did not always deal correctly with the case of dual-polzn. data where one polzn. is missing throughout a solution interval. In the fit, polzn.-independent weights were used, which at times led to very high gains in the missing sense of polarization. This in turn biased the mean gain modulus (MGM), if computed. Errors in the MGM were cumulative over several iterations. Corrected this error by passing polzn-dependent weights to CLBPA to be used in the fit. Single polzn. data are unaffected. The incidence of this error in dual-polzn. data may be low. Moved nowhere. 8981. February 21, 1996 DOSMTH Eric This parameter is a strange one - there is no user adverb that sets it directly. SETSM will set it false if SMOOTH(1) = 0, but it is not called by UVGET on INIT unless DOSMTH is true. Changed SELINI and CALEDIT to initialize DOSMTH to true, leaving UVGET to call SETSM to do the default thing with SMOOTH and DOSMTH. This allows a programmer to block smoothing before the UVGET (INIT) call if he/she desires, but removes the need for that parameter to be set when normal behavior is desired. Normal behavior was unavailable to OOP code before this change. Moved nowhere - partly done previously to NEW and TST. 8982. February 21, 1996 SMOOTH Eric The SMOOTH parameter was declared integer for no good reason and the frequency smoothing was done with an array that was large and calculated as finely as 1/500'th of a channel, but only used at every integer channel. Further, the limits set on the invocation of frequency smoothing required an even larger array and would have divided by zero had any user invoked extreme frequency smoothing. To straighten out this mess, changed: PUVD.INC Define parameter MAXSMO=256, the width of smoothing support in channels. DSEL.INC Removed SUPRAD and SMDIV variables, changed SMOOTH to REAL and declared SMTAB(MAXSMO). CALEDIT Changed back to declaring SMOOTH floating. BLING Changed back to declaring SMOOTH floating. IMAGR Changed back to declaring SMOOTH floating. SETSM Corrected error: the range of channels was extended from BCHAN and ECHAN by the smoothing width (SMOOTH(2)) not the support radius. Changed to limit the support radius to MAXSMO-1 and reset SMOOTH(2) if too wide a function was requested. SMOOTH(3) ends up as 2 * support-radius + 1. Cleaned up coding some, removing any subdivisions in the table. SMOSP By rearranging loops, changed the TEMP array to save MAXCHA floats and to speed addressing, removed all the subdivision and rounding in the addressing (integers are simpler and more reliable), corrected it to compute BCHAN to ECHAN rather than a wider range of channels, simplified the use of TEMP and the computation of addresses into the VIS array. Many tasks set SMOOTH with IROUND, set DOSMTH to SMOOTH(1)>0, and put some version of SMOOTH into the HI. Changed to copy floats to SMOOTH, ignore DOSMTH (now true and controlled), and to do a better HI line: ACFIT DECOR LISTR SHOUV UV2TB UVFIT UVIMG BPASS FRING HORUS CPASS IBLED POSSM FRPLT SPFLG TVFLG UVPLT VBPLT CLPLT VPLOT UVPRM UVPRT SPCAL SPLIT CALIB Moved nowhere. 8983. February 21, 1996 MAXCHA Eric The maximum product of spectral channels and IFs is MAXCIF which is 8192. The product of MAXCHA and MAXIF is now 28 times MAXCIF and must never be used. Changed: PUVD.INC Increase MAXCHA from 4100 to 8192 to support the Australia Telescope. Left MAXCIF at 8192. MAXCIF will be taken to be the max product of # polarizations times # channels times # IFs. Data addressing in input buffer was done with a vast array JADDR and SELFAC each (2,2*MAXCIF). Changed these to be (2,4) via: PUVD.INC Dropped XTTSZ. DSEL.INC Changed JADDR, SELFAC dimensions and changed MVIS to MVIS(8) to pass loop parameters etc. DGINIT Changed to return the loop pointers in MVIS(*), use small dimension for JADR and SELFAC. Corrected numerous tests on various general Stokes conversion cases that were wrong or too limiting and added the ability to make RL and LR from Q and U. DGGET Changed to use MVIS(1-8) to loop, to understand flagging when the input is dimension (2,*), to handle the new RL/LR mode, to take and use new argument TRANSL to imply simple copies versus translations. DATGET Changed to call DGGET at all times, passing TRANSL. Corrected TBUFF size to 3 * MAXCIF rather than 12 * MAXCHA. DGETSD Changed to call DGGET at all times, passing TRANSL. Corrected TBUFF size. SDGET Dropped peculiar setting of JADR and changed to call DGINIT in all cases. Added to buffer overflow tests. UVGET Add to buffer overflow tests. MX Changed dimensions of JADR and SFACT, added .TRUE. to call to DGGET to do translation. ACFIT Changed buffer from (2,MAXIF,MAXCHA) to MAXCIF and fixed code to use more efficient addressing (array with chan first, then if, then pol as the loops are constructed). Dropped the pretense that BIF,EIF and BCHAN,ECHAN are anything besides 1,NUMBIF and 1,NUMFRQ (which were used a few places). Fixed dimension of VIS - 8192 should be 3*MAXCIF+say 20. SPLIT Changed VIS from 12*MAXCIF to 3*MAXCIF, the new limit. changed buffers to UVBFSS from UVBFSL. Moved nowhere. 8984. February 21, 1996 LAMSQ Eric LAMSQ is a variable defined in DSEL.INC with the no-no size. Changed: DSEL.INC To make it LAMSQ(MAXCIF), add MACIF, MACCHA GAININ Cleaned up typing, changed LAMSQ addressing using new pointer MACCHA (the ECHAN used in setting LAMSQ) DATPOL Compute offset to address into LAMSQ ORIPOL Compute offset to address into LAMSQ VLBPOL Compute offset to address into LAMSQ PCAL Compute offset to address into LAMSQ Moved nowhere. 8985. February 21, 1996 POLVIS Eric This subroutine (to ratio 2 polarizations) was the largest in all of our libraries, requiring 5.5 Mbytes (soon to be 11 Mbytes) of non-sharable local data space. It turned out that this subroutine was used only by VPLOT and VBPLT, but with shared libraries the 5.5 Mbytes was a millstone hung around the necks of all "not standard" tasks. Upon examination, the 5,5 Mbytes was used for a TEMP array that was not needed at all! Coding conservatively, the TEMP array of 5.5 Mbytes was replaced by 16 bytes of TEMPxx variables, 8 of which were already there anyway. Further examination revealed that when the denominator vis was flagged, the output was not flagged (unless the numerator was also flagged) but was modified by the flagged vis with a denominator set to 1! The subroutine also ignored the possibility that the Stokes axis might not be the second axis, although all calling routines were careful to honor the possibility, by now messed up, later. Changed POSSM - it had a copy of POLVIS that was verbatim the same except that the dimension of TEMP used MAXCIF rather than MAXCHA * MAXIF. Moved nowhere. 8986. February 21, 1996 TABIO Eric Changed TABIO so that the work buffer is always 512 words, large data records are read/written directly to disk. Changed TABINI Dropped NBUF from call seq. TABIO Restructured to add immediate read/write for large records (flag word costs a 256-word scratch) and to use IF/THEN/ELSE where possible. Code is now simpler I hope. Changed TABINI call seq in: BPINI LISTR MX CLPLT TABSRT SPFLG TVFLG VBPLT VPLOT AU8A ANTINI CCINI GSCRED STOPEN BLINI BSINI CALINI CCMERG CCMINI CHNDAT CLSORT CQINI CSINI FLGINI FQINI GACSIN GAINI GCINI HFINI IMREF1 NDXINI OTTINI SETGDS SNINI SOUINI SUMARY TYINI GRDCRM VISDFT VSCDFT VSFDFT STARPL BLFIT(in APLCONTR) CORFQ MF2ST PRTAB PRTCC SAD TACOP SNPLT PROFL CCNTR APCLN SDCLN RSTOR CCFND CCMOD CLSMO DBCON FITTP FXPOL GSTAR MFPRT SDTUV STARS STRAN TABED TAMRG TBOUT USUBA For include files in table usage (with FITLD mostly), dropped NBUF and moved the table title, column units, and column labels into the *INI.FOR from the D*V.INC include. Made the RECORD variable be *TAB.FOR. All these avoid repetitions of unused variables one way or the other. Changed: DAGV.INC AGINI AGTAB DATV.INC ATINI ATTAB DBCV.INC BCINI BCTAB DBAV.INC BAINI BATAB The above plus redefined the RECORD variable from MAXCHA*MAXCIF*4+10 to XBPRSZ and the bandpass parts from (MAXIF,MAXCHA) - note backwards - to (MAXCIF) DCAV.INC CAINI CATAB DCMV.INC CMINI CMTAB DFLV.INC FLINI FLTAB DFRV.INC FRINI FRTAB DIMV.INC IMINI IMTAB DPCV.INC PCINI PCTAB DSOV.INC SOINI SOTAB DWXV.INC WXINI WXTAB Also TABINI call seq plus: BPREFM Make 2 buffers (512) rather than (16384). UNCAL Drop buffer size to 512 for BPIN and other table routines. BPCOR Drop buffers from 16384 to 512 GAININ Call seq TABSRT, TABINI, DSMEAR; previous NBUF wrong. TAFLG Revise buffer handling to handle cells > 256, rows > 4096. TAPLT Revise buffer handling to handle cells > 256, rows > 4096. CLCAL BUFFER, OBUFF (2048) -> (512). UV2TB BUFFER(8192) -> (512). NBUF was wrong by *2. VBGLU Changed row length from 10+4*MAXCIF to XBPRSZ (half) and 2 buffer sizes from UVBFSL (> 64000) to 512. TBDATA Changed max cell size from 1024 to MAXCIF, drop work buffer from 4096 to 512, change max record length from 3000 to XBPRSZ. Corrected DP variable in equivalence which was twice too long. TBHEAD Changed buffer from 4096 to 512. TABMRG Changed max row length (512) to (XBPRSZ), fixing DP equivalence error. Changed call sequence dropping buffer lengths now fixed at 512. ACTFRQ Changed a buffer from 17000 to 512. PUVD.INC Add parameter XCLRSZ = 40+13*MAXIF - max CL record size (will do for SN too) TABCAL Changed to use XCLRSZ and to do it correctly with DP. TABSN Changed to use XCLRSZ and to do it correctly with DP. CALSEL Changed DP (1024) equiv to int(1024) - changed to use XCLRSZ. SOLCL Changed to use XCLRSZ. FRQUPD Changed to use XCLRSZ - was 22 + 60*MAXIF for int and 11 + 30*MAXIF for real! Did correct sort buffer size - it was too small before. CLREFM Dropped 2 buffers from 1024 to 512, changed to XCLRSZ. CQMAKE Drop NBUF from call seq. FXVLB Change CQMAKE call seq. DSMEAR Drop NBUF from call seq. DCVL.INC Change XLBUFF(1024) to (512) TABAPP Change call seq, dropping NBUF but adding RECORD. Change TABIO loop to use RECORD. Routine is never called. MAKTAB Drop NBUF from call seq UVLOD Change MAKTAB call, change buffer(8192) -> (512). IMLOD Change MAKTAB calls, buf(1024) -> (512) TBIN Change MAKTAB call, buf(87192) -> (512) APCAL Changed 2 buffers from 16384 to 512. FRING Dropped EQUIVALENCE of large FLUX array to BLBUFF (which is no longer large). CCMRG Changed to call external subroutine CCMERG . FITTP Moved 2 unsed subroutines to $APLCONTR/FITTP.JUNK. PCLOD Eliminated extra simple scratch buffers and made smaller. PRTAB Made SCRBUF and RESULT large enough for BP tables (XBPRSZ and MAXCHA resp). Moved nowhere. 8987. February 21, 1996 TABSRT Eric TABSRT does not need the buffer size since TABINI no longer does. Changed: TABSRT IBLED GAININ CLCAL LISTR SPFLG TVFLG UVGET CCMERG BPASET CLSORT CALADJ FRQUPD GACSIN SDGET BLFIT APCAL TABLE BPASS CVEL CLSMO MFPRT TAMRG ANCAL INDXR PCLOD SNSMO SOLCL TASRT CALIB TABMRG call seq changed too: CCMERG TABLE TAMRG Moved nowhere. 8988. February 21, 1996 OOP tables Eric Moved the table control block from 1/2 of the I/O buffer to the last 512 words of the I/O buffer. Changed TABLE and TABLEUTIL. The rest of the record will be long enough for BP tables now (not before). Moved nowhere. 8989. February 21, 1996 BLFIT Eric This one may be worth resurecting from $APLCONTR. Fixed the references to the CL table to the new format. The algorithm may just work now. MOved nowhere. 8990. February 21, 1996 UBUFSZ Eric This is UVBFSL * 2 not 8192 * 2. Changed: LISTR SPFLG TVFLG FRING CVEL used this variable for its own buffer but gave only 1/2 its size to TABSRT. Moved nowhere. 8991. February 21, 1996 ZPBUFSZ Eric Changed UVBFSS to 3*8192 + overhead to handle MAXCIF, changed UVBFSL to 9*8192 + overhead. Moved nowhere. 8992. February 21, 1996 Bandpasses Eric Found all sorts of excess stuff. Following GREPs on MAXCIF and TABBP I changed: DSEL.INC Changed BPBUFF to (512), dropped XBPIOB. PUVD.INC Added XBPRSZ - the max table record size needed DATBND Changed bandpass buffers from 6*MAXCIF to 3*MAXCIF to include polarization in the MAXCIF limit. BPASET Changed buffer overflow test to include #pol. Changed 3-D buffers into 2 of reasonable size, dropped the buffer used only for sorts (reusing the Large IO buffer). Corrected the buffer size given to UVINIT - the code was claiming that it was twice too large. TABBP Changed DP variable twice as large as the equivalenced variables to the size of its mates. Changed buffer overflow test to include NUMPOL and added other tests. Changed maximal array declaration to a 1-D array and made optimizable code to fill/empty it. BPREFM Changed the in and out buffers to XBPIOB from 16384 (which is now too small!) and changed REAL and IMAG from (2,MAXCHA,MAXIF) to MAXCIF. BPFSEL Changed dimension of REAL and IMAG and addressing of them. Added comment re required buffer sizes. TABLEUTIL Changed dimensions of call argument to (unused) OTABBP from 2,MAXCHA.MAXIF to MAXCIF. BPASS Changed RECORD size by half and made it a common include rather than 2 separate local buffers. Changed MAXCIF test to include polarizations. This would benefit from dynamic memory! CVEL Halved BPARR1 and BPARR2 since MAXCIF includes polarizations now. Fixed test on MAXCIF. Changed handling of arrays to TABBP making them neater and probably optimized better as 1-D much smaller arrays. BLING Changed one array which was 4*MAXCIF to 3*MAXCIF which was all that was needed. AVSPC Changed in/out buffers from 12*MAXCIF to 3*MAXCIF. SWPOL Changed in and out buffers to 3*MAXCIF rather than 12 and fixed up the buffer size check. Corrected assumption that there is an IF axis always. FIXWT Changed VIS from 12*MAXCIF to 3*MAXCIF. IBLED Changed vis buf from 12*MAXCIF to 3*MAXCIF and improved the test on buffer size. TVFLG Changed vis buf from 12*MAXCIF to 3*MAXCIF. SPFLG Changed vis buf from 12*MAXCIF to 3*MAXCIF one place and from 12 * MAXCHA to 3 * MAXCIF another. POSSM Changed a bunch of maximal size 2-D arrays to 1-D of size MAXCIF. Dropped the reversal arrays, changing code to do it more economically. BPCOR Changed buffers (2,maxcha,maxif) to MAXCIF and changed the addressing into them. UNCAL Changed BUFF1 from 2048 to 256. Changed the local buffers to do BPs to 512. CPASS Changed maximal buffers to address in new scheme. Following GREP on MAXCHA I also changed: FRQTAB Was testing on MAXCHA when should have used MAXCIF. Changed test to include polarization too SDGRD Buffer was MAXCHA, should have been MAXCIF. R3DTAB Changed to use XBPRSZ for max record size, 512 for BUFFER. UVMTH Used MAXCHA for max product pol*channel*IF, changed it to MAXCIF. Moved nowhere. 8993. February 21, 1996 BPGET Eric This is more of a mess than I had hoped. There are 0, 1, or 2 more SC files created and opened on every initial call that are not closed or deleted or reused. Changed: DSEL.INC Changed BPNAME and BPCNO to (3), dropped BPVOL since it is redundant and BPDSK since it is always 0. SELINI Changed to set BPNAME = ' ' for all 3. UVGET Add subscript to BPNAME. BPASET Add subscripts to BPCNO, BPNAME; change BPVOL to SCRVOL(BPCNO(1)), drop BPDSK silliness. HORUS Add subscript to BPNAME. CVEL Cleaned up its (separate) handling of these, removed excess copyright statements AND put one where it belongs. BPGET Retyped so that its logic would be apparent. Dropped several sections of repeated code that needed to be there only once. Changed to keep track of open files and close them on exit. Added subscripts to variables as needed. SCLOAD Changed to reuse SC files and record them in the common, cleaned up messages. SCINTP Changed to reuse SC files and record them in the common, cleaned up messages. Moved nowhere. 8994. February 21, 1996 ZCREAT call seq Eric Dropped unused scratch buffer from ZCREAT call seq. Changed $AIPPGM/FILAI2 FILAIP FILINI AIPSC $AIPSUB/AU2 CATCR SGLAST SGLOCA STORES $APLGEN/ZCREAT $APLPGM/TAFLG MOVE $APLNOT/CALCOP OTBSRT $APLSUB/CATDIR CATOPN EXTINI FILCR HICREA IOSET MAPSIZ MCREAT RESCAL SCREAT TABCOP TABINI UVCREA $APLCONTR/WSLOD $YSUB/GINIT ZCREAT in $APLCRI and $APLGEN Moved nowhere. 8995. February 21, 1996 ZEXIST call seq Eric Dropped unused scratch buffer from call seq. Changed $AIPPGM/FILAI2 FILAIP FILINI AJAX RECAT $AIPSUB/AU3A AU8 CATCR $APLGEN/ZEXIST ZEXPND ZWHOMI $APGNOT/FILLM MK3IN OTFUV FITLD $APLPGM/DISKU TAFLG MOVE $APLNOT/BPASET CALCOP $APLOOP/UVDATA UTILITY ZEXIST in $APLCRI and $APLGEN Moved nowhere. 8996. February 21, 1996 ZCMPRS call seq Eric Dropped unused scratch buffer from call seq. Changed: $AIPSUB/PRTMSG $APLGEN/ZCMPRS $APGNOT/FILLM $APLPGM/PRTAC $APLNOT/BPASET CALCOP $APLSUB/TABIO UCMPRS $QPGMNOT/CVEL $YSUB/GFINIS ZCMPRS in $APLCRI and $APLGEN Moved nowhere. 8997. February 21, 1996 UCMPRS call seq Eric Changed UCMPRS call seq to drop unused buffer. Changed $APLPGM: CLIP CORER DIFRL FUDGE SDMOD TBAVG UVBAS UVLSD UVLSF UVMTH UVPOL $APGNOT: ACFIT ASCOR AVER AVSPC BASRM BLAVG BLOAT DAYFX DECOR DESCM FILLR FXVLA MK3IN MULTI OTFUV PHSRF SBCOR SDCAL SDTUV SELSD UVAVG UVCOP UVDGP UVFIL UVFIX UVGLU UVLIN UVLOD UVMOD UVNOU UVSIM VBCAL VBGLU VBMRG VLBIN WTMOD SPLIT FITLD $APLOOP: UVDATA $QPGNOT: BPASS CPASS FRING IM2UV LPCAL PCAL CALIB $YPGNOT: IBLED Moved nowhere. 8998. February 21, 1996 SMOTYP, et al Eric The parameters of DSEL.INC called SMOTYP, INTFN and INTPRM were intended for time smoothing gains before application. This function has been moved to specific tasks. Removed reference to them from DSEL.INC SELINI PRTSD SPCAL BLCAL BPASS CPASS LISTR SDCAL SELSD SHOUV UVFIT UVIMG UVPRM UVPRT FRING PCAL SDGRD LPCAL IBLED SPFLG TVFLG UVPLT HORUS UVGET GAININ SPLIT CALIB Also: CLCAL Moved subroutine SNSMO into this task - it conflicts for name with task SNSMO. SNSMO Removed this $APLNOT subroutine to CLCAL. SELSMG Removed to $APLCONTR since unused and deprecated. SDCAL Removed a strange set of resetting/setting of smooth function types, not really used. Moved nowhere. 8999. February 21, 1996 ZMEMRY Eric Added $APLGEN/ZMEMRY, $APLGEN/ZMEMR2, and $APLUNIX/ZMEMR2.C. They manage a memory allocation scheme whereby dynamic memory may be obtained as needed with some limits designed mostly to help find memory leaks. Moved nowhere. 9000. February 21, 1996 ZDCHIN Eric Changed ZDCHIN to initialize ZMEMRY, to use a new include for its local buffer, and to drop the unused buffer from its call sequence. The buffers are in DBBF.INC. $APLGEN, $APLCRI, $APL3090 / ZDCHIN Changed calls to ZDCHIN in INPUT SETUP AIPINI IOSET AIPS AIPSB AIPSC BATER BSTRT1 GRIPR QMNGR TPMON UVFAIP TVMON AJAX BLFIT WSLOD CLIP CORER DIFRL DISKU FUDGE MOVE PRTAC SDMOD TAFLG TBAVG UVBAS UVLSD UVLSF UVMTH UVPOL BASRM BLAVG BLOAT BPCOR CLCAL DAYFX DECOR DESCM FILLR FXVLA LISTR MK3IN MULTI OTFUV PHSRF PRTSD SBCOR SDCAL SDTUV SELSD SHOUV SPCAL SWPOL UNCAL UV2TB UVAVG UVCOP UVDGP UVFIL UVFIT UVFIX UVGLU UVIMG UVLIN UVLOD UVMOD UVNOU UVPRM UVPRT UVSIM VBCAL VBGLU VBMRG VLBIN WTMOD FILLM BPASS CPASS CVEL FRING IM2UV LPCAL PCAL SDGRD MX CLPLT FRPLT IBLED POSSM SPFLG TVFLG VBPLT VPLOT ANCAL APCAL APCLN ASCOR AVER AVSPC BLCAL CCFND CCMOD CCNTR CLSMO CORFQ DBCON FITTP FXPOL FXVLB GSTAR IMLOD INDXR MF2ST MFPRT PCLOD PROFL PRTAB PRTCC RSTOR SDCLN SNSMO SOLCL STARS STRAN TABED TBIN TBOUT TAPLT USUBA UVPLT SPLIT FITLD In doing this found UVPRM and UVPRT to have buffers of 4096 and 8192 resp. Changed to UVBFSS. FRPLT had a 8192 buffer used solely for 256-word scratch. AVER had the antique call seq to ZDCHIN (with 4 args). Moved nowhere. 9001. February 21, 1996 ACOUNT Eric Changed call seq of ACOUNT to drop the buffer and use the DBBF ones instead. Changed ZSTAIP to drop the buffer from its call seq (it was not used), which lets us drop the buffers from the abort handlers. Changed calls to these in: $APLUNIX, $APLSUN, $APLBERK / ZABORS.C DIETSK GTPARM AIPINI AIPS AIPSB BATER BSTRT1 GRIPR POPSGN QMNGR SETSP SETTVP DELSG FIXCAT FIXUSR GR2TEX GRITP RDFITS SETPAR TPMON AIPLAS UVFAIP TVMON ICON AJAX FILAI2 FILAIP FILINI RECAT $SYSCRI/AIPS.FOR and ACOUNT.FOR (!?!) Moved nowhere. 9002. February 21, 1996 UVLSF Eric Made corrections provided by Neil Killeen: the BCHAN and ECHAN were applied to the input when phase shifting and fitting the baseline. They only apply to output and the full loop should be done on input. A couple of minor improvements were also made. The suggested large buffers are not needed due to the increase in UVBFSS. Moved nowhere. 9003. February 23, 1996 GETCOL, PUTCOL Eric Immediate I/O made these two work slowly and not at all, resp. Changed: GETCOL Add LRNO argument and make ROWbuffer an in/out argument to have the calling routine buffer the row instead of TABIO as it used to do. PRTAB Changed the 1 call to GETCOL. STARPL Changed the 6 calls to GETCOL. GSCRED Changed the 5 calls to GETCOL. CLREFM Changed the 8 calls to GETCOL. CCFND Changed the 1 call to GETCOL. MFPRT Changed the 1 call to GETCOL, changed the MAXKEY and MAXCOL definitions to be something like MF files. This routine needs a lot of work to clear away the trash. STRAN Changed the 2 calls to GETCOL. TBOUT Changed the 1 call to GETCOL. PRTCC Changed the 2 calls to GETCOL. TAFLG Changed to read the row with TABIO and then know this on the call to GETCOL. PROFL Changed the 4 calls to GETCOL. TAPLT Put LROW in common, init to 0, pass to GETCOL. PUTCOL Changed call sequence adding current row number and regarding ROWbuffer as an in/out argument. Changed to write with TABIO if IRNO not eq LRNO and LRNO > 0 which dumps to disk on IRNO 0 at end and whenever row number changes. Improved read logic to TABIO to do when LRNO and IRNO not equal, reading when not past the EOF and zeroing when beyond the EOF. (The zeroing should have been done before but was not.) TBDATA Put LROW (init 0) in 2 calls to GETCOL and one call to PUTCOL. Add PUTCOL (row 0..) to force write to disk. TBIN Added LROW to 1 GETCOL and 1 PUTCOL calls, dropped a GETCOL designed to get the full data row and set LROW 0 on flagging, and add a PUTCOL to flush the buffers at the end. Moved nowhere 9004. February 24, 1996 $INCGNU/TABS.H ZGRLTC.C Jeff Replaced calls to (SVID/BSD) function strdup(3) in ZGRLTC.C with calls to the home-brew zgrltc_dup(). Changed TAB-completion list to be totally dynamic, with no arbitrary max. size, and thus obviously allocated on the fly. Removed MAXCOMPLISTSIZE from TABS.H; it's no longer needed since the completion list is dynamically-sized. Moved nowhere. 9005. February 26, 1996 POSSM Eric This thing was looking at data buffers from 1,NUMIF even though the adverbs set BIF = EIF = 6 and NUMIF becomes 7 thanks to the cal package. I don't know how it worked before - the new addressing schemes were blown away by this. Moved nowhere. 9006. February 27, 1996 Misc AIPSUB Eric Moved large buffers in CATLST, AU5E, TBDATA into COMMON /AIPSCR/. They overlap that way. Moved nowhere. 9007. February 27-28, 1996 FITLD Eric Created some COMMONs to be shared for local table IO buffers and control blocks and the like. Changed calls to TABINI, UCMPRS, MAKTAB and made all table control blocks (512). Re-instated BA files with a new call seq for BATAB and DBAV.INC having no record in common and the data buffers in the call in normal order (pol, chan, if) to go directly to BP tables. Found lots of unused or under-used buffers. Added ATCA UU, VV, WW strings in FITLD and UVLOD. Moved nowhere. 9008. February 29, 1996 FILLM Gustaaf FILLM allows for a certain difference in velocity before it assigns different FQID's. For some extreme cases (sources at opposite ends of the sky) the old limit was not sufficient. Increased the limit, and put it into a DATA statement for easier modification in the future. Moved nowhere. 9009. March 2, 1996 F2TEXT Pat This utility never split pages correctly when the number of lines per page was specified on the command line (e.g. F2TEXT -61). The qualifier was read via "sscanf", including the dash which was interpreted as a sign, then the program rounded the -61 up to the minimum of 10. This resulted in much wasted paper. Fixed by negating the read quantity. Moved to the AOC this date. 9010. March 4, 1996 PRTTP Pat Corrected a minor formatting error that was multiplying the reference pixel number by 10. Moved nowhere. 9011. March 7, 1996 UPDCONTROL, AIPSUPD, WHOUSES Pat Fixed (finally, I hope!) the code that detects if TPMON has been relinked, and issues a warning message (and remakes the hard links TPMON1, etc). Also cleaned up WHOUSES, and added a new qualifier. Moved nowhere. 9012. March 8, 1996 START_AIPS in SYSUNIX Chris Added code to add $AIPS_ROOT/bitmaps and $AIPS_ROOT/app-defaults to X11 search paths in preparation for the public release of SLIME. Moved nowhere. 9013. March 13, 1996 TABSRT Eric I considered changing TABSRT to use dynamic memory, but in the end decided it was not needed. In so doing, of course, I found things that did need changing: APCAL Changed to make BUFF3 only 512, which is what is needed most places and made a separate buffer for TABSRT. ANCAL Corrected the buffer size provided in 1 of the 3 calls, the other two were okay. AVSPC Changed to use a larger sort buffer. BPASS Changed to use one of the work buffers, saving an otherwise unused 50000-word buffer. Changed call to CLSORT and FRQUPD. CALIB Correct buffer size to TABSRT call, it is 2* UVBFSL not 8192. Also changed it to use a local rather than common variable; it was messing up the cal I/O. CPASS Changed call to CLSORT. CLSORT Changed to take the sort buffer and size as call arguments. CVEL Was filled with things of random size (usually 8192) and position wrt PBUFF; changed all to UVBFSS. Changed call to FRQUPD. FRQUPD Changed call seq to include a sort buffer with size. MFPRT Changed to make a bigger sort buffer. TAMRG Changed to make a bigger sort buffer. TASRT Changed to make a bigger sort buffer. Moved nowhere. 9014. March 13, 1996 FRING Eric FRING was beautifully set up to use dynamic memory. Subroutine FRNSOL declares almost all of the larg arrays and then passes them down to FRNFIT. I moved the only 2 large arrays in FRNFIT up to FRNSOL as well. I changed the definitions of all to 2 and set up dynamic memory allocation of all to match the sizes expected by FRNFIT. This means we do not waste memory in some ways (the data arrays had MAXANT * MAXIF and now have the actual number of antennas and IFs, the WTT and TIME arrays have MAXTIM rather than XASIZE/2 which was usually much larger, etc) and thus have more to use to allow longer SOLINTs. Changed the computation of MAXTIM from one controlled by the array size to one set solely by SOLINT / TINTG. There should be no memory limits in this task henceforth, other than those imposed by the computer and its current load. Corrected: (1) One array was not zeroed that should have been zeroed on each solution. This will have added noise to solutions. (2) The FFTs were limited to 2048 for no currently valid reason. This stopped solutions asserting that the AP was too small. (3) If APARM(8) was > 0, the antenna files were ignored. Changed it to use APARM(8) only when there is an error reading the antenna files. (4) Changed the default SOLINT from 2.4 hours to 10 minutes for multi-source data. SOLINT really should be set. (5) Cleaned up the help file a little. Moved nowhere. 9015. March 19, 1996 UPDCONFIG Pat At his request, removed Eric's name from the list of people who get the midnight job reports for SunOS 5, AIX, OSF1, and Linux midnight jobs. This is not a good day for Classic AIPS. Added Athol's name to the OSF1 and Linux jobs, as these architectures catch many problems the Sun/IBM compilers miss. Moved nowhere. 9016. March 22, 1996 $APLNOT/DGINIT.FOR Athol Fix bug introduced in #8983. Validity check for conversion to Stokes Q was in error. Would try to form Q even if cross-pol. data were missing. Moved nowhere. 9017. March 22, 1996 $APGNOT/SPLIT.FOR Athol See #8983. Test on new buffer size did not include the size of the Stokes axis, as required by the new convention for MAXCIF. Moved nowhere. 9018. March 22, 1996 $APGNOT/SPCAL.FOR Athol Re-instate DOSMTH = F (#8981/2). This task has no SMOOTH adverb. Moved nowhere. 9019. March 23, 1996 $APLNOT/GAININ.FOR Athol Indexing of lambda squared array LAMSQ (now dimensioned MAXCIF) was incorrect - did not run over freq. channel (new indexing introduced in #8984 above). Moved nowhere. 9020. March 26, 1996 BLING Chris Changed SETUV to defer setting the source selection criteria until after the test for the SOURCE random parameter since the OOP system will excise that random parameter if CALSOU has only one entry. Corrected a label in a GO TO statement in SETWIN to avoid infinite loops with some input files and fixed an error- handling block. 9021. March 27, 1996 $APGNOT/TABED.FOR Athol TABED was broken by #8986; the reduction in size of a table I/O buffer was not consistently propagated throughout the code. Moved nowhere. 9022. March 27, 1996 ZSCHAR in APLGEN Chris Added a new Z routine, ZSCHAR, to get various special characters (such as non-printing characters and the backslash character, the latter of which is treated badly by some Unix FORTRAN compilers) without making explicit references to their collation sequence numbers. System-specific versions will have to be written for any machines that don't use ASCII encoding or a closely related encoding. Changed KEYIN and CITSKP to use ZSCHAR to look-up the tab character: KEYIN assumed that tab was CHAR(9) while CITSKP used a space character in a check for tabs in the input (this caused KEYIN to enter an infinite loop if it encountered a tab in mode 3 or 4). Moved nowhere. 9023. March 29, 1996 $APLNOT/IMINI.FOR Athol NKEY was not set before TABINI call (typo. in #8986). Moved nowhere. 9024. April 1, 1996 $APGNOT/MK3IN Leonia Having had LO offset in the data MK3IN terminated the job. At the same time a small LO offset does not affect the result. The new parameter APARM(8) gives an opportunity to user to accept data with LO offset (APARM(8) >0) or terminate the job (APARM(8) = 0). Moved nowhere. 9025. April 8, 1996 ZABOR2 in APLSOL Chris Gave Solaris 2.x its own version of ZABOR2 which enables floating-point traps for invalid operands, overflow and divide-by-zero. AIPS had been running in the default IEEE-754 mode under Solaris 2 which does not interrupt computations on floating-point exceptions. Consequently a number of problems constructs were not being spotted on SPARCs (eg. the next entry): in most cases the IEEE rules guarantee that the correct answers are obtained but we still support machines that don't conform to IEEE-754 (eg. Convex) and don't force the default IEEE-754 environment on machines that support it. Moved nowhere. 9026. April 8, 1996 BLAPP Chris Added missing tests for bad BLING solutions in the input BS table. Without these tests divide-by-zero errors were almost guaranteed since the acceleration error is set to zero when acceleration is not solved for. This was not spotted under Solaris since divide-by-zero exceptions were not trapped and IEEE-754 guaranteed correct operation in the absence of traps. Moved to 15JAN96 patch area on this date. 9027. April 12, 1996 VPLOT Leonia The task has not worked with different subarrays. Subarray=1 was forced in many places of the task codes. For example, if SUBARRAY = 0 the task plotted data of the first subarray. Now the task plots data of the specified subarray. If SUBARRAY = 0 the task plots data of all subarrays. Relevant change of HELP file has been provided. Moved nowhere. 9028. April 15, 1996 $APGNOT/FITLD Phil Added IF selection to FITLD. It has some restrictions. Since the data selection is performed as the bits are read from tape prior to frequency ordering the user has to know the frequency order of the data on tape. They usually do. FITLD will print a warning about this limitation when IF selection is requested. Moved nowhere. 9029. April 15, 1996 $APLSOL/ZTPOP2 Pat/Martin S. Thanks to Martin Shepherd at Caltech, found the problem that was preventing SunOS 5.5 systems from using magtapes (of any kind: exabyte, dat, or 9-track). If the tape unit is opened with the non-blocking I/O bit set, the SCSI driver refuses to write EOF marks. Everything *seems* to work if the open() statements are done without the O_NONBLOCK attribute (though DATs under 5.4 have not been tested; exabytes seem fine with this fix under 5.4 or 5.5, as do DAT's and 9-tracks under 5.5). NOTE: there is another open() that uses the O_NONBLOCK bit for tapes; perhaps in ZMOUN2. I really should find out why this was being used, and if it is still relevant. Will be moved to the patch area after this thunderstorm... 9030. April 15, 1996 $APGNOT/SNCOR.FOR $HLPFIL/SNCOR.HLP Athol Add new features to SNCOR: i) OPCODE='PCOP' allows solutions to be copied from one polarization to another with the copy direction controlled by SNCORPRM(1); ii) OPCODE='PNEG' will flip the sign of the gain phase for all selected solutions. Both features sometimes required in line polarization calibration. Also allow SNCOR to work on single source files. Moved nowhere. 9031. April 16, 1996 $APGNOT/PCCOR.FOR $HLPFIL/PCCOR.HLP Leonia The task provided wrong records in history file. It has been fixed. The concept of multi subarrays has been added. Now SUBARRAY = 0 means all subarrays. The relevant change in PCCOR.HLP is added. Moved nowhere. 9032. April 16, 1996 $APGNOT/ACCOR.FOR Leonia The task provided wrong records in history file. It has been fixed. Moved nowhere. 9033. April 16, 1996 $APGNOT/USUBA.FOR & $HLPFIL/USUBA.HLP Athol First release of a major re-write of USUBA, primarily to accomodate the new subarray features allowed by the VLBA correlator. The task now works in three possible modes: i) automatic subarray identification; in this case an algorithm is used which minimizes the total number of subarrays and maximizes subarray continuity; ii) multiple subarray definition in an external text file; and iii) selection of an individual subarray through the input adverbs. Moved nowhere. 9034. April 19, 1996 $HLPFIL/UVSIM.HLP Gustaaf Added information about coordinate system used for antenna positions. 9035. April 23, 1996 $APLSUB/TABIO.FOR Athol New TABIO of #8986 did not read long table records correctly if the table was opened R/W and immmediate I/O was triggered. Would overwrite parts of the table depending on the record no. used in the TABIO read call. Fixed to check opcode before writing. Caused a fatal BPASS error previously. Moved nowhere. 9036. April 23, 1996 $QPGNOT/BPASS.FOR Athol Fixed several BPASS errors: i) subroutine BPADJ failed with a ZMIO error if the BP table record length was too small. The increased TABSRT buffer size (#8992) led to ZMIO calls from UVINIT exceeding the 128k limit. Fixed this by scaling down the BPADJ buffer (will change in UVINIT later as a more general solution). ii) fatal format error in BPHIS introduced in changing the SMOOTH history record (#8982). iii) also fixed a BPADJ error pre-dating the table upgrade; ANTKOL was not set correctly for Stokes L and LCP bandpasses were not re-referenced. Moved nowhere. 9037. April 25, 1996 $SYSUNIX/STARTPMON Pat This script was hiding a Berkeley-specific instance of "whoami" where it tried to figure out who was running the TPMON before it tried killing the process (unless you're root you can't in general kill a process being run from another account). I have no idea how this managed to survive given the prevalence of SunOS 5 systems we now have at NRAO, but... replaced it with the value of the LOGNAME environment variable. Also expanded some of the error messages and tried to clarify others. Will move to patch area today. Sent to Jeff Mangum/Tucson also. 9038. April 26, 1996 $QPGNOT/FRING.FOR Athol FRING has been failing since (#9014) for reasonable SOLINT values due to an error in setting MAXTIM. This can be larger than SOLINT / (integration_time) if there is an NX table, as FRING will try to divide up an index scan in some reasonable manner. Corrected the MAXTIM calculation accordingly. Added a check on the WORK buffer size in FRNSR2; dynamic memory no longer automatically contrains this as in the fixed array case. Corrected typo. in setting IS1 in FRNSRC. Moved nowhere. 9039. April 26, 1996 $APGNOT/AFILE.FOR Athol Increase line count limit in AFILE to 20,000. Moved nowhere. 9040. April 29, 1996 $YPGNOT/ELINT.FOR Leonia The wide used task CLCAL provides the interpolation of antennas gain measured on calibrators to the target sources. CLCAL interpolates at time axis. If the time difference of observation of the target source and the calibrator is large and if there is an obvious dependence the antennas gain on elevation, the interpolation provided by CLCAL does not give the correct result. The task ELINT interpolates at elevation axis and can be useful if the calibrator (or calibrators) is observed at a wide range of elevations. The task fits a given type of fitting function to the data. The fitting is provided separately for each selected antenna, IF, stoke. The result of fitting is displayed on TV or recorded in a plot file. In the case of several calibrators, the task fits data to both the fitting elevation function and factors determining corrected fluxes of the calibrators. The found correction of the antennas gain via elevation is recordered in an output SN table for all selected target sources. Moved nowhere. 9041. May 1, 1996 $SYSPERL/check_version.pl Jeff Added Perl verison 5.002 to the "OK" list; it's running fine with that version at NRAO-TUC. Removed some stray tabs that had crept into this file, probably due to the recent meteor showers. Moved nowhere. 9042. May 6, 1996 $SYSUNIX/DADEVS.PL Pat If a DADEVS.LIST or .dadevs file contained blank or comment lines following a valid (included) entry, the previous disk was included multiple times, once additionally for each blank/comment line. Some variables needed to be reset when a blank or comment line is encountered; this is now done. Moved nowhere, though offered to Gustaaf via email... 9043. May 6, 1996 $SYSSOL/LIBR.DAT, .SHARED Pat At the suggestion of a colleague, revised this to have the correct order of libraries for certain areas. Also added GNU copyleft and a dire warning about use of the LIBR.DAT.SHARED version. Moved nowhere. 9044. May 7, 1996 COMRPL in SYSUNIX Chris Changed the evaluation of EV to filter out the string `ENV'. There appears to be a subtle bug in some Linux systems that causes a superfluous `ENV' to appear when COMRPL is called from INSTEP2: if it is not filtered out INSTEP2 fails. This has been observed on both Red Hat and Caldera installations. Moved nowhere. 9045. May 8, 1996 $SYSUNIX/MAKEAT Pat The "logic" in this script was failing if a colon was anywhere in a comment. Forced it to ignore any lines beginning with "#" when it figures out the load numbers (zero anymore). Moved nowhere. 9046. May 8, 1996 $SYSUNIX/OPTIMIZE.LIS Pat Added an entry for IMSEL on the Convex; received a report that it fails to compile at OPT2 but will compile readily if bumped down to OPT1. Moved nowhere. 9047. May 15, 1996 $SYSUNIX/COMLNK Pat Made the PURGE option work correctly (copying a scheme now implemented elsewhere). Also tried to get the transaction logging for the midnight job files to be *.FOR or *.C instead of *.o... Moved nowhere. 9048. May 15, 1996 $SYSUNIX/XASERVERS Jeff Linux's 'ps' command no longer honors the "g" option (it dies--screaming--when it sees it) as of procps distribution version 0.99; this option is now considered superfluous. Version 0.99 (recently released; I'm in the development group, though for a different portion of procps) is not yet bundled with any mainstream Linux distributions (that I know of), but we don't need to use it here anyway. Moved nowhere. 9049. May 17, 1996 $APLLINUX/ZTAP2.C Jeff Updated ZTAP2 to work under newer Linux kernels. (Only tested so far under 1.99.2, a 2.0 pre-release snapshot, and *only* on a DAT.) There were problems with BAKF at BOT and with AEOI. The BAKF problem at BOT appears to be fixed. The AEOI problem is fixed, functionally, though some research into why the "brute force" fallback method was failing is called for. There will be another update to this, hopefully soon, and it will be released as a patch to 15JAN96 once Exabyte behavior is determined. Many thanks to the stealth AIPS hacker for his pointers on tapes.... Moved nowhere (yet). 9050. May 17, 1996 TABLE.FOR in APLOOP Chris Fixed TABEXI to release its temporary LUN. Moved nowhere. 9051. May 19, 1996 $APLSUB/GAUSPS.FOR Leonia There were complains that the tasks JMFIT and IMFIT fitting gaussian components to an image, fit succesfully the gaussians at pixel domain but fail at the stage of converting the gausians in the pixels to gausian on the sky. This failure takes a place only at TST version of AIPS. The problem appears at the case of small size of the gaussian (VLBI data) and it does not exist at the case of bigger size of the gaussian (VLA data). The new written subroutine GAUSPS is used in TST version of AIPS for converting the gaussian in the pixel to gausian on the sky. GAUSPS calculates the angle size of major/minor axis of the ellipse as an ACOS of the COS of this angle. COS of this angle is calculated as a scalar product of relevant unit vectors. In the case of the small angle, cosine is very close to one. The deviation is in order of square of the angle. For VLBI data the angle can be as small as 10-4 arcsec ~ 10-9 radians. So the deviation of the cosine from unit is as small as 10-18. Such a small deviation is not seen even by double precision representation of the number. As a result GAUSPS returns zero for major and minor axis of the ellipse on the sky. I have modified GAUSPS forcing it to calculate the small angles using special formulas which are valid only for small angles. COMLNK of $APGNOT/JMFIT.FOR and $APGNOT/IMFIT.FOR have been provided. Moved nowhere. 9052. May 20, 1996 $YPGNOT/ELINT.FOR Leonia/Brian Butler/Rick Perley The main type of fitting function in ELINT was a polynom of the third degree in elevation axis. Brian Butler and Rick Perley added the polynom in zenith as a fitting function. Different levels of print were added also. The help file has been completely rewritten. Moved nowhere. 9053. May 21, 1996 $AIPPGM/SETSP.FOR Pat There was a rather subtle bug in the parsing of the HOSTS.LIST file that only reared its ugly head if the hostname had the architecture name embedded in it, e.g. a Solaris machine called SOL123 would trigger it. Such machines were ignored by SETPAR whether or not they belonged in the current SITE. Fixed now; thanks to Andrzej Marecki (Torun, Poland) for reporting this one. Also improved its input technique marginally; one can now enter -1 for *any* parameter in "CHANGE" mode (where you're changing every single host with a potentially different value each time) and it will then leave the value(s) for that host unchanged. This will be a real boon to aips managers at registration time. Moved nowhere (yet). 9054. May 24, 1995 $APGNOT/STRAN.FOR Pat The size of the INPRMS common as sent to GTPARM was too large (50, should have been 40), with the usual catastrophic effects on SunOS 5 systems (the next common got overwritten, etc). Moved nowhere, yet. 9055. May 28, 1996 $APLNOT/ORBIT.FOR Leonia ORBIT.FOR is a new subroutine calculaing cartesian coordinates of an orbital antenna. The subroutine does not take into account an influence of the Moon and other planets but does take into account the elliptical shape of the Earth. Accuracy is better than 10 cm. Moved nowhere. 9056. May 29, 1996 $SYSUNIX/FDEFAULT.SH, OPTIMIZE.LIS Pat Put in a workaround for the "GP Overflow" (General Purpose Register area overflow) encountered with some of the larger OOP modules under Silicon Graphics Irix 6.1 (at NCSA). This involves hijacking OPT9 in the SGI-specific section of FDEFAULT.SH to add the "-xgot" qualifier to it; this is done only for Irix 6.x right now via a check of uname -r. Then, in OPTIMIZE.LIS, the following routines are flagged with a "9" in the optimization column: QCLEAN and QUVUTIL (from $QOOP), and UVUTIL, ARRAY and UVDATA in $APLOOP. Moved nowhere. 9057. May 30, 1996 $APLUNIX/ZTTOP2, ZTKOP2 Pat If you start AIPS in a directory containing an ordinary file or directory with the *same* name as your computer, the code that opens the tek or message servers was assuming said file or directory was a unix socket. Modified both these calls to check and only attempt to open the file if it's a socket, fifo, or device (char or block). Moved nowhere. 9058. May 30, 1996 $APGNOT/?TESS.FOR, $QYPGNOT/?TESS.FOR, Gustaaf $INC/DTESS.INC, $APLNOT/APLPBI.FOR Martin Shephard pointed out that in change #8973 I had neglected to modify the calling sequence for APLPBI in MAKCVM.FOR, which affected both VTESS and UTESS. Changed back the calling sequence to what it used to be, and instead added the cutoff parameter to DTESS.INC. Moved nowhere. 9059. June 3, 1996 $APLSUB/MADDEX.FOR Pat Modified the error handling code slightly. The previous error message "EXTENSION FILE CATALOG SPACE FULL" was ambiguous as it could mean either the max number of extension file TYPES was reached (20 currently), or the max number of INSTANCES of extension files (46655 currently) was reached. The former is now far more likely to occur. There are now two separate error messages (with the actual limits shown). Moved nowhere. 9060. June 3, 1996 MFPRT Chris Corrected the sign of the velocity. Moved nowhere. 9061. June 4, 1996 $APLNOT/BACOOR.FOR Leonia The new subroutine calculates a baseline coordinates in equatorial coordinate system fixed at the sky for both ground based antennas and orbital ones. It can be used instead od BASLIN for orbital VLBI when one or several antennas are in an orbit of the earth satallite. Moved nowhere. 9062. June 5, 1996 $YPGNOT/CLPLT.FOR Leonia The new version of the task can plot a model for orbital VLBI when one or several antennas of VLBI net work in an orbit of Earth satellite. The following changes were provided: 1.Subroutine ANTIN has been modified to discriminate orbital and ground based antennas. An antenna is considered as an orbital one if MNTSTA = 2 in AN table. Six parameters of the orbit are read out from the AN table in this case. 2.A new subroutine ORBIT has been written and put at $APLNOT. ORBIT calculates coordinates of an orbital antenna in equatorial coordinate system fixed at the sky. 3.A new subroutine BACOOR has been written and put at $APLNOT. BACOOR calculates a baseline coordinates in equatorial coordinate system fixed at the sky for both ground based antennas and orbital ones. A small bug unrelated with orbital issue has been discovered and fixed: OPCODE was defined as INDE if OPCODE = INDE and as CLOS if OPCODE = ' '. But OPCODE was not defined if erroniously it was declared not INDE and not BLANK. Now OPCODE is equal CLOS at al cases except it is declared as INDE. Moved nowhere. 9063. June 5, 1996 $YPGNOT/VPLOT.FOR Leonia The new version of the task can plot a model for orbital VLBI when one or several antennas of VLBI net work in an orbit of Earth satellite. The following changes were provided: 1.Subroutine ANTIN has been modified to discriminate orbital and ground based antennas. An antenna is considered as an orbital one if MNTSTA = 2 in AN table. Six parameters of the orbit are read out from the AN table in this case. 2.A new subroutine ORBIT has been written and put at $APLNOT. ORBIT calculates coordinates of an orbital antenna in equatorial coordinate system fixed at the sky. 3.A new subroutine BACOOR has been written and put at $APLNOT. BACOOR calculates a baseline coordinates in equatorial coordinate system fixed at the sky for both ground based antennas and orbital ones. Moved nowhere. 9064. June 5, 1996 SAD Chris Changed SAD to use GAUSPS to avoid precision problems in converting VLBI-scale component sizes to angular sizes and to consolidate code with IMFIT/JMFIT. SAD was suffering from the same problems that were fixed in IMFIT/JMFIT in mid-May: mas-scale components tended to be set to zero width. Moved nowhere. 9065. June 5, 1996 POSSM Ketan When NCOUNT=0, and the user requested multiple IFs to be plotted together [aparm(9)=1], only the first generated plot had the proper range of IFs plotted. Subsequently, only IF1 was plotted. The fix was simple, POSSM simply needed to remember the proper range of IFs after the first plot was generated. Moved nowhere. 9066. June 5, 1996 UVFIX Ketan There was a typo in a call to PRECES inside UVFIX. An undeclared variable F was present in the calling sequence. It should have been FL. This should have had minimal to no effect on the calculations. Moved nowhere. 9067. June 6, 1996 MFPRT Chris Added 3 columns to the output containing the deconvolved component sizes. Moved nowhere. 9068. June 10, 1996 $YPGNOT/SPFLG.FOR Athol Minor change to SPFLG. Recent buffer changes now allow array overflow. Add limit checks on TBUFF in SPFMRK to avoid this. Moved nowhere. 9069. June 11, 1996 $YPGNOT/SPFLG.FOR Ketan When examining VLBA data, it maybe useful to be able to load only total-power spectra for a first pass at data flagging. The interpretation of DPARM(2) has been changed as follows: DPARM(2)=0 gives only cross-power spectra, as before. DPARM(2)=1 gives cross- and total- power spectra, as before. DPARM(2)=2 gives ONLY total-power spectra - this is new. Moved nowhere. 9070. June 11, 1996 $HLPFIL/SPFLG.HLP Ketan Added documentation for new option described for in #9069. Moved nowhere. 9071. June 13, 1996 Bandpasses Athol Add new bandpass calibration modes, specifically bandpass interpolation. Use a cache buffer to store current BP entries being applied, rather than intermediate scratch files as before. Deal with flagged BP entries correctly, and allow independent BP searches for each IF/polzn. separately to find unflagged BP entries if requested. Allow weighted and unweighted two-point interpolation. Changes include: $INC/DSEL.INC - Consolidate the BP common blocks; absorb VLBUFF in PBUFF. Replace cache index variables (eg. ANTENT, ANTPNT etc.) with new index variables. $APLNOT/BPASET.FOR - Fill cache for DOBAND=1; compile index to BP table for all other cases. $APLNOT/BPGET.FOR - Search cache index to find matching BP entry for a given time and baseline. Polynomial BP expansion and VLBA BP shift now done by BPGET. $APLNOT/FINDBP.FOR - New search routine called by BPGET to locate matching BP entries. $APLNOT/DATBND.FOR - Flag uv-data if BP entries are missing; VLBUFF no longer used. $APLNOT/UVGET.FOR - Close BP table on exit if still open; report BP cache rate if too high. This work expands on earlier investigations into BP interpolation by Dave Adler. Moved nowhere. 9072. June 14, 1996 $QPGNOT/CVEL.FOR Athol CVEL has developed failure modes since recent buffer and BP changes (#8993). In particular, corrected an exception generated by incorrect use of BUFFC to expand compressed data. CVEL writes multi-source output and uses a non-standard form of UVGET, along with customized BP calibration routines. As a result, changes in BP calibration need to be propagated separately to CVEL. Overhauled CVEL so that this is no longer the case: i) consolidate CVEL.INC; delete BPDO.INC and FGDO.INC, using DSEL.INC instead; ii) replace calls to CVBPST and CVBAND by BPASET and DATBND respectively; and iii) fill in missing DSEL.INC variables. Moved nowhere. 9073. June 14, 1996 $YPGNOT/SPFLG.FOR Ketan Added ability to customize the reasons that SPFLG attaches to flagging commands entered into the FG table. To each flagging command stored in the FC table is attached an optionally customized string that will be used as the reason for that flagging command. Moved nowhere. 9074. June 14, 1996 $HLPFIL/SPFLG.HLP Ketan Added documentation for new feature described in #9071 Moved nowhere. 9075. June 14, 1996 $HLPFIL/HLPSPFLG.HLP Ketan Added documentation for new feature described in #9071 Moved nowhere. 9076. June 20, 1996 OOP Package Chris Modified the OOP package to write compressed data. If a UV file is created by calling OUCREA then that file will be compressed if ISCOMP is true in the corresponding UVDESC object (OUCREA is usually called indirectly through OUVOPN). OUVOPN now detects when a file to be written is compressed and records the location of the WEIGHT and SCALE parameters (in UVWSPT) for use by UVWRIT. OUVCLO will also check on this information an make sure that the header is correct for compressed or uncompressed data to protect against destructive changed to the UVDESC object. OUVCLN now checks for a virtual DOUVCOMP keyword attached to the input UVDATA object and compresses the output file if this exists and has the value .TRUE.. OUVSCR (in UVDATA.FOR), UV2SCR (UVUTIL.FOR) and CP2SCR (UVUTIL.FOR) now take an extra argument that indicates whether scratch data should be compressed. Calls to the scratch file routines have been updated in QUVUTIL.FOR and tasks MAPBM, FRCAL and SCMAP. UVDSCP (in UVDESC.FOR) now regards random parameter names as size related and refuses to copy them. Note, however, that UVDCOP copies the input files compression state to the output file. A new UVDATA routine, OUVPAK, is responsible for adjusting the descriptive information for uv data to reflect compression (ie. changing NAXIS(1) and adding or removing the WEIGHT and SCALE parameters). This is principally used internally by UVDATA but may be called by client programs (an obvious use is to patch up descriptive information for a compressed file to reflect uncompressed data: see UV2MS for an example). Task FIXWT will now write compressed scratch files if DOUVCOMP is true and task UV2MS will now append data to compressed multi-source files and will create new multi-source files in compressed format is DOUVCOMP is true. Tasks MULIF and SPECR will now write compressed data if their input data was compressed: strictly speaking, this is incorrect behaviour since it is not conditioned on DOUVCOMP but has not been fixed yet since there are no adverse effects from this. Moved nowhere. 9077. June 21, 1996 GAUSPS (JMFIT, IMFIT) Leonia A misprint has been found at the recent modification of subroutine GAUSPS. This misprint caused an identical major and minor axises of found gausian components at the VLA case. It's been fixed and the routines JMFIT and IMFIT using GAUSPS have been recompiled. Moved nowhere. 9078. June 21, 1996 $APLPGM/SAD.FOR Leonia A small mistake has been found at the recent implementation GAUSPS into SAD. The calculation of absolute coordinates of found gausian components (RA, DEC) was erroniously deleted from a cycle. As a result the reference feature's RA and DEC was printed for all found gausians. Fixed. Moved nowhere. 9079. June 26, 1996 VLB DDT Athol/Ketan Upgrade DTSIM and DTCHK to add new features, including (u,v,w) computation, additive noise, source models and more support for OVLBI data. Stripped out subroutines common to DTCHK and DTSIM and placed these in the std. libraries. These include: $INC/DTPM.INC - common blocks containing simulation parameters. $APLNOT/DTPARM.FOR - routine to read sim. parameters. $APLNOT/IKEY.FOR - KEYIN utility. $APLNOT/DTINDX.FOR - find index in DTPM.INC $APLNOT/DTCALS.FOR - compute simulation cal. errors. $APLNOT/DTBAND.FOR - compute simulated bandpasses. Also, upgrade the help files $HLPFIL/DTSIM.HLP and $HLPFIL/DTCHK.HLP to document the changes. Moved nowhere. 9080. June 27, 1996 FILLM Gustaaf Some visibilities ended up with the wrong FREQID since its value was not updated frequently enough. Moved nowhere. 9081. July 2, 1996 $APGNOT/DTSIM.FOR Athol Upgrade DTSIM to allow polynomial bandpasses; also improve AN table creation and initialization. $APLNOT/DTCALS.FOR - default Tsys = 0. $APLNOT/DTBAND.FOR - polynomial bandpasses. Moved nowhere 9082. July 3, 1996 $APGNOT/DTCHK.FOR Athol Modify DTCHK to skip flagged data correctly. Moved nowhere. 9083. July 5, 1996 VLB DDT data file Athol Create new VLB DDT parameter files DTSIM.BP_{1..7} in $RUNSYS. This in preparation for putting the VLB DDT runfile into the system. $RUNSYS was felt to be the best existing directory to house the parameter files. Moved nowhere. 9084. July 5, 1996 $APLNOT/DATBND.FOR Athol Correct a BP inconsistency affecting BP removal of flagged polynomial autocorrelation bandpasses for non-VLBA data. No other BP cases were affected (ref:#9071). Moved nowhere. 9085. July 9, 1996 $APLOOP/UVUTIL.FOR Ketan The OOP routine UVCALT previously copied all tables attached to an input UV object to an output UV object. Now, the input UV object is queried for the keyword DROPTABS [TYPE = OOACAR ; DIM(1) = 2 ; DIM(2) = 20 ] which contains a list of tables NOT to copy. If DROPTABS is not found, all tables are copied as before. Moved nowhere. 9086. July 9, 1996 $YPGNOT/SPFLG.FOR Ketan Fixed a simple typo in the implementation of special reasons that prevented the default reason from ever being applied to the temporary flag table. Moved nowhere. 9087. July 10, 1996 $APLNOT/BPGET.FOR Athol Interpolated VLBA polynomial bandpasses where not shifted correctly in #9071. No other DOBAND modes were affected. Moved nowhere. 9088. July 12, 1996 $APGNOT/DTSIM.FOR Ketan Fixed three bugs that resulted in incorrect UVW coordinates in DTSIM. Also improved readability of time calculations. Now, DTSIM's calculation of UVW coordinates mimics that currently found in UVFIX. DTSIM generated data must be treated as VLBI data since it calculates station positions in the AN table as VLBI-type coordinates, in that they correspond to a left handed coordinate system. 9089. July 12, 1996 BLAPP Chris Fixed the subroutine call for OSN2CL. This must have been broken for a long time. Moved nowhere. 9090. July 12, 1996 BLING Chris BLING can now divide a model into the data before searching fringes and can use the Schwab-Cotton FFT algorithm to add in data from indirect baselines for greater sensitivity. Off-centre window handling has been changed allowing greater padding to be used in the FFTs: this has removed the need to refine fringe positions using non-linear least- squares. This has also greatly decreased the chances of obtaining wild solutions. Moved nowhere. 9091. July 14, 1996 $APGNOT/DTSIM.FOR Athol Fix minor error affecting VLBA fringe-rotation shift. Moved nowhere. 9092. July 15, 1996 $APGOOP/COHER.FOR Leonia Coherence time is determined by comparing vector and scalar averaged amplitudes for a source over increasing the averaging time intervals. When the vector/scalar ratio becomes less than APARM(3) the coherence time is considered exceeded. A new coherence time is determined for the following time interval starting with the end of previosly found coherence interval. This process is terminated when the time reaches the source end or APARM(1). The coherence time for the selected source is determined as an average of the all coherence time found ising different time intervals. The final coherence time for the given baseline is determined as an average over the selected sources. Complex amplitude for each time interval is determined averaging the selected frequency channels after removing a possible residual delay. The output of the task is represented as two tables showing found coherence times for selected baselines ans antennas. Moved nowhere. 9093. July 18, 1996 $APGNOT/FILLM.FOR Gustaaf Change #9080 had some bad side effects. Undid that change, and solved the FREQID problem by a better treatment of submode changes and pointing mode instead. Moved nowhere. 9094. July 18, 1996 $YPGNOT/FRMAP.FOR Leonia FRMAP used the reference frequency instead of actual frequency for a specified freqid and IF. As a rersult scaling of obtained maps correct only for the first FQID. I have added the FQ table reading to determine the frequency for selected FQID and IF and fixed the problem. The task can work only with one selected IF. So BIF had to equal EIF. To clarify the statement I've excluded EIF from the list of input parameters and forced BIF=EIF inside of the programm. The relevant change of the help file was provided. Moved nowhere. 9095. July 19, 1996 $APGNOT/SOLCL Pat/Stephen White There was a typo in a WRITE statement (MSGTXT accidentally omitted). Received a gripe pointing to the exact line. Moved nowhere. 9096. July 24, 1996 $APLOOP/UVUTIL Ketan There was a bug in UVCALT that I introduced in change 9085 such that the new code was ignored. [pointed out by ...] The only effect of this bug was that the new capability of table de-selection was ignored. Moved nowhere. 9097. July 24, 1996 $QPGOOP/GPHAS Ketan Changed the scheme for averaging visibilities such that now, a weighted average of the visibilities is performed, this is consistent with the behaviour of UVAVG. 9098. July 24, 1996 $SYSUNIX/COMRPL, COMLNK Pat Made two fairly trivial changes: first, warn if the AIPS environment is not defined (old behaviour was an obscure error message about not being able to create a file in the root directory -- PREP was undefined); second, if DIRTY is specified, do not update the NRAO midnight job transaction files. Moved nowhere. 9099. July 25, 1996 PROG, SUB Pat Chaned PROG to look for arg*.FOR rather than require exact match. Also added SUB which helps find subroutines. Moved nowhere. 9100. July 26, 1996 $YPGNOT/POSSM.FOR Leonia A new option has added to POSSM. POSSM had provided only total power for an individual antenna. At the same time some users would desire to have a plot for phase as well to analize cross polarisation property of an antenna. I have implemented the new value for APARM(8) = 5. Now, if APARM(8)=1 the total power is plotted for selected antennas; if APARM(8)=5 both amplitude and phase are plotted for selected antennas ad polarisation. A small bug was discovered and fixed: Selection of antennas in the auto case is supposed determined by adverb ANTENNAS exclusively. But actually the selection depended on BASELINE as well contradicting a HELP statement. Moved nowhere. 9101. July 29, 1996 $APLSUB/TABAN.FOR Pat / Henrietta May Corrected two assignment statements; the integer version of an array was used instead of the real version. Moved nowhere. 9102. July 29, 1996 FIXWT Chris Documented the requirement that the input data be in TB order and removed a paragraph from the explain file that claimed that the output data set could not be compressed (untrue since June). FIXWT now checks the sort order in the UV file header (I thought it already did this but may have been assuming that this was checked lower down in the system) and verifies that the data really is in TB order during the merge phase. The last check is necessary because I have found cases of data which marked as being in TB order but were not. Some cases of this appear to arise from an occasional glitch in FITTP when reading VLBA data. FILLM is a prime suspect in other cases. Moved nowhere. 9103. August 5, 1996 FITLD Phil A subtle error in the frequency selection code was uncovered. If the selected data do not appear in the first two files on the tape then the reference frequency in the header does not get updated. Fixed. Moved nowhere. 9104. August 6, 1996 $APLNOT/BPASET.FOR Athol Increase VBUFF dimension back to UVBFSL from UVBFSS. More space needed by TABSRT in sorting large BP tables than was allowed. TABSRT would fail, reporting a buffer error. Moved nowhere. 9105. August 7, 1996 $YPGM/PCNTR.FOR & .HLP Athol Add new adverb ROTATE to PCNTR, allowing a fixed rotation of of all polarization vectors drawn. Moved nowhere. 9106. August 8, 1996 $SYSUNIX/COMRPL Pat Noticed while building a system for Linux 2.0.11 that the reverse name lookup hack in this script didn't screen out the value ENV, and it can fall flat on its face. Added another "grep -v" to the long string of similar commands. This really needs to use REVENV.C if I can ever get the time to test it. Moved nowhere. 9107. August 9, 1996 BLING Chris Fixed a defective assignment that overwrote the subarray number with the current source ID in DOSOLI and changed the speed-up settings to restrict the amount of padding used in FFTs rather than limiting the maximum size of the FFTs (the maximum size limit was ineffective since it rarely cut in). The speed-up settings are now given separately for delay and rate, allowing the user to favour precision in rate over precision in delay. Moved nowhere. 9108. August 12, 1996 BLING Chris Rearranged the MK3 mode search to look for multiband delay and rate before single-band delay. This gives BLING a fighting chance of finding some friges in this search mode. Moved nowhere. 9109. August 15, 1996 FILLM Gustaaf Since May 1, 1996 the VLA online system writes proper system temperatures to tape. FILLM now reads them, and writes them to the TANT column in the TY table. CPARM(2) controls whether front-end or back-end tempertures are written. As before, the TSYS column contains the 'nominal sensitivity'. Moved nowhere. 9110. August 16, 1996 $APGNOT/JMFIT.FOR Leonia There were many complains about wrong error analisys of ellip- tical gaussian fits in IMFIT and JMFIT. Having revised the relevant codes part I can conclude that IMFIT provides wrong errors of elliptical gaussian fits. JMFIT gives more correct result but still there are some misprints and mistakes. For example an expression of position angle errors includes SQRT of a function of major and minor axis of fitted elliptical gaussian. But theory says that this function has to be in the formula without the SQRT. The expressions for the fitted gaussian parameters depend on ratio of a beam size and a fitted ellipce size. JMFIT uses the only formulas for all cases. That is wrong. The new version of JMFIT estimates the ratio of the beam size and gausian ellipse size. Based on this ratio JMFIT uses three different groups of formulas for the errors: 1.the source is a point one; 2.the source is exspanded one; 3;the source has an intermidiate size relatively the beam size. The formulas for the first two groups were taken from J. Condon paper: 'Errors in elliptical gaussian fits', AA, 1996. The formulas for the intermidiate case were derived as an interpolation of the first two limit cases. The old JMFIT printed two errors: based on rms of residual map and the actual rms of the image. I excluded the first one because users confused which one is better. But at the same time I implemented (through the new adverb FLUX) rms which can be choosen by an user. Now the error analysis can be provided on the base of the actual rms of the image or the rms given in adverb FLUX. The relevant change of the HELP file has been made also. Moved nowhere. 9111. August 19, 1996 FITLD Phil Increased the parameter MAXTAB from 256 to 1296. MAXTAB denotes the maximum number of extension tables that can be read, it had not been increased when Eric changed the data format to extended Hex. An oversight. Moved nowhere. 9112. August 22, 1996 $QSUB/GRDFIT.FOR Athol GRDFIT and UVWAIT were incompatible in their assessment of space required for robust weighting. IMAGR would then give a message about XY sorting required. Standardise GRDFIT with UVWAIT to avoid this. Moved nowhere. 9113. August 27, 1996 STRTKN Chris STRTKN is a new subroutine that splits a string into an array of tokens: a token is an consecutive run of non-blank characters separated from other tokens by one or more blanks. This is primarily intended to extract fields from lines read from non-AIPS text files that do not use fixed formats. Moved nowhere. 9114. August 27, 1996 GP table Chris Added a new table type (GP) to hold GPS TEC data. The following routines support this table type: GPINI (APLNOT) - open/create TABGP (APLNOT) - read/write/close OGPINI (in TABLEUTIL from APLOOP) - wrapper for GPINI OTABGP (in TABLEUTIL from APLOOP) - wrapper for TABGP Moved nowhere. 9115. August 27, 1996 LDPGS Chris LDGPS is a new task that reads GPS ionospheric data from a CONAN ASCII file and writes it to a GP table attached to a uv data file. Moved nowhere. 9116. September 3, 1996 BLING Chris Trimmed extra trailing space from the manifest character constants used to initialize ADVRB2 and removed a stray horizontal TAB character from the source code. Moved nowhere. 9117. September 3, 1996 XHELP pseudoverb Chris Added an experimental XHELP pseudoverb to AIPS. XHELP is intended to provide direct access to HTML versions of cookbook-level help. XHELP FOO will look for a file named FOO.html in area AIPSHTML and automatically loads it into a browser (only Netscape is supported at the moment) which will be started if not already running. If FOO.html does not exist then AIPS will check for FOO.HLP in HLPFIL and load it into the browser as plain text. If the .HLP file doesn't exist then a default index page (INDEX.html from AIPSHTML) will be loaded. New routines: ZXHLP2 in SYSUNIX script to load page ZXHELP in APLUNIX handles XHELP pseudoverb ZXHELP in APLGEN stub for non-UNIX systems XHELP.HLP in HLPFIL help file Modified routines and files: AU1A.FOR CHUNT.FOR HELPS.FOR POPSDAT.HLP Moved nowhere. 9118. September 5, 1996 VLACALIB.HLP Ketan Prior to 15OCT95, VLACALIB always wrote to SN#1. Since 15OCT95, VLACALIB always wrote a new SN table. The SNVER adverb has been added so that the user can choose which method should be used. 9119. September 5, 1996 VLAPROCS.001 Ketan The cookbook reflects the pre-OCT95 behaviour of VLACALIB. [see change #9118]. VLACALIB now allows the user to set SNVER and, if a new SN table is to be generated, a warning message is printed. 9120. September 5, 1996 AU7B.FOR Pat Modified so that STALIN can handle more than 20k records. Some people have a lot more than this. Moved nowhere. 9130. September 9, 1996 $RUNSYS/CRSFRING.001 & .HLP Athol Add new run-file written by Kari Leppanen to determine cross-polarized delay and phase offsets. This procedure uses task BLAVG and is thus distinct from CROSSPOL, although their overall purpose is the same. Moved nowhere. 9131. September 9, 1996 FILLM.FOR Gustaaf Undid part of the changes in 9093, since it had bad side effects. Moved nowhere. 9132. September 9, 1996 $AIPSPUBL/COOK9.TEX & COOK9.PS Athol Add a short section to the Cookbook (ch. 9) to provide an overview of VLBI polarization calibration within AIPS. This outline will be supplemented by an updated AIPS memo. Moved nowhere. 9133. September 10, 1996 $APGNOT/SNSMO.FOR Leonia The phases are averaged in IF before smoothing if SMOTYPE= 'VLMB'.The average phase is the phase of vector average of the compex amplitudes. The option 'VLMB' uses usually with SN table having amplitudes equaled identically to unit. But as a result of the vector average the average amplitude is becoming different of one. To prevent this undesirable difference, the average amplitude is evaluated now as the scalar average of the IFs amplitudes. Help file has been updated. Moved nowhere. 9134. September 11, 1996 GP table Chris Corrected the column definitions and units for the GP table. Changed GPINI.FOR and LDGPS.FOR; revised documentation in TABGP.FOR, TABLEUTIL.FOR and LDGPS.HLP. Moved nowhere. 9135. September 11, 1996 MAGDIP in APLNOT Chris Added MAGDIP (identical to the version used in FARAD and CLCOR) to the AIPS library. Moved nowhere. 9136. September 11, 1996 GPSDL Chris Added a new task that fits a simple, local model of the ionosphere to GPS data loaded by LDGPS and uses this model to correct phases for the excess path in the ionosphere and to calculate ionospheric Faraday rotation. Requires a compact array with a nearby GPS receiver. Moved nowhere. 9137. September 12, 1996 FARAD Chris Fixed the faulty geometry used to calculate the relative position of the SIP. Also removed MAGDIP (now a library routine) from the code. Moved nowhere. 9138. September 12, 1996 FDEFAULT.SH Pat Added a few extra qualifiers for the Irix 6.2/f77-7.0 OS and compiler on SGI systems. The default for these new compilers differs from older versions in that -mips4 is not the default. Moved from NCSA today. 9139. September 12, 1996 $APGNOT/DTSIM Athol Upgrade DTSIM to deal with delay errors in ns; also allow a polynomial delay offset. This required some changes to $APLNOT/DTCALS.FOR. Update $HLPFIL/DTSIM.HLP also. Moved nowhere. 9140. September 16, 1996 $QPGOOP/GPHAS Ketan GPHAS copied over the FQ table without adjusting it to reflect any data selection that may have been requested. GPHAS now copies over a modified form of the FQ table that reflects the output data file format and not the input data file format. Moved nowhere. 9141. September 16, 1996 $APGNOT/DTSIM Ketan DTSIM contained a stub routine for position calculations for an orbiting antenna. That stub routine has now been replaced with a call to the subroutine ORBIT in ORBIT.FOR in $APLNOT. Moved nowhere. 9142. September 17, 1996 BSINI in APLNOT Chris Used an 8-character buffer for the MODE keyword to avoid junk being appended to it in the table header. Moved nowhere. 9143. September 18, 1996 $APGNOT/ACCOR.FOR, HLP Leonia ACCOR had an adverb SNVER which allowd to write the result to the given SN table. If SNVER .GT. total number of the SN table or SNVER=0 then a new SN table used. But if SNVER corresponded to an existing SN table then this table supposed to modify. This modification had a confusion because of the problem of time sinchronisatio in the solution interval of data average and time in the existing SN table. I've excluded the SNVER adverb from ACCOR to forget this confusion. Now the result is recorded in a new SN table ever. Moved nowhere. 9144. September 18, 1996 $YPGNOT/VPLOT.FOR, HLP Leonia VPLOT could plot a model based on only one field (one image). Now VPLOT can plot a model based on many fields (up to 16), which can appear as a result of multy field CLEAN at MX or IMAGR. The new adverbs NMAPS and NCOMP have been implemented. NMAPS is number of the fields; NCOMP is an array of number of components at the each field. The subroutine REEDIN has been changed dramaticaly. The cycle of celected maps was added. The calculation of ZTERM was excluded from REEDIN. XTERM was calculated as a constant for the whole field. Such an aproximation could porovide a mistake in the case of wide field image. Now ZTERM is calculated for each individual point in MODSET and MODORB as a function of it X, Y position. This change improved accuracy of the model and at the same time simplified the program. The relevant change of the help file has been done. Moved nowhere. 9145. September 19, 1996 $YPGNOT/CLPLT.FOR, HLP Leonia The multy field model has been implemented. See the previous item (#9144). A small bug has been discovered and fix independentely. The task had not worked if TRIANGLE=0 and number of antennas > 21. I have increased parameter MAXTRP to 400 to lift up the antenna number threshold up to 29. Moved nowhere. 9146. September 19, 1996 BLAPP Chris Modified BLAPP to deal with the misaligned timestamps for different baselines that will arise if different solution intervals are used on different baselines. BLAPP now uses the input CL table as a template that determines the times at which solutions are to be obtained and writes a scratch BS table with solutions locally extrapolated to these times within the original solution intervals; the scratch table is then used as the input table for the computational phase of BLING. The acceleration term is used in the local interpolation so fringe-acceleration corrections should be taken care of automatically provided that the original CL table entries were sufficiently closely spaced in time. Moved nowhere. 9147. September 19, 1996 BLAPP Chris Fixed the upper bounds for the loops that extract antenna solutions after the least-squares fits to use the maximum antenna number rather than the number of antenna terms in the least-squares equations. This mistake was causing the solutions for the N highest number antennae to be lost where N >= 1. Moved nowhere. 9148. September 27, 1996 Cokbook CH.9 Athol Updated COOK9.PS, COOK9.0.PS and COOK9.NDX to include recent polarization update. Moved nowhere. 9149. September 29, 1996 JMFIT.FOR Leonia A misprint has been discovered and fixed at a comment. Moved nowhere. 9150. September 30, 1996 BSPRT Chris A new task to print BS tables in a more readable form. Moved nowhere. 9151. September 30/October 1, 1996 Lots Pat Corrected the value of NPARMS or its equivalent in 24 separate tasks where the check_nparms.pl script found it to be incorrect (actually, that script merely reports the value; a manual inspection of the code is necessary to determine what the real value is, as there are several disparate methods for getting the parameters, GTPARM being the most common). These were: ANCAL ELINT LISTR PCCOR SHOUV UVFLG ASCAL FILLR LPCAL PFPL1 SKYVE UVGLU CLCOR HORUS MULTI PRTAC SLCOL UVNOU CSCOR IMLHS PCAL SHADW SLFIT XMOM A few of these were manually checked to make sure the correct value was determined, including WTMOD (where the overly large previous value managed not to fail under SOL only because there was a bunch of unrelated stuff in the INPARM common; hopefully they were in turn overwritten later as they were used), and PCCOR (old: 28, new: 140) where the CALSOUR adverb was used (declared as (4,1) in the code, but (4,30) or equivalent in POPSDAT). There may be more errors like this lurking in the system; about 3/4 of the tasks need to be rechecked -- by hand. Also, a handful need to have their help files modified to correct for incompletely specified adverbs (e.g. INVER instead of the correct INVERS). Moved nowhere (yet). 9152. October 3, 1996 FITLD.FOR Phil The VLBA correlator software is being upgraded with several changes for SVLBI. The most important from FITLD's point of view is that the way the data are scaled is changed. Changes to FITLD to accomodate this are: (1) recognize when the correlator writes multiple dump rates (2) if multiple dump rates don't check for time order, set the output sort order to '**', declare a subarray condition. (3) read the correlator code version number. If > 4.16 then change the amplitude scaling. Prior to version 4.17 data were normalized by a global scaling factor, now they are normalized by the scaling factor multiplied by the data integration time. (4) If a subarray condition occurs write a keyword-value pair in the catalogue header. When concatanating to such a file set the 'found subarray' logical automatically. (5) Trimmed the number of messages at FITLD start-up. Moved nowhere. 9153. October 7, 1996 LDGPS Chris Added the capability for handling files in the newer Los Alamos text format. Moved nowhere 9154. October 8, 1996 HOLGR Mark Many changes, principally the development of a reliable phase unwrapping algorithm. Also added some other enhancements triggered via XPARMS. 9155. October 10, 1996 FTPGET Pat Modified the "ping" section so that if it seems to fail, the command is shown to the user, repeated, and the user given the option to continue (with caveats). Improved the feedback messages somewhat, and implemented a scheme where the binaries on the ftp site are assumed to be GNU-zipped. This will require either the user to have gunzip, or to use a version that I will provide for each architecture on baboon (aka aips.nrao.edu). Moved nowhere. 9156. October 10, 1996 CVEL, $APLNOT/GETTIM Phil The ATCA uses the same handedness of antenna coordinates as the VLA but when users used APARM(7) to specify this CVEL only recognized the VLA and so refused to run. Modified GETTIM to allow the ATCA and LBA as allowed arrays with a right-handed coordinate system. Also modified CVEL slightly so that when it is run on single-source files it doesn't print an error message about trying to find a CL table. Also updated the CVEL.HLP file to explicitly mention the ATCA and LBA. Moved nowhere. 9157. October 13, 1996 $APGNOT/USUBA.FOR Athol Revise the automatic subarray identification algorithm to deal with inhomogeneous integration times, rounding errors in the accumulation time calculations and to provide an improved weighting function for separation in time when matching subarray entries. Also increase the subarray table size and improve the output format for OPCODE='SCAN'. Moved nowhere. 9158. October 14, 1996 $APGNOT/ACFIT.FOR Athol ACFIT has failed since the revisions made in #8983 above. Corrected: i) variable NUMTFQ was not set but needed in subroutine GETTPL; ii) only the first half of array TPLATE was initialised before the template spectrum averaging; iii) the template spectrum weight array LINWT was no longer initialised before averaging; iv) the template spectrum averaged in array TPLATE was shifted by one frequency channel, leading to incorrect gain solutions; v) re-instated check for bogus zero gain solutions in subroutine AUTOFT. On a unrelated point, set the parameter count to 279 before calling GTPARM. This latter problem found in automated checking of NPARMS values as documented in #9151 above. Moved nowhere. 9159. October 14, 1996 $QPGNOT/LPCAL.FOR & LPCAL.HLP Athol New revision of LPCAL contributed by Kari Leppanen. This version allows feed calibration using linearly unpolarized calibrators. In this case a Stokes I model need not be provided via IN2NAME. The output format for the results and residuals has been modified accordingly. Moved noweher. 9160. October 14, 1996 $QPGNOT/CVEL.FOR Athol Take steps to preserve CATBLK if the BP table is sorted in BPASET. This could cause problems before with the signature that CVEL would fail on the first run but would work correctly on any subsequent attempt. The reported error in this case was that CHNDAT could not locate the frequency axis. Moved nowhere. 9161. October 15, 1996 $YPGNOT/POSSM.FOR Ketan POSSM allows spectra that it plots to also be written to an OUTFILE. Unfortunately, this OUTFILE always contained header info that described exactly what spectra are being written. BPARM(10) is now a toggle that allows that header to be omitted. This allows multi-IF,multi-FQID spectra to be written to the same OUTFILE without annoying header information to permeate the OUTFILE. Not writing out the header information could be dangerous if the USER forgets how the spectra were produced but the benefit of being able to easily plot together a long spectrum out of separate pieces is worth the risk. 9162. October 15, 1996 $APLSUB/LFILL.FOR Ketan LFILL fills an array of logicals with a logical constant. This complements the existing routines CFILL, CHFILL, DFILL, FILL, and RFILL in $APLSUB. 9163. October 15, 1996 $APLSUB/CXFILL.FOR Ketan CXFILL fills an array of logicals with a logical constant. This complements the existing routines CFILL, CHFILL, DFILL, FILL, LFILL, and RFILL in $APLSUB. 9164. October 15, 1996 $APLSUB/LCOPY.FOR Ketan LCOPY copys a portion of one array of logicals into another array of logicals. This complements the existing routines CCOPY, CHCOPY, COPY, DPCOPY, HICOPY, and RCOPY in $APLSUB. 9165. October 15, 1996 $APGNOT/OMFIT.FOR Ketan Removed $APGNOT/OMFIT.FOR. This task has been rewritten almost from the ground up and now belongs in $QPGOOP. 9166. October 15, 1996 $QPGOOP/OMFIT.FOR Ketan OMFIT has been rewritten almost from the ground up. It is now an OOP routine. The syntax has been considerably cleaned up - but still needs work. Dynamic memory allocation will be added soon. The multiple-field self-calibration option is now functional and has been rudimentarily tested. The principle advantages to the average user are that OMFIT allows multiple component models where each component is of a different model type, and that OMFIT does not apply artificial restrictions upon the number of visibilities to which it will fit to. The principle disadvantage of OMFIT is is its speed. It could still use some tuning in that regard. This update was as concerned with adding functionality as with testing previous functionality and conforming to AIPS coding standards. I apologise in advance for the many places where it still does not conform to AIPS coding spec. - Ill get to it... *********************************************************************** Changes while 15OCT96 was NEW: *********************************************************************** *********************************************************************** 9167. October 23, 1996 GPSDL Chris Added a test to protect against the cosine of azimuth going out of range near culmination due to rounding errors. Also fixed a formatting error in the .HLP file. Moved from 15APR97 on this date. 9168. October 23, 1996 LDGPS Chris Now requires the user to enter the time offset of the GPS receiver (which is variable) rather than using a look-up table. Also corrected the scaling of TEC data and modified the Los Alamos table reader to deal with variable amounts of spacing between columns. Moved to 15APR97 on this date. 9169. October 23, 1996 CLCAL Pat Replaced old SORT routine with HSORT, a fast, public-domain heap sort. Thanks to Fred Schwab for donating it. Moved from 15APR97 on this date. 9170. October 23, 1996 This file Pat Inserted above "Changes while... was NEW". Also changed wording on how to insert entries (see top of document). Moved nowhere. 9171. October 29, 1996 $APGNOT/BLOAT.FOR Athol Copy multi-Stokes data, as requested by NRAL. Leave the infrastructure for now, which makes some assumptions and needs work. Moved from 15APR97 on this date. 9172. October 30, 1996 $APGNOT/MK3IN.FOR & .HLP Athol Implement new fractional bit shift correction as derived and coded by Kari Leppanen (JIVE) in the course of high dynamic range imaging tests using the EVN. The FBS correction now includes amplitude corrections if desired. In addition the band centre for the existing phase correction was found to be in error by one half of a channel, and has been corrected. Moved from 15APR97 on this date. 9173. October 30, 1996 $APGNOT/FITLD Phil Made a minor but vital fix needed for the new correlator code. The amplitude scaling change I added on Oct 3 did not work if files were skipped on tape since a crucial parameter was reset. Also added a much more minor change in correcting the reference pixels when IF and channel selection were used. Moved from 15APR97 on this datae. 9174. October 30, 1996 VLB DDT Athol Minor change to DTCHK to compare angles in the correct quadrant. Also add new file $RUNSYS/DTSIM.FR_1 for the VLB DDT. Moved from 15APR97 on this date. 9175. November 1, 1996 $APGNOT/FITLD Phil A subroutine call had one variable too many. Not catastrophic but needed fixing. Moved from 15APR97 this date. 9176. November 1, 1996 $QPGOOP/OMFIT.FOR Ketan Added dynamic memory allocation to improve execution times. Also, finally, added capability of processing polarization data as well as fitting multi-channel components. Still lots to do - but not today! Moved from 15APR97 this date. 9177. November 1, 1996 $HLPFIL/OMFIT.HLP Ketan Much revised help file - thanks to Michael Rupen's efforts. Documented new model components. Made some features simpler to understand. Moved from 15APR97 this date. 9178. November 1, 1996 $DOCTXT/USERNO.LIS Ketan Wrote PERL script to make updating the AIPS user numbers list easier. In the process, reformatted the file and made it a bit easier on the eye. Now, to add new user numbers, only the first two columns need be filled in. The script automatically figures out what belongs in all the rest of the columns. Moved from 15APR97 this date. 9179. November 1, 1996 $APGNOT/CLCAL.FOR Ketan Replaced matrix inversion code inside CLCAL with LAPACK equivalent code. Also, cleaned up the subroutine FITSC quite a bit to make it more efficient. Moved from 15APR97 this date. 9180. November 1, 1996 BLING Chris Added protection against overflow problems in the SNR calculation. Also removed a lurking PRINT statement left over from debugging. Moved from 15APR97 on this date. 9181. November 2, 1996 $APGNOT/CLCOR.FOR Athol Correct the amplitude factor used for the opacity correction for OPTYPE = 'OPAC'. The amplitude factor was the square of what it should have been. Moved from 15APR97 this date. 9182. November 5, 1996 $INSUNIX/INSTEP1 Pat Fixed some typos (missing quotes) and changed several things. Added a new logging facility (what happens now goes in INSTEP1.LOG for the most part), always build PRINTENV from the C program, use gmake for XAS if we can, remove problematic LD_LIBRARY_PATH and LD_RUN_PATH setting, replace with warnings if these variables are set for SOL, use UNSHR to unpack XAS always, modified the tape device (TPDEVS.LIST) part and added a section to take care of setting up the TPHOSTS file. Moved from 15APR97 this date, and to the tape-cut area.