;----------------------------------------------------------------------- ; Copyright (C) 2012-2014 ; 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 Master version of AIPS kept in SOCORRO. An entry is: line 1: Date Program name Your name line 2: What was done (may span multiple lines) line n-1: Where has this change been moved (e.g. 15JUL94, nowhere) line n: Blank The details of line 1 are important since programs are used to find specified strings and do conversions on them. It MUST be typed as follows: 1 blank, 4 digits, a period, two blanks, then the Month, day, comma, year, some space, a title, some more space, your name. *********************************************************************** *********************************************************************** Changes while 31DEC13 is TST *********************************************************************** *********************************************************************** 14018. December 5, 2012 UVCOP Eric The PDSEL routine used in copying PD tables from one UV data set to another had a bad variable causing it to zero the results. Moved to 31DEC12 this date. 14019. December 6, 2012 FARS, AFARS Eric FARS now gets rid of the STOKES axis on output - but this led one of the number of points on an axis to be 0 (an axis not actually used). AFARS did not test for this and so looped over nothing at all producing a constant, blanked image. Fixed this in both tasks. Moved to 31DEC12 this date. 14020. December 9, 2012 SNPLT Eric Added OPCODE 'MULT' with APARM, BPARM, CPARM to allow up to 10 types to be plotted each with its own plot range. In plotting, the type varies fastest, then IF etc. Changed AU8A (EXTLIST) and AU2A for the new capability (and number of adverbs). Moved nowhere. 14021. December 10, 2012 SETJY Eric Changed code to ignore some of the adverbs unless the OPTYPE is ' ' or 'SPEC' - or 'VCAL' for spectral parameters. It was too easy to change the CALCODE without intending too (and the velocty types, velocity values, etc etc). Changed CALCODE to CODETYPE since that use of CALCODE was non standard and added CALCODE in its normal use to help select sources. It is required with EVLA data sets. Moved nowhere. 14022. December 12, 2012 RM help Eric Cleaned up the help file and fixed the "limited to 4 frequencies" statement to the correct limit - 65536. Moved to 31DEC12 this date. 14023. December 12, 2012 RFLAG Eric Changed POPSDAT, NEWPARMS to add scalar adverb DOSCALE. Changed RFLAG to add DOSCALE and if true to find flux scales for each IF and baseline to attempt to bring them all up to the same scale. RFLAG may be needed before CALIB in some cases and so need this to get a uniform scaling for the cutoff levels. Moved nowhere. 14024. December 13, 2012 TVFLG, SPFLG Eric Changed: 1. The status display at the bottom now plots in the same color as the image labeling. This allows later TVCPS with the menu turned off but the status and labeling displayed. 2. Added DOCENTER - if > 0, plot as we have in the past in the center of the display. If <= 0, try to plot to the right of the menu as far as is possible. 3. Set plane number to 1 for lots of places that did not do that - it must have been alright but this is cleaner. 4. Corrected the placement of an END IF - TVFLG was issuing messages about the TV window on every command in the third column, not just the SET WINDOW AND LOAD command. Moved nowhere. 14025. December 13, 2012 SNPLT Eric Added aximuth to the allowed XAXIS types. Moved nowhere. 14026. December 14, 2012 SNPLT Eric Corrected it to handle wrap in the azimuth X axis and fixed some units statements as well. Moved nowhere. 14027. December 17, 2012 FRING, RLDLY Eric Changed both to do N groups of IFs so long as N divides evenly into the total number of IFs. Moved to 31DEC12 this date. 14028. December 20, 2012 FRING, RLDLY Eric Corrected dimension of parameter list - it was adequate for up to 60 antennas but looked like it would work for MAXANT (90). Corrected the phase reference frequency to first IF of the group whenever IFs are grouped. Changed dimension of the variable to save the fits of groups so that it could handle more than 4 groups. Moved to 31DEC12 this date. 14029. December 20, 2012 VLBAEOPS, VLBACALA Amy Removed a bug from VLBAEOPS which was introduced with my June change. In June I removed the INFILE but there was still an if statement in VLBAEOPS that was based on the INFILE. VLBACALA change the SOLINT in ACCOR because it was set to 2 which is too long and averaged over scans, changed to -0.5. Also changed the clip parameters in SNSMO because 2Gbps data seems to need more leeway. Moved to 31DEC12 this date. 14030. December 21, 2012 FRING, RLDLY Eric Added test for DOEVLA = NumIF and forbid BIF and EIF in that case too. Moved to 31DEC12 this date. 14031. December 27, 2012 SNEDT, EDITA Eric Changed SNEDT and EDITA Fortran and helps, QEDIUTIL, and HLPEDISN and HLPEDICL to offer multi-band delay when editing CL and SN tables. The code turns off all other parameters and all IFs but will do both polarizations. Flagged MB delays in the output will be flagged with magic values - their initial values cannot be recovered after exiting the program. They are in the input version of the SN or CL table of course. Moved nowhere. 14032. December 27, 2012 AIPSLetter Eric $AIPSPUBL LET12B files .TEX, .PS, .PDF completed and putbck. Moved nowhere. 14033. December 28, 2012 FRING Eric When it solves for multi-band delay and then blanks solutions for low SNR, it did not blank the MB delay. Fixed the routine which finds the MB delay to do this. Moved to 31DEC12 this date. 14034. December 28, 2012 CONVL Eric Fixed output header to declare no blanked pixels and then reset it if it makes blanked pixels. Moved to 31DEC12 this date. 14035. December 28, 2012 VTESS, UTESS Eric Changed to find the beam center for all images rather than assume that the beam center is NX/2+1,NY/2+1 for those that do not need a primary beam correction. Should be no harm... Moved to 31dEC12 this date. 14036. December 29, 2012 Cal routines Eric Several calibration routines have assumed that only cross-correlation data will be used. But others allow auto-correlations as well. This leads to aborts! Changed DATCAL, POLSET, DATPOL, BLSET, BLGET, ORIPOL, LXYPOL, and VLBPOL to address arrays assuming there are AC's: NUMbaseline = (Nant * (Nant+1)) / 2 BLpnt = (IA1-1)*Nant * ((IA1-1)*IA1)/2 + IA2 Before the upper formula had Nant-1 and the latter had (IA1+1). Also changed PUVD.INC. XBTBSZ was dimensioned for 16 IFs and 28 antennas only (30000). Changed it to manage 90 IFs (150000). Moved nowhere. 14037. December 29, 2012 SCREAT Eric Fixed several messages and changed GO TO into IF THEN. Added a couple of surpressed messages. If it fails utterly, then list the disks that it tried and a suggestion that BADDISK is too extensive. Moved nowhere. 14038. December 31, 2012 IMAGR Eric Changed QUVUTIL - OUVIMG was summing up the total ram needed for the requested images and, with less intelligence, for the requested beams. This sum could overflow a 32-bit integer. Changed the summing variable to LONGINT and changed the places where it was used to start by dividing by 1024 rather than doing that later. Moved to 31DEC12 this date. 14039. January 1, 2013 IMAGR Eric In QCLEAN, found 2 places that referenced IFIELD rather than the correct loop variable LFIELD when seeking the next facet to Clean in OVERLAP 2. Changed IMAGR Fortran and help to read I cards from BOXFILE. These give a range of facet numbers to be ignored entirely in Cleaning. Changed QCLEAN to read IGNORE rather than initializing it locally. IGNORE value 1 means use the facet, 0 means to ignore it temporarily (it had a problem), -1 means to ignore it but allow it to be turned back on, and -2 means ignore it and never look at it for Cleaning. The -2 ones are imaged at all stages and so constitute sensible output images. I expect the main usage will be to ignore extended scales in outer facets. Changed 31DEC12 to test IGNORE much more generally - the -1 should have been tested but was not in most places. It was tested in the subroutine that is usually used to pick the next facet to Clean. Moved bug fix to 31DEC12, not new option. 14040. January 1, 2013 VLANT Eric Copied the 2012 EVLA antenna position correction file from the web site, naming it EVLA.ant.2012 and putting it in $AIPSTARS. Made another dummy VLA file for 2012 and 2013. 14041. January 2, 2013 RLDLY Eric Surpressed the call to UCMPRS when the number of visibilities found is zero. That triggers way too many strange error messages while the higher level routines handle the situation correctly. Moved nowhere. 14042. January 3, 2013 TVFLG, SPFLG Eric The catalog routines could not find the image after I allowed it to but up to the right edge. Added a parameter to keep track of the X position as well as the Y position when we are using some center other than the center of the TV. Moved nowhere (fix to 31DEC13 bug). 14043. January 7, 2013 SETJY, BPASS, CPASS Eric Entered the 2013 Perley/Butler time-dependent flux spectra for 3C48, 3C138, 3C147 as the default with the 2013 3C286 et al. for that source. All the APARM(2) values change. BPASS/CPASS: upgraded the spectral index correction to use the Perley/Butler values for 3C286 and 3C295 and to use the time-dependent values for 3C48, 3C138, and 3C147. Moved nowhere. 14044. January 8, 2013 IMFIT, JMFIT Eric Try to improve the wording in the explanation of the max and min deconvolved widths in the help files. It is (-1, 0, 1) * errors not 0.7*error and over 27 different combinations. Moved nowhere. 14045. January 9, 2013 TYAPL Eric (1) Corrected code so that when it is asked to find gain solutions with the PGN or CLP modes it only examines the post gains so see if they are valid. Previously it was looking at the PSUM and PDIF and TCAL to see if they were valid even though they were not going to be used in the gain and weight scales. (2) Added CUTOFF adverb. If it is > 0, then read the SY table to see what fraction of the values by antenna, polarizations, and IF are valid. If that fraction is < CUTOFF, then mark that antenna, polarization, and IF to be "skipped". The SY table values are taken as 1.0 for that antenna, polarization, and IF and the data affected are passed through (changed perhaps by the SY values of second antenna but not the "skipped" one). This would be used when the SY data appear to be invalid but the visibilities appear to be okay. CALIB should then be able to find the gains and correct the visibilities accordingly. The weights also get changed by CALIB solutions but will probably not be entirely correct. Moved nowhere. 14046. January 9, 2013 SYCOP Eric Added option which was really needed before. OPTYPE now controls which polarizations are done as 'R ' average R, store in R, L unchanged 'L ' average L, store in L, R unchanged 'R2L' average R, store in L, R unchanged 'L2R' average L, store in R, L unchanged else average R, store in R, average L, store in L Also added ANTENNAS to limit the operation. Moved nowhere. 14047. January 10, 2013 SYCOP, TYAPL Eric Upgraded the history file and user display of SYCOP (for antennas) and TYAPL (for the details of which IFs and polarizations were "skipped"). Moved nowhere. 14048. January 11, 2013 SYCOP Eric Added OPTYPEs to copy all N IFs of R to the corresponding N IFs of L (R unchanged) and all N IFs of L to the corresponding N IFs of R (L unchanged). Amplified comments in the help to make it clear that data not included in the operation are copied unchanged from input to output. Moved nowhere. 14049. January 15, 2013 TECOR Amy TECOR did not handle leap years. Fixed. Moved nowhere. 14050. January 15, 2013 smoothing after BP Eric The bndpass application was performed only for channels BCHAN through ECHAN, not the wider range required if smoothing were to be done after the bandpass cal. Fixed DATBND to do the wider range so that smoothing after the BP rather than just before can be done properly. Normally bandpasses are normalized so this was not so obvious. Moved to patch this date. 14051. January 17, 2013 S-band models Eric Models at 2141, 2663, 3047, 3463, and 3847 (S band) for 3C48, 3C138, 3C147, 3C196, 3C286, and 3C295 were put in $AIPSTARS. They are named with the BAND adverb set to the frequency in GHz to the nearest 100 MHz - thus 2.1, 2.7, 3.0, 3.5, and 3.8. Added a note about this to the CALRD and CALDIR help files. The models are due to Rick Perley and use only A-configuration data. Moved nowhere, but $AIPSTARS is shared with all versions. 14052. January 18, 2013 IMAGR Eric In UVUTIL subroutine U2IDES, when it gets the pointing position, added defense against (0,0) which we get from BDF2AIPS. Use the UV data reference position which is a phase stopping position but better than nothing. It will work for multi-facet things. Moved nowhere. 14053. January 22, 2102 UV frequency smoothing Eric Changed SMOOTH help file to talk about issues with frequency smoothing in the presence of flagging. Changed SMOSP to smooth real and imaginary at the same time and adjust the weights. Compute nothing on input flagged channels since they stay flagged. This should save computing and improve the weights. Note that the smoothing is NOT a weighted smoothing. Moved nowhere. 14054. January 22, 2013 POSSM Eric Changed to offer the option of smoothing after all summation whichh avoids much of the oddity associated with smoothing partly flagged spectra. One can smooth all unflagged channels keeping the flagging or replaing flagged channels with smoothed values. This is also much faster. Corrected: (1) It did not know about "formal I" Stokes and so looped over non-existent Stokes values. (2) It did not initialize values for the upper plot in terms of scaling and axis prefix/label. I probably introduced that bug when trying to keep scaling constant on each page. (3) Changed it to specify the 2 antennas it needs when it reads the data each time. Previously it was reading/calibrating all data and then keeping only the needed baseline. Moved corrections only to patch 5 Feb. 14055. January 28, 2013 FILEBOX Eric Corrected AU5C code for verb FILEBOX to parse 4-character facet numbers as well as 3-character ones. Changed the upper limit on NFIELD in the FILEBOX help file. Moved nowhere. 14056. January 28, 2013 SPFLG Eric 1. The labeling did not know about the loading of every n'th channel when there are too many channels. Added an XINC to the labeling routine. 2. Added the option of frequency smoothing inside the task on loading. Added the option to the EXPLAIN section of SPFLG help file and HLPSPFLG, the run-time documentation file. Moved nowhere. 14057. January 28, 2013 IMAGR Eric Added tests in FIELDF to check for a facet being defined more than once. This is treated as an error and will cause IMAGR to exit. Moved nowhere. 14058. January 29, 2013 TICINC Eric The subroutine that computes tick increments was changed in late November to allow even finer tick intervals. The change was not properly carried to a piece of code computing round-off parameters, leading to excessive roundoffs and thus offsets in the plotted coordinates. Two minutes of time was a common such offset (0.5 degrees). Moved to patch this date. 14059. February 4, 2013 STUFFR Eric Clarified APARM(2) in the help file. Moved nowhere. 14060. February 4, 2013 TVFLG, SPFLG Eric Added to these tasks a second gridding routine that uses large memory (AP size) for gridding whole planes. Modern disk systems do not like scatter writes and so do not like the old gridding methods. In the new routines, used when there is enough memory, whole planes are gridded and then written to disk all in one. As many planes as possible are done to reduce the number of reads of the input data set. Moved nowhere. 14061. February 4, 2013 IMAGR Eric Added additional error message to GRDSUB when it fails to get needed memory. I suspect it is trying for one too many channel models in some cases. Moved nowhere. 14062. February 4, 2013 POSSM Eric The subroutine to plot BD tables ended with a call to TABBP rather than TABBD to clos the file. This worked sometimes but aborted under a variety of conditions. Moved to patch Feb 5. 14063. February 5, 2013 gridded subtraction Eric Subroutine MODFIT estimates how many facets and/or channels may be done at once without exceeding the AP size limit. It did not take into account the various overheads properly - putting an excess into the final amount and not having enough in the base amount. This could lead to trying to do one more channel or facet than would actually fit. Changed QINIT to allow an extra 512 kilowords in the pseudo-AP above the user's limit in case there has been round off error. Moved nowhere. 14064. February 5, 2013 FITLD Eric Changed FITLD to leave DIGICOR set to the user's value independent of the name of the array. If that name is not VLBA a warning message is generated if the correlator is not DIFX or VLBA. Altered the wording of FITLD help file and the DIGICOR help file. Moved to patch this date. 14065. February 6, 2013 TVFLG Eric Found a debug array left in the code which was too small for really long rows (> 2 subarrays of VLA) and so led to aborts in the new gridding technique. This problem also led to correcting the axis labeling to allow for increments in baseline (similar to the frequency issue already corrected in SPFLG). Moved nowhere. 14066. February 11, 2013 RLDIF Eric Changed the SOURCES adverb to CALSOUR in the help file. Added a message warning that DOPOL <= 0 is not normal usage. Moved nowhere. 14067. February 13, 2013 FITLD Eric The recent change to control digital corrections for any and all correlators also enabled delay corrections - basically the CQ table. Not all FITS-IDI files have the necessary info to do this. Changed the program to issue all the error messages but to keep going when the CQ table fails (setting DELCOR false after a failure). Moved to patch 18 Feb. 14068. February 15, 2013 BPPHLAME Eric $AIPSOFM file had bad character in last line -> abort. Michael Bietenholz reported this. Moved nowhere ($AIPSOFM is all versions). 14069. February 15, 2013 ANFIND again Eric ANFIND was initially constructed to examine only 3 characters of the station name even though later station names were added up to 8 characters in length and not unique until nearly the 8th character. Major COMLNK list! Moved nowhere - patch if it works out. 14070. February 16, 2013 IMFIT, JMFIT Eric Changed POPSDAT and NEWPARMS to create a new adverb FSHIFT(2) to hold the SHIFT output of fitting tasks plus a new help file. Changed AU9 and MAXFIT help file to use FSHIFT rather than SHIFT. Rearranged code in IMFIT and JMFIT to set up a true array of return values and added FSHIFT in the middle of them. Changed help files to add FSHIFT and to make clear which adverbs are inputs, in/out, and outputs. Moved nowhere. 14071. February 16, 2013 IRING Eric Changed the OUTTEXT file to have a column giving the uncertainties. Also added column headers that attempt to reflect the image units and the choice that the user may make about the X axis units. Moved nowhere. 14072. February 16, 2013 VLAMP Eric NEW TASK: Sums up the SY system temperatures to write an ANTAB file for the phased VLA. This requires a CL table with the antenna gains, a GC table, and a SY table. This last should be edited, smoothed, and otherwise made reasonable first. Moved nowhere. 14073. February 18, 2013 TIORD Eric Added code to test the antenna numbers making up the baseline number. If the first is > than the second, report the error and count them. Changed POPSDAT and NEWPARMS and made new help file for a general adverb PRTLIMIT(10). Added PRTLIMIT to TIORD to limit the 3 types of print outs. Changed the output format since "visibility number" means very little if any data selection/calibration adverbs are applied. Now all that is printed is times and antenna numbers. Moved nowhere. 14074. February 18, 2013 TVSTAR Eric Added more info for when image header and disk header do not agree. Also, before testing, take the header through CATN2L forward and back in case of oddities in number representation which TVLOD would have corrected. Subroutine AU5B affected. Moved nowhere. 14075. February 19, 2013 CLCAL Eric Changed the Fortran to make CALP the default OPCODE. Note that the task previously turned a blank OPCODE into CALI, but died on OPCODEs which had no meaning to CLCAL. Added warning messages when CALI is used with a new CL table. Changed wording in CLCAL help file re defaults and re the meaning of CALI and CALP and how they are usually used. Moved nowhere. 14076. February 19, 2013 calibration Eric Changed CSLGET to check for source ID matching - either the SN or CL table source column is zero, CURSOU is zero, or the two match in order to include the table record. This means that data omitted from a CL table via CLCAL cannot be calibrated by the CL table. SN tables usually have source 0 in single source files so there should be no issue even though CSLGET does not know whether the table is a CL or an SN. Moved nowhere. 14077. February 19, 2013 SPLAT Eric Changed task to honor OUTNAME even in split (multiple single source files out) mode. In that mode, it honors OUTSEQ for the first source and then sets OUTSEQ to 0 for all others. Changed help file to explain this. Moved nowhere. 14078. February 19, 2013 CL2HF Eric A COMMON in the task was named ANINI causing an addressing failure when the subroutine ANINI was called. Renamed the COMMON. Moved to patch this date. 14079. February 20, 2013 CLCAL Eric CALP is changed internally into CALI for most of the task. Changed it back in the HIstory writing. Moved nowhere. 14080. February 21, 2013 UVFIX Eric Changed UVFIX to use INVERS to select the CL table used to find the Doppler offset. Improved the FRQUPD error messge. Changed FRQUPD to 1. Determine a maximum CL time interval if none are recorded. 2. To branch from the search loop when the time exceeds the current time for any source. Before it went on until a record for the current source was found that exceeded the current time (which often could be the end of file). 3. When the end of file is reached, check for the presence of a good value rather than simply assuming that this must be an error. 4. Read the CL/FO file once at the start to see if there any non-zero Doppler offsets. Set a flag to skip reading the file further if there are not. Why did FRQUPD appear to work? Moved nowhere. 14081. February 21, 2013 CALIB Eric Added the input file name to the HI file of the input (old) UV data set. This had to be put 2 places. It did appear in the output file (if any) previously. Moved nowhere. 14082. February 22, 2013 SPLAT Eric OUTNAME was ignored when processing a single-source file. It should be used with INNAME used only as a default. Moved nowhere. 14083. February 25, 2013 calibration Eric The logic of CSLGET was bad and I made it worse by adding the test on source ID using the same logic. Now, when the CL table contains a record that should be ignored (wrong subarray, freq ID, source) it checks to see if we have enough information rather than branching to read more of the CL table. It did that test when it found a record that could be wanted but was not needed at the moment, but not otherwise. This had bad results from using calibrations from rather wrong times at the ends of scans. CALIB, SPLAT, etc would behave differently when asked to do 2 sources than when asked to do only one. Moved nowhere. 14084. February 26-27, 2013 calibration still Eric CSLGET would quit if the first source in the CL table was not desired and so no cal values would be found. Fixed this oversight in the logic 26 Feb and made a better fix 27 Feb. Moved nowhere. 14085. March 1, 2013 PRTAB Eric With really large floating point numbers (e.g. frequencies) the floating point formatting could generate an illegal format. There is a simple fix. Moved to patch this date. 14086. March 8, 2013 RLDLY Eric Added remarks to help file about TIMERANGE which has no defaults in this task. Moved nowhere. 14087. April 4, 2013 COMB Eric Scaled the BPARM(1) and (2) fluxes in POLC by the apparent beam factor which could be extreme. Led to POLC doing nothing. Fixed it to keep Clean beam area factors at 1.0 for those images not being read. Moved to patch this date. 14088. April 4, 2013 imaging Eric TABINI can update an image header on disk if it thinks there was a "missing" table which actual exists. Changed GRDCRM, VISDFT, VSCDFT, VSFDFT to defend the disk by using CATIO to read the header from disk to make sure that we have the right one. The mysterious NGRDAT parameter causes the KLNBLK in common to be that of some facet other than the current one we want. VISDFT also actually loops over facets when we are doing more than one at once. Moved nowhere. 14089. April 4, 2013 UVPRT Eric Changed it to print the actual frequency of the channel and IF being printed in the print headers. Moved nowhere. 14090. April 4, 2013 IMEAN Eric Do JTRIM rather than ITRIM on file name in case of a bad character. Moved nowhere. 14091. April 5, 2013 models Eric Copied all the 3.5 GHz models to be names _S as the default S band models in $AIPSTARS. Moved nowhere. 14092. April 5, 2013 AFARS Eric The correction to make it handle headers without having 0 points on an axis left it trying to have way more than 3 on the 3rd axis - when it knew it did not want that. Moved to patch this date. 14093. April 6, 2013 FTFLG Eric NEW TASK: a version of SPFLG that puts all baselines in a single plane. It therefore can do little antenna selection should it be used to write flags, but it could be an interesting data exploration task. Moved nowhere. 14094. April 8, 2013 LSTHDR Eric Added a couple of decimal places to the Xshift, Yshift display. Affects IMHEAD and others. Moved nowhere. 14095. April 8, 2013 UVLOD Eric In the subroutine which checks source names and assigns qualifiers if needed, the message indicating that it did same had a bad list of variables causing the message to be truncated. Moved nowhere. 14096. April 9, 2013 SETMAXAP Eric Took the gloves off in AUC to allow 12288 Mbytes in 64-bit machines and 2000 Mbytes in 32-bit machines which is quite close to the absolute limit. Moved nowhere. 14097. April 9, 2013 PRTUV, UVPRT Eric PRTUV: when printing with limited width, the task could end up with zero channels to print. Fixed it to print only the first N polarizations of each sample so as to get something to display. UVPRT: Added adverbs DPARM(7) to select Real/Imag rather than Amp/phase and DPARM(10) to scale the amplitudes (and reals and imags). This means a lot of tedious code and formats. Moved nowhere. 14098. April 10, 2013 UVPRT Eric Changed to allow more than one channel if it will fit and to truncate the Stokes parameters when the width is too small (rather than quitting). Fixed the channel number + Stokes header lines to align with the real/imag columns. Moved nowhere. 14099. April 11, 2013 FITLD Eric The include DSOV.INC used to handle SO tables from FITS IDI declared a buffer to be 31+11*NIF in a comment and 200 in the code. This is 10 words short for 16 IFs which are common in VLB and many many words short for 90 IFs which AIPS supports. Fixed to the correct size = 34 + 11*MAXIF + a little. This caused issues when compiled with the Intel compiler at least in 64 bits, but not for all data sets (EQUINOX ended up -1 rather than 2000 with a bad error message). Moved to patch this date. 14100. April 11, 2013 SETJY Eric Added APARM(2) less than zero to specify Scaife-Heald (MNRAS, 423, l30-34) low-frequency flux scale. APARM(2) = 0 with freq <= 500 MHz also uses the -1 scale. This should be better below 500 MHz. Moved nowhere. 14101. April 17, 2013 CVEL Eric Added a limit on the number of large shift warnings of 200. Also print the number of warnings printed and otherwise at the end. Moved nowhere. 14102. April 17, 2013 CG tables Eric the tasks that read the CG table to get the actual Gaussian width of a channel did not allow for rows in the CG table to be flagged. ALL table read routines should ask if (IERR.GT.0) ELSE IF (IERR.EQ.0) and ignore the IERR less than zero rows which have been flagged. I will bet many do not. Fixed SAD, IMFIT, JMFIT, CONVL, FQUBE, MCUBE for this case. Moved nowhere. 14103. April 18, 2013 ALLTAB Eric Reset IRET to zero on warning codes from CATIO. Moved nowhere. 14104. April 24, 2013 imaging Eric VISDFT, VSCDFT, and VSFDFT all had a "typo" which caused one of the CATIO calls to request a STATus of ' ' rather than 'REST'. The latter is ignored by CATIO while it tries to do the former and hence complains about pre-existing statuses. Moved nowhere. 14105. April 26, 2013 IMDIST Eric The verb IMDIST in AU9 depended on the cosine of the distance between the two points. When the angle is very small, that cosine gets too close to 1.0 even for double precision. Added a test with a simple linear computation of the distance when things are less than 0.1 asec. Fixed typos in TVDIST help file. Moved nowhere. 14106. April 29, 2013 TVMENU Eric Changed call sequence to add a parameter giving the number of lines in the menu title. Changed LEAVE usage to do the zoom operation only on LEAVE false. It turns off the menu graphics planes only on lEAVE false also. Changed for call sequence: TVDEVICE Subroutine TVDMEN: added NITLE to call seq FILIT, PLAYR, SCIMG, SCMAP, WIPER, TVHUI, TVRGB, QCLEAN, QEDIUTIL. Moved nowhere. 14107. April 29, 2013 FITS files Eric Apparentl old image headers can have odd values in KIITY - a header location now reserved for 1 or 2 to differentiate DO3DIM true and false. Changed FITTP, FITAB, CALWR which write this parameter plus the shifts on a AIPS history card to do so only when it has value 1 or 2. Fixed typo (case in a message) in FITLD. Moved nowhere. 14108. April 29, 2013 CONVL Eric Changed DOBLANK=0 to be TRUE - restore blanks after FFT which is what one probably should do. Added this parameter to the history file. Moved nowhere. 14109. May 3, 2013 XGAUS Eric Changed XGAUS drastically. It now builds an XG table attached to the input image, allowing the process to be done partially and then restarted as often as needed. It solves first at every YINC'th and ZINC'th pixel and then revisits to solve at every pixel not yet done. After then it enters a menu-driven editing mode in which solutions which are not "okay" mat be re-tried or flagged, with the parameters of what is okay set interactively. It can also do this with a list of pixels, prepared interactively. Images of the parameter values are displayed on the TV interactively and may be used to set the list of pixels. The TV may also be used to select polygonal regions for which the solutions of component N need to be switched with those of component M. At the end one chooses whether to write images of the residuals and of the fit parameters and their errors. During the fitting of each input row, new options were added to assist in trying to find a good solution, including allowing values to be entered by hand directly (with the consequences displayed for evaluation). The Tektronix option was dropped since the Tek emulation in xterms is unreliable when trying to point at things and since we have no menu or image capability for Tek. Files outside XGAUS.FOR were also changed: BLTLIS Changed to manage vertices on the same row - previously they were ignored. Modernized code also. GRPOLY Was given a call sequence argument giving the maximum number of vertices, rather than assuming some value. AU6D Chaned for new GRPOLY call sequence. FIRSTC New subroutine - returns the first non-blank character in a buffer as an upper-case letter XGAUS Was given a long EXPLAIN section and other needed changes. HLPXGAUS New help file provides run-time documentation of each option in the XGAUS TV menus. TVMENU New option putbck April 29 to have > 1 line of title. Moved nowhere. 14110. May 3, 2013 COMB Eric Found a strange scaling happening when combining an image with JY/BEAM with one of some other units. Moved to patch this date. 14111. May 8, 2013 ELINT Eric Changed E formats to 1PE to avoid wasting a digit. Moved nowhere. 14112. May 13, 2013 Coordinates Eric Changed coordinate handling for -GLS, -MER, -AIT non-linear forms and added -CAR, -MOL, and -PAR. All of them will honor the new methods of computing coordinates where each has a "native" longitude and latitude and that is rotated into the celestial form. The native system for these 6 has the reference point at (0,0). Any declination reference value other than zero will produce an oblique system - probably not what you want. Changed: SETLOC Modernize code form, add -CAR, -MOL, -PAR to list, drop old GEOMDn parameters and use them now for PHIP, ALPHAP, DELTAP respectively for these 6 "projections". Renumbered the high order ones to put STG with the true projective ones. NATCEL NEW: Native coordinates to celestial rotation CELNAT NEW: Celestial coordinates to native rotation NEWPOS Rearrange and modernize code, have the new types and the other 3 all-sky ones use NATCEL. Fix type numbering. XYVAL Modernize the code. XYPIX Modernize the code. DIRCOS Modernize the code, rearrange to have all global ones call CELNAT and then use the native coordinates with the WCS-II formulae. Fix type numbering. FNDX Modernize the code FNDY Modernize the code DIRDEC Modernize the code, rearrange, put the global ones inside a loop to try to find the right answer. Fix type numbering. DIRRA As DIRDEC. CTICS Expand the BLC, TRC internally by 1.0 to allow for edge effects when doing full axis drawings. Change tests on latitude to keep the same initial set of values when forcing inside 90 degrees. ITICS As CTICS TKTICS As CTICS FLATN Allow additional strings, warn if oblique is coming. Change help file also. REGRD Corrected the codes for all geometries, those > 4 were just wrong. Added new codes, fixed help file. SKYVE As REGRD. DLOC.INC Add search ranges for L and M set by SETLOC, used by DIRRA, DIRDEC Moved nowhere. 14113. May 13-14, 2013 More coords Eric Updated SDIMG, SDGRD, BSGRD help files to list the new coordinate types and to recommend latitude reference = 0.0 Changed IRING and FRMAP to avoid name conflicts with the new variables in DLOC.INC (May 14). Moved nowhere. 14114. May 14, 2013 DOCAL Eric DOCAL was not working since February with CL tables having significant gaps with no entries for some antennas and entries for others and perhaps in other circimstances as well. Changes: DNXC.INC New include to hold a scan list of start times and matching start CL/SN record numbers. GETNCL New subroutine to call GETNX and then read the CL/SN table to get the matching record numbers. GAININ To call GETNCL CSLGET To use GETNCL output to reinitialize at every new scan and to limit the CL/SN table reading to those records appropriate to the current scan. Moved nowhere. 14115. May 15, 2013 FQUBE Eric Added option DOKEEP which, if false, checks each image plane and omits those which are constant at 0.0 or magic blank. If there is a CG file, it is checked first to also omit those planes without a proper CG entry - note that these two go together most often when IMAGR fails part way through. Correctred it to use the highest version of the CG table rather than version 1 in case it gets edited. Moved nowhere. 14116. May 15, 2013 calibration Eric Changed the new GETNCL routine to set up a strict scan structure only for multi-source files. Single-source files are calibrated directly from SN tables and these do not have the strict structure of CL tables. moved nowhere. 14117. May 15, 2013 PCVEL Eric NEW TASK: special version of CVEL to read and apply an extra set of velocities (vs time) to convert a normal system of observations to become observations at a specified planet-centric velocity. This appears to work but the data set for which it was designed was observed incorrectly, Moved nowhere. 14118. May 16, 2013 MOVE Eric If MOVE failed to find a HIstory file in the input (and hence output), it closed down without taking care of removing the catalog status and catalog entry (on 'MOVE'). Other errors in the task were handled with considerable care, but not that one. It is fixed to ignore the HI error and do the normal closing. Moved nowhere. 14119. May 16, 2013 CCRES Eric CCRES copied first the history and then the CC file, but lost the latter from the header when it copied other tables. Reversed the order of the copies which seems to preserve evrything. I hate what OOP code does with headers! Fixed IMCALT in IMAGEUTIL which ignored the actual dimension of DROPTABS and sent a list of 20 file types to be ignored. Mostly those were nulls and so harmless, but they did not have to be if there were more than one call to IMCALT. Made same fix to UVCALT in UVUTIL. Moved nowhere. 14120. May 16, 2013 SPECR Eric Required two changes: 1. To avoid losing the sort order, the order string had to be forced in the output object after the file was created and written, not before. 2. To handle the format change to FQ tables, the logic by which this task made and corrected a table had to be fixed. It used to simply copy the old table and then open the output 'WRIT' to update it. FQINI is forgiving about reading old format files but not writing them. Changed SPECR to copy the FQ table in the FQUPDT routine from the old file in read to the new file in write. The format then changes smoothly. I wonder how many more places this may occur... moved nowhere. 14121. May 17, 2013 GETNCL again Eric GETNCL messed up the last scan - the GETNX routine returns 1 more time than the NX table has - namely the start time of the scan that would follow the last scan. GETNCL did not take this into account and so caused the last scan to get flagged. Rebuild the MNJ immediately. 14122. May 17, 2013 FARS Eric Fixed it to detect fully blank input spectral rows and blank them on output. Fixed the max/min setting loop which went over the first Nfreq pixels of the Nrmvalue-length rows only. Moved nowhere. 14123. May 17, 2013 INDXR Eric Fixed the CL table writing routine to treat single time scans differently, writing only 1 CL record. Also test each time we are about to write and, if that time is within 1/20 of the CL table interval, to write it at the end time instead. Moved nowhere. 14124. May 20, 2013 calibration Eric de Sade's Principle in spades: Changed CGASET to ignore NEXTCL since it was not being set meaningfully CSLGET to stop setting NEXTCL since it did not set it correctly when reading only CL records that are wanted for the current scan (as we now do). Note that it still had this wrong before but only at the end. GETNCL to set the number of times to 2 (one more than the number of relevant scans) for SN tables. This is the same misunderstanding that I fixed for CL tables earlier. Moved nowhere. 15125. May 20-21, 2013 IN5NAME Eric Created adverbs for a 5th input file name. Changed AU4A and AU3B to create the M5CAT, U5CAT, IM5HEAD, and Q5HEADER verbs. Changed POPSDAT and NEWPARMS to make the adverbs and verbs. Did help files for the verbs and adverbs. Moved nowhere. 14126. May 21, 2013 FITLD Eric The subroutine SO2SU had a format with more arguments than format translation codes. Fixed it into two lines so it will work correctly on all machines and not overflow the line. Moved to patch this date. 14127. May 21, 2013 SNCOP Eric Added warning to help file about averaging different phases and a mention of CLCOP. Moved nowhere. 14128. May 22, 2013 FRING Eric 1. Got rid of the stupid routine to divide the copied visibilities by the fluxes in the SN table. Since no scans are combined in solutions, the affect of weights with flux will not matter and only phases are used. 2. Changed the fitting routines to average the incoming data immediately when DPARM(9) > 0 => no fitting of rates and when no SOLSUB sub-intervals are requested. This means one really has 2 "times" rather than how many ever observed times fit in a SOLINT. This can be a great saving in the required memory. Moved nowhere. 14129. May 22, 2013 UVPLT, WIPER Eric Added frequency as axis type 19 and spectral channel number as type 20. Moved nowhere. 14130. May 22, 2013 TVFLG Eric The disk I/O to make the grid failed to correct for BIF in setting up the image depth and so went off the end of file. This is a relatively new bug (Feb 4) introduced when the gridding was changed to be done in core as much as possible to make for a new pattern of disk I/O which is much more efficient on modern computers. Moved nowhere. 14131. May 23, 2013 more calibration Eric GETNCL needed one more tweak to set the first scan break time well earlier than normal and the last post scan break well later than normal. Otherwise things got in some trouble when the CL times were outside the NX table times entirely (CL not redone after a copy with flagging). Moved nowhere. 14132. May 28, 2013 STARS Eric Fixed a typo - the type of column 7 was not set and should have been 10 (for the parser). Modernized the code in the parsing routine to make it more readable. Changed the error handling to report the real record number of the bad line. Moved nowhere. 14133. May 29, 2013 GET5NAME Eric Changed POPSDAT.HLP, NEWPARMS.001, AU8.FOR to implement new verbs GET5NAME and CLR5NAME. Forgot these when I made the 5th name parameter. Moved nowhere. 14134. May 31, 2013 MODIM Eric Corrected and changed formats in the history file routine and put info re component type with each component, since they can be different. Moved nowhere. 14135. June 3, 2013 GET5NAME Eric AU8 switched CLR5NAME and GET5NAME. Moved nowhere. 14136. June 3, 2013 RMFIT Eric NEW TASK: does XGAUS-like fitting on Q and U spectra for the total polarization, 0 wavelength polarization angle, and rotation measure. Up to 4 components may be fit at any ra/dec pixel. Also new help file and HLPRMFIT run-time help. Moved nowhere. 14137. June 3, 2013 XGAUS Eric Issues found while working on RMFIT: In help: DOOUTPUT meaning changed from old XGAUS, several typos. In Fortran: 1. Defend NGAU read from actual pixel table row from that to be read from secondary row 2. return guess properly from XGAUGE in RPARMS for single Gaussian 3. don't extend plot range so much 4. make sure planes are initialized when the task has no basic fitting to do. 5. parameterize the max number of images (8) 6. replace MAXIMG (64000) with NMXIMG (8) one place 7. fix RESULT array in output residual routine to be correct size. Moved nowhere. 14138. June 3, 2013 MODIM Eric Fixed formats in history - there can be a lot of components now (I4 format needed for comp number) and there can be different components typs for different components. Moved nowhere. 14139. June 4, 2013 FRING Eric AVERT ignored the "no data found" error condition. Changed it to issue a message on this and added an error code to be returned by the routine. Error less than zero means no integration time parameter which may not be fatal, but errors greater than zero including no data found (converted from -1 to 10 in AVERT) are fatal and tasks should quit. Changed FRING and RLDLY to add this argument and a response to errors greater than zero. Moved nowhere. 14140. June 4, 2013 PCAL Eric PCAL contained subroutines that implement each of the solution methods. Each one of these declared its own idea of the maximum number of calibration sources, independent of each other and the rest of the task! Changed this to include a PCAL parameter local include and use 50 for all rather than 20 and even 10 in these specific routines with 50 in the larger PCAL environment. Moved nowhere. 14141. June 4, 2013 GETJY Eric Changed help file to recommend SOUSP to check answers and perhaps substitute a fitted flux/spectra index for the individual, per-IF fluxes. Moved nowhere. 14142. June 5, 2013 FRING Eric The fix to AVERT made things bad - corrected it to test for no data at the correct spot (UVGET ('INIT',..)) and to make the test on UVGET 'READ' indicate failure only when no records were found at that point. For 1 day it died even though many points were found. Moved nowhere. 14143. June 5, 2013 UVPRT Eric The new (April 4) display opf the channel frequency was in error - it used the output header from the cal routines as if it had not been modified. Unfortunately, it had. The scaling of UVW also used the output header, but with an understanding of its modification. Moved nowhere. 14144. June 5, 2013 IRING Eric For large images, IRING got in trouble counting with and doing statistics with single-precision floats. Changed them to use double precision. Fixed up print formats and corrected a bug in placing the vertical axis label. Moved nowhere. 14145. June 6, 2013 calibration again! Eric CSLGET rounded its times outward by 2 seconds which is way too much for people with CL tables every second. Changed the rounding to 0.4 seconds. Moved nowhere. 14146. June 7, 2013 Tick marks Eric Changed CTICS, ITICS, TKTICS to expand the test corners by half a pixel rather than a full pixel, changed the setting of the start point for tick marks to the formal corners (not the expanded ones), and added tests for the outer end point being inside the plot (in strange geometries) and FNDY and FNDX. This alters the changes of 13 May. Moved nowhere. 14147. June 7, 2013 RMFIT Eric Added weights to the task - it can read a text file for weights or compute them via robust rms computations. The weight multiplies the residual vector (called FVEC) and has to be taken back out of FVEC numerous places in the code. It really does seem to improve things when what is wrong with the data is noise (robust rms) or well know so that one can down-weight specific channels. Moved nowhere. 14148. June 8, 2013 polarization cal Eric Changed DATPOL: It was using STNPST but that parameter can get changed in GETANT. SOLTYP is set by POLSET and so applies to DATPOL much more reliably. Furthermore, if SPECTRAL was true but SOLTYP not that for the usual APPROX, it would simply return no correction and no error. Changed it to detect this an an error and cause the tasks to die. Moved nowhere. 14149. June 8, 2013 IMAGR Eric IMAGR automatically deletes any pre-existing work file unless ALLOKAY = 2. User error, leaving IN2NAME set to something other than a work file, will then cause serious user unhappiness. Added some tests to make sure that the pre-existing file is not an image and has 3 COMPLEX and 1 STOKES. This protects all images and those UV files that are compressed and/or have more than one Stokes. This is not great but is better than nothing. Moved nowhere. 14150. June 8, 2013 CLVLB Eric NEW TASK: update CL table to correct VLB data for difference between pointing position and source position within the single-dish beam. This has so far had mixed-quality results so a number of debug and experimental options have been left in for users to try. Moved nowhere. 14151. June 10, 2013 PRTAB Eric The row selection (RPARM adverb) for integer-valued columns set the selection value to an integer. This prevents setting the selction value to say 2.5 and the accuracy value to 0.6 to look at rows with either 2 or 3 in the specific column. Changed it to keep the user-specified value as floating-point. Moved to patch 25 July. 14152. June 10, 2013 polarization calibration Eric For some reason, DATPOL forbad the SOLTYP values > 1 from functioning with SPECTRAL mode. In fact, in 2010, the subroutines to implement those SOLTYPs were revised to allow for SPECTRAL mode. Perhaps they were blocked since they were untested. In any case, I got data to test the VLBI mode and found that it works. So I changed DATPOL to warn about the lack of testing in SOLTYPs 2 and 3 but to try to function in all cases. Moved nowhere. 14153. June 11, 2013 DSKEW Eric NEW TASK: Use this to correct geometry for CD matrix skew after reading in an image with IMLOD or FITLD. Uses OHGEO structure with its own version of the interpolation routine IMGHGE. Gets the CD or PC matrix from the history file. Changed also: INTERPLATE Copied IMGHGE to IMGSKF and added appropriate matrix algebra to manage coordinates at the intermediate world coordinate level. HIREAD Moved from APLNOT to APLSUB and corrected it to use the modern format for HI files and modern coding standards PCHDR Add recommendation to use DSKEW to appear when IMLOD and FITLD encounter apparent skew coordinate. IMEAN The algorithm that fills TRIANGLE from a histogram was not adequate for a histogram with a large number of points in one bin. Increased the number of bins which changed the answer a lot and fixed the algorithm to find more than one TRIANGLE value in a single histogram step if appropriate. Moved nowhere. 14154. June 17, 2013 BPASS Eric The code extended scans by 4 seconds in each direction while the comment said 2 seconds. Changed this to 0.4 sec since new scans can start quickly if the pointing position does not move. This caused data in the later scan to be thought to occur in the earlier scan and so to make a BP solution with a tiny amount of data in this artificially overlapped time range. That lousy solution would then get serious weight wrt the solutions with the intended integration times. Moved tp patch this date. 14155. June 17, 2013 SETJY Eric The spectral index and curvature numbers quoted for the Scaife-Heald low-frequency fluxes were supposed to be wrt 1 GHz but were computed wrongly. Fixed to do it right. Moved nowhere (a 31DEC13 issue). 14156. June 19, 2013 calibration !!! Eric Changed GETNCL to make sure the RECNXC array starts zero filled. Changed CSLGET to distrust the RECNXC array, which may have zeroes still present - this was causing it to fail to find calibration data that actually was there. If it finds a zero, it now looks for a better value and should not generate TABIO errors. Moved nowhere. 14157. June 21, 2013 Still calibration Eric The fix above to CSLGET had the opportunity to try to read one too many records from the CL table. So pathalogical CL tables could cause it to fail. Moved nowhere. 14158. June 21, 2013 SPFLG Eric the new in-core gridding method left zeros rather than blanks in the times between scans, Fixed this and put a similar fix in TVFLG although it probably did not need it. Moved nowhere. 14159. June 22, 2013 TVLABEL Eric Corrected a LT to a GT in ITICS. The bottom ticks and labels were left of TV plots Moved nowhere. 14160. June 24, 2013 ANTAB Eric Raised the limit of 40000 to 200000. It is not expensive to do this and it is needed by really large VLBA arrays. Moved nowhere. 14161. June 24, 2013 SPFLG Eric Minor rewording of an option (FLAG CHANNEL -> FLAG A CHANNEL). Change wording of no valid pixels message in TV loading since a baseline with no data in this polarization is often the cause. Changed help and on-line help for new wording and added suggestions to the clip by form on-line help. Moved nowhere. 14162. June 26, 2013 GET5N, IM5HEAD Eric Typos in AU3B and AU8 caused these new verbs not to work. Moved nowhere. 14163. June 26, 2013 SETJY Eric The code used the Perley 2010 coefficients for Perley 2013 because the code was copied and not corrected. It reported the Perley 2013 coefficients however. Moved to patch this date. 14164. June 26, 2013 RMFIT Eric Add INVERS to the history files. Moved nowhere. 14165. June 26, 2013 LET13A Eric Put the AIPSLetter June 30 version in as TEX, PS, PDF and on the web. Moved nowhere. 14166. June 29, 2013 UVPLT, WIPER Eric The help files did not mention axis type 20 (channel counting through FREQ and IF). Moved nowhere. 14167. June 29, 2013 BPWGT Eric NEW TASK: FUDGE clone does calibration but changes the weights by a function of the bandpass amplitude correction. Weights are 1 / (BPamp)^2 is the noise was constant before application of the BP correction. WEIGHTIT allows for division by BPamp and sqrt(BPamp) also - compromises between constant BEFORE BP correction and constant AFTER BP correction. Moved nowhere. 14168. July 1, 2013 copying FG tables Eric Many tasks copy tables to output UV files. The FG tables numbered below the one applied should not be copied in general since they were preliminary to the one applied and the one actually applied usually contains their contents entirely. Changed: COPTAB Changed to copy any versions > FLAGVER and to issue an appropriate warning. Previously it copied all versions except FLAGVER. UVCOP Changed to copy any versions > FLAGVER and to issue an appropriate warning. Previously it copied all versions except FLAGVER. NOIFS Changed to copy any versions > FLAGVER and to issue an appropriate warning. Previously it copied all versions except FLAGVER. Also added local copy of FGSEL to renumber IFs and channels. AVSPC FG tables were not copied before but silently. Added appropriate warnings instead. SPLAT Changed to copy any versions > FLAGVER and to issue an appropriate warning. UJOIN FG tables not applied here - but add warning if any are copied. Moved nowhere. 14169. July 1, 2013 BPASS, CPASS Eric Added the low frequency model of Scaife-Heald to determine the spectral index and curvature (using the recently corrected SETJY code) for standard calibrators. It makes a slight difference for 3C48 at 380 MHz. Moved nowhere. 14170. July 2, 2013 AIPS Eric Changed AIPS to compute the copyright year in the copyright statement it makes. This will solve the maintenance issue I just noticed. Moved nowhere. 14171. July 3, 2013 IMAGR Eric IMAGR computed the average frequency by finding the average channel number and then interpolating in the list of frequencies. This fails if there is more than one Stokes (which that subroutine allows) or if the frequencies are not in a monotonic sequence. Moved to patch this date. 14172. July 5, 2013 RMFIT Eric Changed GRPOLY to test a vertex for being on an image before recording it so that one will not get vertices that fail in the exit portion of the routine. Also changed the conversion to integer vertices to be fully rounded off - zoomed image display coordinates led to wrong integer pixels. Changed RMFIT: 1. Display formats needed more generality. 2. Solutions for Q and U have an ambiguity of 180 degrees so the total polarization found could also be negative. Added test for this to make it positive with 90 degrees added to the theta_0. 3. Typo in amplitude tests caused all high flux cases to look bad even if they weren't. 4. Changed to allow there to be no I image. 5. Added display of the rms residual in Q and U. 6. It was hard to tell tiny images from the step wedge. Changed the size of the step wedge in Y to no more than the image size in Y and added some space between the wedge and the image. Added a line around the edge of the image (using a graphics plane > 4). 7. Changed the GRPOLY usage so an error does not cause the task to die. Moved the zeroing of the polygonal overlay graphics plane (3) to a place where it will be done even on error. 8. Changed the option handling (return from TVMENU) to be string oriented rather than by the sequential numbers. This greatly simplifies new development. 9. TV loading was changed to handle images larger than the TV. Previously it just showed the central portion. Now it does all every n'th pixel and then, on a new menu item, cycles between subimages each with every pixel. After all subimages, it starts over with the full image every n'th pixel. 10. Changed the help files to reflect menu changes. Moved nowhere. 14173. July 5, 2013 XGAUS Eric Corrected recording of the error in width which was going to the error in the next component amplitude. Made RMFIT changes to (6) control wedge size and placement, (7) handle GRPOLY more carefully, (8) to use string methods following TVMENU, (9) to manage large images usefully, and (10) to update the help files accordingly. Moved nowhere. 14174. July 5, 2013 JMFIT Eric JMFIT failed to return the error values in DOMAX and DOPOS. It returned DOWIDTH. Moved nowhere. 14175. July 7, 2013 IMFIT, JMFIT Eric When the Gaussian peak was negative, it was possible for the error bars to be negative also. Put absolute value on all error bars. This issue caused DOPOS and DOWIDTH to be returned as negative values so that the next fit held them constant. Moved fix only to patch. 14176. July 7, 2013 SETJY Eric Added OPTYPE 'VANT' to do VCAL but wrt an antenna specified in APARM(5). Moved nowhere. 14177. July 8, 2013 IMFIT, JMFIT Eric Made error bar on total flux be positive too. Moved nowhere. 14178. July 8, 2013 HA2TI Eric NEW TASK: After STUFFR, the data set has "times" which are in fact hour angles. For tasks that need real times (UVFIX, CASA, ...), a reverse task to convert the times back to real times is required and is now available. TI2HA was changed to use the lower numbered antenna of each antenna pair for the antenna with which the hour angle is computed. Moved nowhere. 14179. July 9, 2013 XGAUS, RMFIT Eric XGAUS: In image display, control width of step wedge to be at least 17 pixels, centered under the image. Corrected wedge height to be min (16, NY), it drew 16 all the time. Corrected call to scale the wedge which assumed that only every n'th pixel is to go to the output. In wedges n=1 even when it is larger for the image. Fixed label of image window to include the value range. RMFIT: In image display, control width of step wedge to be at least 17 pixels, centered under the image. Corrected call to scale the wedge which assumed that only every n'th pixel is to go to the output. In wedges n=1 even when it is larger for the image. Corrected units displayed at top of image window. 14180. July 8, 2013 SETJY Eric The new option VANT required much more initialization than I put in to begin with. In now does what CVEL does. Changed loop calling FRQUPD to do it at most the number of records in the antenna file. Corrected handling of VELTYP and VELDEF for the history file. Moved nowhere. 14181. July 8, 2013 SLFIT Eric Changed to scale with the slice min/max rather than the image min/max. Changed several variables to double precision in the computation of the output parameters in physical units. The max/min of some images strained the accuracy of single precision. Moved nowhere. 14182. July 10, 2013 SETJY Eric The history writing for VANT did not include the special parts done for VCAL, ' ', and SPEC. Added VANT to the list of OPTYPEs to do the velocity type history lines. Moved nowhere. 14183. July 10, 2013 RUN in a RUN Eric Decided to allow nested RUN files up to 20. Changed: DRUN.INC New include to carry currently used RUN LUNs STORES COMPRESS pseudoverb - allocate a new LUN in the stack and use it to do the RUN HELPS RUN pseudoverb - allocate new LUN in the stack and use it to open the RUN text file PREAD Use the LUN at the top of the stack for I/O. When the I/O gets an end-of-file in the RUN modes, close the current LUN deleting the compress temorary file (if doing a compress), reduce the stack counter and resume read the next lower RUN file if any or resume normal interactive or batch input modes. LUNTMP Fortran will not open text files with LUNs greater than 99. Changed LUNTMP to allocate new LUNs for text files starting at 99 and not using the 3 special ones which aips will need for help, inputs, etc. ZTOPEN Changed to allow LUNs from 51-99, modernize typing. ZTCLOS Changed to allow LUNs from 51-99, modernize typing. ZTXCLS Changed to allow LUNs from 51-99, modernize typing. AIPS Init DRUN parms AIPSB Init DRUN parms AIPSC Init DRUN parms RUN Changed wording in help file. COMPRESS Changed wording in help file. Moved nowhere. 14184. July 10, 2013 SAD Eric Put a bunch of absolute values to guarantee that the error bars of things are positive here too (like IMFIT/JMFIT previously). Moved nowhere. 14185. July 12, 2013 RMFIT Eric Added another option to the step where the fit to Q and U is displayed. PIXR (actually just P and p) prompts you for a Q and U intensity range and then replots the data. The plot routines all needed fixing to handle data outside the plots and to handle having one of Q and U outside and the other inside the plots. Added info to the explain portion of the help file under step 6. Moved nowhere. 14186. July 15, 2013 install.pl Eric Testing the next Mac OS we encountered a perl without the expected extra packages. Revised install.pl to do without getouts and ctime. The option parsing that was actually used did not read in the tarball file name anyway so making an easier up-front parser was straightforward: options -n, -d, -c, and -nd and -dn are supported. The ctime pakage made a fancier date/time string but a simple formatting of localtime output will do nicely. The command parser now reports errors more cleanly also. Moved nowhere. 14187. July 17, 2013 BDF2AIPS Eric Added adverb DOKEEP to AUO and BDF2AIPS help file to set the BDFIn option "doOnline" to control whether on-line calibration records and undefined intention records are kept or discarded. Added a bit to the explain portion to describe how one would run ObitTalk to look at the BDFIN inputs, help, explain info. Moved nowhere. 14188. July 17, 2013 TRANS Eric The TRAROW subroutine that swaps rows did bad things when one wanted to reverse an axis - i.e. TRANSC='-312' which is a common request. The data were not reversed but were written to later in the output scratch file and so went off the end of that file. Moved to patch this date. 14189. July 25, 2013 PRTAB Eric Changed the scaling routine to read up to 50000 records. It read only 5000 before and that could end up finding no valid values in some of these new tables. Adjusted handling of the columns some including when no max.min found in the 50000 and placement of the 'INDE'. Moved to patch this date. 14190. July 26, 2013 XGAUS, RMFIT Eric XGAUS: take out XGINI and TABXG so that they are separate $APLSUB subroutines. Correct FUNCTYP dimension to properly parameterized from 16. Corrected handling of parameters - there were still some assumptions of 14 instead of using the parameter variable to dimension and subscript things. Changed to allow up to 8 Gaussians although only 4 may be set by GMAX and 8 by GPOS. Changed to handle SWAP options more generally rather rather than typing them out. Added erasure of graphics channel 5 (the line surrounding an image) when going back to fit some spectra over again. XGINI and TABXG corrected to work with MAXGAU=8. XGAUS: help file changed to allow 8 Gaussians and to explain better how GMAX, GPOS, GWIDTH and DOMAX, DOPOS, DOWIDTH are actually used. RMFIT: Correct FUNCTYP dimension to 40 from 16. Renamed some subroutines to get away from XGAUS names. Added erasure of graphics channel 5 (the line surrounding an image) when going back to fit some spectra over again. Corrected some 2-panel plot formulae which worked before only because Q and U split the screen equally. Moved nowhere. 14191. July 29, 2013 SNP2D Eric NEW TASK: The task converts a phase in an SN table into a delay in a new SN table, possibly for a different data set. This will be useful for doing the final calibration where the calibration source is a narrow spectral line in one of the spectral windows. The residual phase at that point can be converted to a delay which is then applied to all channels in all spectral windows. This works for small phases but fails miserably if there is any lobe ambiguity. Moved nowhere. 14192. July 29, 2013 SU table Eric The SU table has 21 columns (MAXSUC in PUVD.INC) and most places honor that. Found two subroutines GETSOU and SOUFIL and 7 tasks FILLM, FIXAL, HAFIX, TRUEP, UVFIX, FRMAP, and POSSM that did not. Moved to patch this date with large COMLNK file. 14193. July 30, 2013 VLAMP Amy In the output ANTAB format file there are comments stating the center freq of each IF. These are necessary for any parsing by programs that will eventually attach the amp data to the output from the DiFX correlator. They were incorrectly the edges of IFs, rather than the center. They have been fixed to be the center. Moved nowhere. 14194. July 30, 2013 IRING Eric Changed the task to compute uncertainties dividing by the square root of the number of pixels in each average but correcting that count by the beam area or less if the ring is narrow (less than beam minor axis). Added explanation in the help file. Moved nowhere. 14195. August 1, 2013 ZEMAN Eric NEW TASK: based on XGAUS to solve the Zeeman equation V(c) = A I(c) + 0.5 B dI(c)/dc where V(c) is the V polarization cube, c is channel, I(c) is the I polarization cube. ZEMAN also implements V(c) = A I(c) + 0.5 sum [ B_i dI_i(c)/dc ] where I_i(c) is a set of Gaussians fit to the I(c) by XGAUS. This task uses DLESQR instead of the non-linear routines used by XGAUS amd RMFIT. Those routines seemed not to like a linear situation. It makes a ZE table, filling it with peak I intensities and, if OPTYPE='GAUS', Gaussian fit parameters from an XG table. Then it displays the V and I data with an initial guess, asks for permission, does the fitm displays the result, and then asks if it can go on. ZEMAN does this for every pixel above FLUX in the I cube and then goes into the image display and edit modes. Note that there is no initial guess that one can enter for these linear solutions, so the degree of interactivity in this task is rather less than in XGAUS and RMFIT. Moved DLESQR from $APLNOT to $APLSUB after cleaning up typing standards and testing. Moved nowhere. 14196. August 1, 2013 XGAUS Eric Changed DOSLICE to mean set models whenever DOSLICE > 0. It was > 1 to set models while > 0 caused plotting, but that is confusing. Better to force what is almost always desirable. Moved nowhere. 14197. August 1&2, 2013 XGAUS Eric Updated HLPXGAUS run-time help to allow for up to 8 Gaussians. Created HLPZEMAN.HLP too. Fixed message when restarting TV because of error. It diplayed the first Gaussian NGAUSS times. Moved nowhere. 14198. August 5, 2013 FARS Eric It is so slow, added a progress message. It may come out too often, but we will have to wait to see. Moved nowhere. 14199. August 5, 2013 RMFIT Eric Changed it to offer the option of fitting spectral index to the components as well as the other parameters. The polarization image is that at 1 GHz, the Q_0 and U_0 have the flux of 1 GHz but no rotation measure. This does mean an incompatible change to the format of the RM table but there are not many out there so it is not worth having a translation routine. Fixed an error message in XGAUS too. Moved nowhere. 14200. August 9, 2013 BLCAL Eric SUBARRAY = 0 actually is changed in the code to 1. To include more than one would indeed be tricky - an outer loop over most of the task. Fixed the help file. Moved nowhere. 14201. August 9, 2013 SPLIT, SPLAT Eric The number of history cards was not reset when a source failed to have data. If enough failed sources occurred in a row, the CALCODE got overwritten and no more sources would be found. Forced an initialization of this counter for each source. Moved nowhere. 14202. August 10, 2013 TRUEP Eric Added a message telling the version of the newly written PD table and corrected a missing blank in a format. Added a bit to the help file emphasizing the outputs that will occur. Moved nowhere. 14203. August 12, 2013 SPLIT, SPLAT Eric Changed the error messages for the two ways no data are found to give the source name, calcode, and qualifier. Moved nowhere. 14204. August 16, 2013 UVFND Eric Added NCHAV to the task so that it looks at averages of channels rather than all channels individually. labeling gets a bit interesting. Moved nowhere. 14205. August 16, 2013 RMFIT Eric Allow longer spectra (up to 8192). In the image display routine, change the swap list to include only the current component with all others. Moved nowhere. 14206. August 16, 2013 SPFLG Eric Gridding counters can overflow (> 2 billion) so it died rather finishing - except that it ignored the error code and got in deep trouble. Counters -> double precision, error codes get checked. Moved correction to counter to patch this date. 14207. August 16, 2013 LISTR Eric Added Pdif and Psum to GAIN listing types. The gain scaling routine needed additional messages for SY type that were missing. The MATX routines needed to say that the requested display type was not being honored (LIST already did this). Moved nowhere. 14208. August 19, 2013 IMFIT Eric In looking at how to do RMFIT I saw the HI file getting the DOMAX values for the GMAX inputs etc. Moved nowhere. 14209. August 19, 2013 GETNX Eric Changed it to add effectively 4 millsec to the central stop time between scans or 8 to the last one. It would get a single-time "scan" sometimes. It will take time for this to migrate into everything. Moved nowhere, link edit a lot. 14210. August 21, 2013 XGAUS Eric 1. Allow longer spectra (up to 8192). 2. In the image display routine, change the swap list to include only the current component with all others. 3. Drop GMAX, GPOS, GWIDTH, DOMAX, DOPOS, DOWIDTH from adverb list and task. They cannot have a real usage since one really needs to solve for everything in this task. 4. Dropped GRCHAN also - we need to have the colors to distinguish things. 5. Fixed the final conversion from parameters to results to be stored in the table to blank all components which were not fit at this pixel. 6. In the routine that tries the alternate models tosee which has the lowest rms, added a model based on the previous fit but with fluxes from the current data. Often the previous fit was better except that the fluxes were so wrong that a poorer model would look better. This should help. 7. Added display of rms residual when displaying the current component values. 8. Corrected some residual 4's to MAXGAU in several places. 9. In test for reasonable answers, only check those with some non-zero answer. It was objecting to widths of 0 in components which were not determined. 10. With 8 Gaussians, the menus in the imaging section got out of hand. Changed to switch to 4 columns when needed (> 4 Gaussians) and to load the image moved toward the right so that the menu and image may avoid overlap. 11. In UPDLIS, capture the last solution as a possible guess for the next. 12. Correct the output image handling which had not yet adapted to 8 possible Gaussians. 13. Add pickup of the last solution as one of the guesses for the next - I would have sworn this was already present. 14. In UPDLIS and UPDALL, add pick up of previous solution at that pixel for the "user" guess. Note that NGAU out of the table is the actual number fit at that pixel and may not include all of the numbers (e.g. 1,2,3 blanked). So all 8 must be picked up and then squeezed as needed. 16. When not solving for a component, it is necessary to squezze down the solver to those parameters for which we need a solution. Added pointers everywhere to do the squeeze and to invert it when preparing answers. This includes rereading a solution with e.g. components 2 and 5 blanked. Moved nowhere. 14211. August 21. 2013 RMFIT Eric 1. Allow longer spectra (up to 8192) 2. Correct labels in table - it is not theta at 1 GHz, jsut theta. 3. Add pickup of the last solution as one of the guesses for the next - I would have sworn this was already present. 4. When not solving for a parameter (spectral index in this case) or for a component, it is necessary to squezze down the solver to those parameters for which we need a solution. Added pointers everywhere to do the squeeze and to invert it when preparing answers. 5. Corrected the image display menu which had bad logic in finding the improved list of menu items. 6. Added 2 columns to the RM table - the QU rms and the weighted QU rms. Moved nowhere. 14212. August 21, 2013 ZEMAN Eric XGAUS now puts the actual number of Gaussians fit at a pixel in the XG table row. That may be only some of the 8 possible but it could be any of those 8. Changed ZEMAN to find the highest number Gaussian fit in the XG table and to then use that number elsewhere (or simply MAXGAU). This depends on the XGAUS answers either being 0 or blanked. Moved nowhere. 14213. August 23, 2013 PRTAB Eric Dropped the last digit of 2 E formats used when doing the F format display with columns requiring E format (e.g. delays). Moved to patch. 14214. August 23, 2013 ALVAR Eric NEW TASK: Computes the Allen Variance of visibility data. It displays the Allen variance in two fashions, the first computed as AV(i) = (R_2/A_2 - 2*R_1/A_1 + R_0/A_0) ** 2 + (I_2/A_2 - 2*I_1/A_1 + I_0/A_0) ** 2 where R_n is the real part at point i+n, I_n is the imaginary part at point i+n, and A_n is the amplitude at point i+n. The second AV is computed as AV(i) = (Ph_2 - 2 * Ph_1 + Ph_0) ** 2 with phases computed in radians. The task displays the mean and deviation of these two quantities computed directly and computed robustly. Note that the phase one can be affected by 2 pi issues, but that the robust averaging tends to eliminate those cases. One printed line is used for each baseline, stokes, and IF. The Allen variance may be used to determine the noise in the data. Moved nowhere. 14215. August 26, 2013 TYAPL Eric Changed the task so that the "skipped" antennas due to the CUTOFF adverb are given a real value at each time rather than 1.0. This "real" value is the average over the un-skipped antennas at the Stokes and IF appropriate. While not ideal, this will at least put the antenna weights and gains in approximately the same scale as for the un-skipped antennas. CALIB was able to fix the gains but the weights remained quite different between the "skipped" and un-skpped antennas. Moved nowhere. 14216. August 27, 2013 ALVAR Eric Added a phase difference minimization to correct for the 2pi issues when computing (P2 - 2*p1 + P0)**2. This changes not only the direct mean/rms but also, less seriously, the robust computation. Moved nowhere. 14217. August 28, 2013 SPMOD Eric NEW TASK: This is a version of UVMOD designed to put models in a spectral-line data set. Each component has the usual spatial parameters, but also a central channel and channel width of the Guassian spectral line. The RR and LL polarizations are allowed to be different and components may be positive or negative. Moved nowhere. 14218. August 28, 2013 DOOSRO Lorant Added VLANT to the procedure and the option to split the IFs in halves or quadrants in the delay calibration in FRING. Moved nowhere. 14219. August 30, 2013 RFLAG Eric Added FPARM(15) and FPARM(16) options. If any channel exceeds FPARM(15), then that spectral window/baseline is fully flagged. If any channel exceeds FPARM(16) then all channels to the two antennas are flagged in that spectral window. This is checked ahead of most of the rest, other than the test for a minimum number of baselines. Moved nowhere. 14220. August 30, 2013 XGAUS Eric The images should be in the middle when NGAUS <= 4 since the primary menu is two columns, one on the left and the other on the right edge. When NGAUS > 4, then 4 columns are needed in the main menu and they all appear at the left. In that case the image needs to be moved to the right to avoid the menu as much as possible. Also added the allowed range of peak values and changed the S/N to be computed in absolute value. This forced changes in the help and on-line help files. Moved nowhere. 14221. September 2, 2013 XGAUS, RMFIT Eric Changed both to allow restarts with BLC(2,3)-TRC(2,3) to be a smaller interior region to the initial BLC(2,3)-TRC(2,3) used to create the XG or RM table. This allows fully fitting a region of similar line shape or polarization without mixing in dissimilar regions. The displayed and output images are the full initial area. Moved nowhere. 14222. September 13, 2013 DOOSRO Lorant Added another test to avoid running VLANT if it was already done Moved nowhere. 14223. September 16, 2013 UVPRT Amy DPARM(6) was meant to control how the phases were printed out. If DPARM(6)>0 then phases where between -90 and 269, otherwise the phases would be between -180 and 180. But DPARM(6) was basically ignored, and the user got -90 to 269 no matter what it was set to. This was because of a typo in the program, causing RPARM to be tested rather than DPARM. Fixed. Moved nowhere. 14224. September 23, 2013 REIFS Eric NEW TASK: Breaks up one or more IFs in the input file into smaller IFs, averaging the table IF-dependent values properly. When one does NOIFS one loses the IF-dependent values and cannot recover them with MORIF. This replaces the pair but requires the data to be consecutive frequencies through all of the input IFs with the same channel separations. Note that different calibration applied to input IF 1 and IF 2 may get averaged (not likely to be right) if an output IF splits partly between the two. Delays may need to be applied before the splitting up or redone afterwards. MORIF needed a minor fix when testing the column dimensions - it was using echan-bchan+1 when it should have used the initial full channel count. Moved nowhere. 14225. September 23, 2013 SPFLG, TVFLG Eric 1. If a source number was missing from the source table, the source list was at best incomplete or entirely missing. 2. Changed GRIDTB to have the default source number (INSNUM = the number of a single source) in the call sequence to use in gridding. Changed UVIMG to honor this addition (but with 0). 3. SPFLG labeling worked well when the full image was displayed, but needed a lot of clean up to handle sub-images. TVFLG needed only a little work to handle the subimages. Moved nowhere. 14226. September 23, 2013 PBCOR Eric Added DOINVERS to history file record. Moved nowhere. 14227. September 30, 2013 FIXRL, SWPOL Eric These two similar tasks need to swap R and L in CD, SY, TY tables usually if the wires at the receiver are swapped. Added a routine to do this. Moved nowhere. 14228. October 1, 2013 ALVAR Eric Added information to the help file on the limitations of the output display in ALVAR. Fixed handling of DOCRT so that -3 will do no headers, -2 will omit the blank line. Moved nowhere. 14229. October 2, 2013 SPFLG Eric Changed SPFLG to have DPARM(4)=2 mean to divide by source flux and do a channel-dependent spectral index adjustment of that flux. This requires new files: DCHND.INC Include defines a common with CHNDAT output adverbs (FOFF, FINC, ISBAND, etc) FNDSPX Subroutine calls GETSOU and CHNDAT to find source flux and frequencies. It then uses DFITPN to fit a simple spectral index. It leaves DSOU.INC and DCHND.INC all set up for later use. Moved nowhere. 14230. October 2, 2013 CLIP Eric Added DOSCALE adverb to have the visibilities adjusted by dividing by the SU table flux (DOSCALE > 0) including allowing spectral index fit and application (DOSCALE > 1.5). The clip levels are then relative levels, not Jy, but for well-behaved sources, this might allow a single tight clip level for a wide bandwidth. Moved nowhere. 14231. October 2, 2013 UVPLT Eric Added DOSCALE adverb to have the visibilities adjusted by dividing by the SU table flux (DOSCALE > 0) including allowing spectral index fit and application (DOSCALE > 1.5). The display is now of scaled vis, but will help in deciding how to run CLIP with this option. Moved nowhere. 14232. October 18, 2013 BPASS Eric Added FNDSPX to routine BPSPEC for "unknown" cal sources and changed it to allow multiple cal sources each with its own spectral index and curvature. Application routine find the source in the list and uses the appropriate spectral index information. Moved nowhere. 14233. October 18, 2013 IMEAN Eric Dropped the requirement that the image be a Clean image (number iterations > 0) for computing a flux. Moved nowhere. 14234. October 21, 2013 SETJY, CVEL, PCVEL Eric Subroutine CVLDOP used by the above tasks called a low level routine with a hollerith argument when a character string was expected. It got away with this on some compilers but not the 32-bit Intel compiler. SETJY (OPCODE 'VCAL') and CVEL probbly got wrong answers on this architecture (date = 0/0/0 rather than correct). Error made March 2012. SETJY got the OPTYPE ' ' radio velocity wrong because it omitted SYSVEL. Added that offset. Moved to 31DEC12 this date. 14235. October 21, 2013 SETJY, BPASS, CPASS Eric Time stable sources 3C123, 3C196, and 3C295 have known spectra and so may be used as calibration sources when the fact that they are extended does not matter (or when corrected by models which we hope to have some day). These have been added. Reworded help files some. Moved nowhere. 14236. October 22, 2013 BLCHN Eric Added more progress messages. Added call to CATFIX to make sure that, when it is time to write the BD table, we are allowed to do so. Fixed call to set up NX table - it used odd variables for the in disk and cno instead of the standard ones and the odd ones did not have proper values. Moved nowhere. 14237. October 23, 2013 BDAPL Eric NEW TASK: applies the BD table found by BLCHN (baseline dependent correction factors channel-by-channel) to another data set. It is too expensive to put this experimental calibration in the standard cal package. But this should suffice. Moved nowhere. 14238. October 23, 2013 TVDEVS.SH Eric When TVDEVS looks for the UNIX sockets it assumes that they are named xxx.n.display where xxx is XAS, LOK, TKS, or MSS, n is the socket number in extended hex, and display is the $display variable. On Macs this last is a big mess now - so changed TVDEVS so that, when you ask for a specific socket number, the display is not checked on Macs while it is checked on other systems. This does interfere with the option to have 1 machine display on multiple machines - but Macs are ararely if ever used that way. Moved nowhere. 14239. October 23, 2013 BPASS, CALIB Eric Changed response to UVGET ('INIT' errors - it can find no data but still return NViS > 0. The error code is -1, so changed to branch out on positive error codes and treat error -1 like NVIS=0. Moved nowhere. 14240. October 24, 2013 ISPEC, etc. Eric Subroutine FRQGET declared the number of columns in the FQ table to be 5. It should be MAXFQC from PUVD.INC which is now 6. caused executions with an FQID axis to fail in RSPEC, ISPEC, BLSUM, and SLICE. Moved to patch this date. 14241. October 24, 2013 FARS Eric The FFT and Gaussian arrays were too small - limited to 4096 output pixels on the RM axis. Changed them to MAXIMG. This led to bad output values and a name in the catalof containing unprintable characters. Moved nowhere. 14242. October 29, 2013 DOCAL Eric CSLGET had a useful limit check but it was not done all the time. If there were data records for sources not in the CL table at times after the last CL time, it was possible to try to read the last record plus one of the CL table and hence to fail. Added the useful check to be done always. Moved nowhere. 14243. October 29, 2013 BLCHN Eric Added spectral index adverbs and corrections to fix up the solutions before they are written to the BD table and used to correct the input data. This should be tested with really good data, not available to me. Moved nowhere. 14244. October 29, 2013 BPASS Eric A new format was too long for the HILINE in the history writing. Some compilers abort the task for this. Moved nowhere. 14245. November 05, 2013 DOOSRO Lorant Having a fixed -2 for BPASSPRM(5) is not good for all line data. Now added the option to specify, but defaults to zero (not -2!). Moved nowhere. 14246. November 12, 2013 VLBAEOPS.HLP Amy Took out references to INFILE, INFILE as a parameter was removed last year. Moved nowhere. 14247. November 14, 2013 tables Eric If the row of a table is flagged then the subroutine TABxx which reads it is supposed to return IERR < 0 but with the data filled in fully. Some routines returned the error but not the data. Others kept reading until a non-flagged row was found. This means that the number of calls allowed to TABxx is not predictable from the ouutside and that flagged rows are never returned. Fixed all this in TABxx, with xx = AN, CT, FC, PO, ST, WX, and XG in $APLSUB and BD, BL, BP, CP, CQ, CS, FL, GA, GC, GN, GP, NDX, OB, OF, OTT, PC, PD, PH, SOU, TS, and TY in $APLNOT. This is so global that almost everything should be relinked. We have survived this error for so long that a patch is not required this late in the year. Moved nowhere. 14248. November 15, 2013 SETJY, BPASS, CPASS Eric Improved the spelling of 3C196 (J0813+4813) and 3C380 (J1829+4844) in the low freq source lists. They both used an old shorter name previously. Moved nowhere. 14249. November 15, 2013 USUBA Eric The antenna examination routine could not handle missing antennas - one missing would have worked but not two. Changed to fill in blank names with unique names before all the testing. Moved nowhere. 14250. November 15, 2013 control files Eric Updated the tab completion file $HLPFIL/HLPIT.LIS and the ABOUT lists for ADVERB, ANALYSIS, CALIBRAT, CATALOG, COORDINA, EDITING, GENERAL, IMAGE-UT, IMAGING, INTERACT, MODELING, ONED, OOP, PLOT, POLARIZA, PROCEDUR, SPECTRAL, TASK, TV-APPL, UV, VERB, VLA, and VLBI. Moved nowhere. 14251. November 18, 2013 TVMOVIE Eric Added paragraph about making an animated gif for use in PowerPoint or other presebtation programs. Modified some antique wording. Moved nowhere. 14252. November 21, 2013 READ Eric Added some notes to the help file warning people about where READ must get its data. A read in a script gets its data from the script, not the interactive terminal. Moved nowhere. 14253. November 21, 2013 POPSGN Eric POPSGN was not altered to handle the new RUN in a RUN changes but it is RUNning a text file and must be so changed. GRIPR and BATER also needed this change although less urgently. Moved nowhere. 14254. November 25, 2013 VLAMP Eric Minor adjustments to the output to include a time range at the start, change the Tsys and Gain header line, and add the band code to the channel header cards and the GAIN card. Moved nowhere. 14255. November 26, 2013 SUBIM Eric Added adverb ZINC - which forces the task to be restructured with a MAIN plus subroutines. One subroutine implements no ZINC with or without math operations on the XINC x YINC area. It turns out that that routine in the old SUBIM was not entirely correct when doing the math operations. Another new subroutine implements averaging (or max/min) over planes as well as rows and pixels in x. That requires a full plane in memory which is now routine with dynamic memory. Moved nowhere. 14256. November 28, 2013 CookBook Eric/Amy Updated chapters: 0 : update 1 : line counts, version IDs, Appendix E 4 : SETJY. EDITA, TVFLG, POSSM, CLCAL rewrite, LISTR 5 : EDITR, IMAGR BOXFILE, HA2TI 6 : DEFCOLOR, SNPLT MULT, coordinates, XGAUS, RMFIT, ZEMAN, UVPLT channels, DSKEW 7 : XGAUS, RMFIT, ZEMAN, MAXFIT/IMFIT/JMFIT, coordinates, SPMOD 8 : XGAUS, RMFIT, ZEMAN 9 : BSCAN, CLCAL, CLVLB, EVLA-Y (VLAMP) 12 : RUN in a RUN 13 : update many lists C : EVLA-Y (VLAMP) E : SNPLT MULT, TYAPL CUTOFF, SYCOP, FTFLG, PCVEL, BPWGT, LISTR, REIFS, SPFLG, CLIP, UVPLT, BPASS, BDAPL, BLCHN, SNP2D I : update J : update Note that there were html and pdf issues so all LaCook*.tex and all chapters in the PostScript got minor revisions. COOKBOOK.PDF redone of course and web available html version. Moved nowhere. *********************************************************************** *********************************************************************** Changes while 31DEC13 is NEW *********************************************************************** *********************************************************************** 14258. December 2, 2013 DOFARS Eric The procedure had not been changed when FARS took over control of its output class names. The final TRANS tasks then failed. Moved to 31DEC13 this date. 14260. December 5, 2013 APCAL Eric Changed GC reading to understand that a GC subarray of 0 means all. Changed table reading in general to understand that a negative error return means flagged row, not severe error. Moved to 31DEC13 this date. 14261. December 5, 2013 USUBA Eric Changed the subroutine that automatically changed the subarray column value to use its subarray magic only on tables with subarray, source, time, and antenna columns and to output subarray = 0 for other sorts of tables. Subarray 0 means any which many tasks now understand. Moved to 31DEC13 this date. 14263. December 6, 2013 SUBIM Eric The YINC=1, ZINC=1 code was broken... by the recent upgrade. Moved to 31DEC13 this date. 14264. December 6, 2013 AIPS Eric When an error in POPS occurs or a task returns a failure code, OERROR is called and control returns to the top most level of interactive input. OERROR did not close nested RUN files properly or reset NUMRUN = 0. Fixed this. Moved to 31DEC13 this date. 14265. December 11, 2013 HELP Eric Added help paragraphs about the CookBook and where to get the PostScript, pdf, and html versions. Moved to 31DEC13 this date. 14269. December 17, 2013 CVEL Eric VERA apparently follows the lead of the VLBA and fringe rotates to the Earth center. Change ISVLBA to detect array name VERA as well as VLBA and generalize the messages about that. Moved to 31DEC13 this date. 14271. December 19, 2013 BLSUM Eric Values of TXINC and TYINC of zero were used rather than being corrected to the default value 1. This led to aborts, infinite loops, etc. Moved to 31DEC13 this date. 14273. December 24, 2013 SLFIT Eric The conversion to REAL*8 in lots of places on July 8 was too enthusiastic and sent R*8's into a routine that requires R*4's. The conversion from fit parameters to real units for most slices produced wrong answers. Moved to 31DEC13 this date. 14276. December 26, 2013 smoothing Eric The 2-point smoothing routine TPTBSM tried to avoid a divide by zero by taking the max of 0.001 (86.4 seconds) and the time difference of the 2 points. Since they might be around 1 second this is very bad. Fixed the code to avoid a zero divide explicitly or use whatever the time difference might be. Affects CLCAL, SNSMO, TYSMO, CLSMO, and SNEDT. Moved to 31DEC13 this date. 14281. January 14, 2014 BPASS Eric When SOLINT=-1 all scans and sources are averaged together. Under this circumstance, if there is more than one source, there should be no spectral index correction. However, the code made no correction even if there was only one source. Fixed it to set the source number appropriately when there is one and to warn when there should be a spectral index correction, but it is zero. Moved to 31DEC13 this date. 14282. January 14, 2014 LISTR Eric The gain scaling routine picked up the LUN of the open CL, SN, etc. file and then used it to try to open the source table! Changed it to get an LUN for the source table dynamically with LUNTMP. Moved to 31DEC13 this date. 14299. February 7, 2014 UVFND Eric In testing it was found that channel averaging had a bad bug - the imaginary part of the output was the same as the real part giving a phase of 45 degrees and an amplitude sqrt(2) too high (or so). This was not done when NCHAV <= 1. Moved the fix part to 31DEC13 this date. 14300. February 8, 2014 DOBAND 2 and 4 Eric The code of BPGET assumed that the BP correction array was filled in with the earlier of the 2 times. This was not correct at the start and, if the first time(s) were closer to the BP record of the lower time, then the BP correction array was not completed properly. The values must have somehow been approximately correct rather than 0, from earlier work with the array. Changed it to copy the early solution to the array or the later solution to the array in all cases. Moved to 31DEC13 Feb 9. 14301. February 10, 2014 DOOSRO.001 Lorant Previously I removed a lot of clrtemps since they started to be differently interpreted, I think due to a change in an upper routine in 2013. However, one critical procedure (numtab) actually needed a clrtemp within a loop, which is now there. Added plenty of lines of debugging code to find it. Moved to 31DEC13 this date. 14303. February 11, 2014 KNTR, PCNTR Eric Changed: KNTR A test when doing 3-color pictures required BLC(3) < TRC(3) when the setup to that point had them equal. Changed test for axis 3. PCNTR Fixed assignment of LUNs - the 3 color used LUNs = ILUN(4) + 1 and 2. But there is now an ILUN(5) so changed the (4) to (5). Moved to 31DEC13 this date. 14304. February 11, 2014 PCCOR Eric PCCOR did not expect magic blank values for the cable-cal. But the tables have them (double precision magic blank is 10^98) so trouble ensued. Changed to use the last good value of cable-cal when blanked. Moved to 31DEC13 this date. 14316. March 10, 2014 FITLD Eric The subroutine GETMC could fail to do the correct hash interpretation and so fail to find MC records that it wanted and which were available. MC records separated by < 2 minutes triggered this issue. Rearranged so that it searches for the closest MC record. Also changed GETDEL which would have failed if the records were separated by <= 1 interval. Moved to 31DEC13 patch this date. 14321. March 17, 2014 DSKEW Eric The routine in INTERPLATE that implements this algorithm took the SIN and COS of an angle in degrees rather than radians. This made for a rather bad result whan that angle was not zero. Added comment to help file warning about higher level interpolations "overshooting" the input values. Moved interplate to 31DEC13 this date. 14326. March 19, 2014 CLCAL Eric Subroutine SNAPP used a bad subscript to get the subarray and so did not fill in the table of used reference antennas correctly. This then caused CLCAL to fail to re-reference the SN tables as they were supposed to be. Moved to 31DEC13 this date. 14329. March 25, 2014 SETJY Eric Velocity computations on OPTYPE ' ' or 'SPEC' in error: a. The reference frequency should have been the specified channel (APARM(1)) in reference IF NIF not the reference pixel in NIF. b. Radio formula had incorrect sign. c. Optical formula also had incorrect sign. Changed references to BIF into references to NIF in inputs and help. Moved to 31DEC13 this date. 14332. March 27, 2014 SNP2D Eric Finally I think we have it right. The output SN table needs to have a delay = line channel phase / line channel frequency where "line" refers to the channel at which the maser provides a useful self-cal solution. But AIPS' DOCAL only corrects phase with delay between each channel and the reference channel. Thus the output SN table here must also have a phase = ref channel freq * delay found above (all with 2*pi and correct signs etc.). Moved to 31DEC13 this date 14335. March 31, 2014 TIORD Eric Correct formats of display which also includes the visibility number (missing from FORMAT statement). Moved Fortran corrections to 31DEC13. 15339. April 2, 2014 XGAUS, RMFIT Eric Discovered numerus calls to the function evaluator which had a bad argument, causing it to evaluate derivatives rather than residuals. It is amazing that it worked so well - the symptom arose in XGAUS where a single variable (an FTAB pointer) got reste to zero most mysteriously in Intel 64-bit optimized code only. Correcting this unearthed an error in RMFIT's attempt to make guesses - the change from 3 variables to 4 fit each time did not make it to one place in that code. Moved corrections only to 31DEC13 this date. 15340. April 2, 2014 PRTAB Eric A very long string in a table (BANDCODE for 64 IFs = 256 characters) was too long for temporary strings in the task. Limited the data string in such cases. Unfortunately, without building in special knowledge of specific tables, PRTAB cannot know about character string arrays. March 11, 2014 correction included: When a floating format was requested but an exponential was required, the task used 1 too few characters, dropping the essential digit of the exponent. Moved to 31DEC13 this date. 15347. April 11, 2014 LISTR Eric LISTR failed to display the correct scaling when FACTOR was used with phases, elevations, or parallactic angles. The verbose listing (DPARM(5) > 0) also did not show when numbers overflowed the format. The help file needed clarification on the use of FACTOR (which is always used in GAIN listings when it is > 0). Moved to 31DEC13 this date. 14365. May 20, 2014 TVFLG, SPFLG Eric Some places did not respond to flagged rows in the FC table gently, but instead made it a hard error. UNDO does flag rows, so this is a serious issue. Moved to 31DEC13 29 May. 14389. June 13, 2014 DTSUM Eric The task omitted the highest numbered antenna from the visibility matrix due to a logic error in deciding which antennas to print. Moved to 31DEC13 this date. 14401. June 27, 2014 CALIB Eric A special routine ECALC is used to solve for gains when there are 2 (or 1) baselines. It did not get the phase only solutions to have correct (1.0) amplitudes. Added code to convert the amplitudes of the gains to 1. Moved to 31DEC13 this date. 14278. January 13, 2014 PCAL Eric Found two places that referred to CATIN using UV header pointers that had been recomputed for the header after calibration. Old data sets might have a no longer standard axis order and so the two might differ. This caused it to lose an IF when saving the results in a pure continuum case. 14351. April 20, 2014 polarization Eric PCAL (a) In IPCALC (solves the ORI- mode), changed it to handle "no data found" gently, since many channels in a row may be flagged. A message appears and an answer of (0,0) is returned. (b) In LPCALC (solves the simple model), changed it to trap "no data found" and set 0 into the answers rather than going through all the math to end up with 0 anyway. (c) Changed the automatic reading of the previous solution from the AN or PD table into an optional one. The default is to omit that reading - bad values can hurt much more than starting with the assumed circular polarization. (d) Corrected BIF and EIF back to the user's input for writing in the history file. PCAL Help: added CPARM(7) option to read initial guesses from the AN or PD table or, by default, omit that. 14398. June 24, 2014 PCAL Eric PCAL used to quit on 10 consecutive failures. Bad channels may exceed this so changed the limit to 256 consecutive failures. Any one success resets the counter. 14429. August 8, 2014 PCAL Eric The data averaging over time code was written seemingly by someone (not me!!) who does not understand real data. It assumed that all samples had 4 valid correlations (RR, RL, LR, LL) and that a straight average would be better than a weighted one. If the RL and LR were flagged a lot compared to either one of RR and LL, then the source polarization would appear reduced by this (bad) averaging method, assuming the flagged RL and LR values were not crazy. The weight sums included all weights which could have been negative sometimes or zero, so any weighting done woth those sums would have been questionable at best. Moved all to 31DEC13 8-Aug. 14431. August 20, 2014 TYSMO Eric The flagging code had bad errors - flagging RR on LL flags, not checking for LL good, and messing up the polarization selection of flags (not using the one that applied to the current flag). Moved to 31DEC13 21-Aug. 14449. September 11, 2014 TVFLG, SPFLG Eric Added protection of the current valid header when trying to TV load a new plane. If there was no valid data, then the header was messed up but the program went on happily until it tried to use that header (i.e. flagging the still displayed plane). Moved to 31DEC13 Sept 12. 14450. September 12, 2014 BPASS Eric Increased all dynamic memory allocations by 1 kiloword. They were too tight and the memory pointers could get corrupted. Moved to 31DEC13 Sept 12. 14466. September 30, 2014 MC tables Eric Changed the time forgiveness to plus or minu 5.1 minutes. This should help with the new MC tables that have longer intervals. Moved to 31DEC13 this date.