29-Jan-2003: FITS_OPEN, FITS_READ - updated to allow reading gzip compressed files, (although there is a performance penalty) FITS_HELP now also works with compressed files. 21-Jan-2003: Library now requires at least V5.2. New V5.1 directory contains the (frozen) tar files for V5.1 or later. Procedures updated for V5.2 (recognizing unsigned integers) include FITS_OPEN, DBHELP, DBINDEX, DBINDEX_BLK, DBFIND_SORT, DBEXT_IND and READFITS(). 16-Jan-2003: FITS_INFO - Now works with gzip compressed files (if V5.3 or later) 14-Jan-2003: REPSTR() - Fix case where object and input string lengths are identical 27-Dec-2002: WRITEFITS - /CHECKSUM keyword to write checksum values in header MODFITS - Automatically update checksum keywords, (if present) adds padding if new data size is smaller than the old 23-Dec-2002: New procedures for working with FITS checksums (data integrity) FITS_ADD_CHECKSUM - Add or update the CHECKSUM and DATASUM keywords in a FITS header FITS_ASCII_ENCODE() - Encode an unsigned longword as an ASCII string to insert in a FITS header FITS_TEST_CHECKSUM() - Verify the values of the CHECKSUM and DATASUM keywords in a FITS header 18-Dec-2002: PLANET_COORDS - Allow vector Julian Dates when using the /JPL keyword. 15-Dec-2002: STARAST - Now include CTYPE keyword when writing FITS header 13-Dec-2002: FXBGROW - Can now be used to increase the number of rows in any FITS binary table extension (formerly restricted to the last extension) BLKSHIFT - Shift a block of data to a new (possibly overlapping) position in a file FXBPARSE - now explicitly parses the THEAP keyword FXBCREATE - now has an optimization for the case where there are a large number of rows in a table, especially ones with small number of bytes. WRITEFITS - Fixed problem when using /APPEND and not supplying a header 11-Dec-2002: FXBWRITM - Allow more than 50 output columns when using pointers 23-Nov-2002: TEXTOPEN - Return calling sequence if no parameters supplied 22-Nov-2002: MEDARR - Use DIMEN keyword to MEDIAN in V5.6 or later PRODUCT() - Added /NAN keyword, documentation about V5.6 emulation RDFLOAT, READCOL - Use SKIP_LUN if V5.6 or later PSF_GAUSSIAN() - Now allows use of the ST_DEV keyword 21-Nov-2002: FITS_WRITE, FITS_READ - Removed NaNValue keyword, as NAN is recognized on all IDL machines since V5.1 20-Nov-2002: TBGET() - Bypass IEEE_TO_HOST call for improved speed 11-Nov-2002: CHECKSUM32 - Now works correctly on non- big endian machines 04-Nov-2002: FITSDIR - Major rewrite, no truncation of keyword display, option to select displayed FITS keywords and alternates 18-Oct-2002: FDECOMP - Now accepts vector filenames DBHELP - Use vectorized version of FDECOMP internally 10-Oct-2002: FIND - Fix problem when PRINT= 'filename' 26-Sep-2002: ZBRENT() - Use MACHAR() to define machine precision 24-Sep-2002: GLACTC - Now has /SuperGalactic keyword to convert between celestial and SuperGalactic coordinates DBTARGET() - Find database entries within specified radius of supplied astronomical target name. 20-Sep-2002: DBPRINT - New /AdjustFormat will adjust the format length for string items to the maximum length for the entries to be printed. 13-Sep-2002: QueryUSNO - Query the USNO-A2.0 astrometric catalog by position 12-Sep-2002: LEGEND - Don't change scalar input keywords (THICK, PSYM) to vectors ADSTRING() - Now has /TRUNCATE keyword to truncate rather than round the least significant digit. Useful for creating IAU names from coordinates. 10-Sep-2002: RDFITS_STRUCT - Major rewrite to use FITS_OPEN and CREATE_STRUCT() and avoid use of temporary files. 6-Sep-2002: QueryGSC() - Fix parsing of input RA and Dec coordinates 3-Sep-2002: MRDFITS() - Fix possible problem with conflicting data structures under V5.5 when reading variable length arrays WRITEFITS - Create a minimal primary header if supplied file name does not exist and /APPEND is set FTPUT - Fix problem when existing table header contains no columns FINDPRO - Force lowercase extension to fix VMS problem 30-Aug-2002: New /SOCKETS directory contains procedures using the IDL SOCKET command to access Web servers. These procedures require IDL V5.4 or later on either Unix or Windows machines WEBGET() - Use the IDL SOCKET procedure to get data from http servers QUERYGSC() - Query the Guide Star Catalog (GSC V2.2) at the Space Telescope Science Institute by position QUERYDSS - Query the digital sky survey (DSS) on-line at the European Space Observatory (ESO) or STSCI servers QUERYSIMBAD - Query the SIMBAD name resolver at ESO to obtain J2000 coordinates RADEC - Now has /HOURS keyword to input RA in hours 13-Aug-2002: ASINH() - Now works for multidimensional arrays 31-Jul-2002: DB_ITEM, TBPRINT, FTPRINT, FTAB_EXT, CREATE_STRUCT - Use STRSPLIT() instead of STR_SEP() for V5.3 or later 24-Jul-2002: FXADDPAR - Now forces EXTEND keyword to appear immediately after last NAXISi keyword, per FITS rules 19-Jul-2002: PARTVELVEC - Added /OVER keyword to not erase previous plot 16-Jul-2002: BREAK_PATH(), FIND_WITH_DEF() - Use STRSPLIT instead of STR_SEP() for V5.3 or later 12-Jul-2002: CNTRD - Check if more than 1 pixel achieves the maximum value 28-Jun-2002: TSUM() - Fix problem (IMAX undefined) if only 1 parameter supplied 27-Jun-2002: TEXTOPEN - Now has a /SILENT keyword FORPRINT - Now has a /NoCOMMENT keyword. The /SILENT keyword is now used only to suppress informational messages. 26-Jun-2002: PUTAST - Allow direct specification of CTYPE keywords 24-Jun-2002: WCS_ROTATE - Ensure argument of ASIN() is -1 < x < 1 after roundoff 14-Jun-2002: MODFITS - Work for FITS extension headers using the STScI inheritance convention 12-Jun-2002: EQ2HOR, HOR2EQ - Convert between equatorial (RA-Dec) and horizon (alt-az) coordinates, including the effects of precession, nutation, aberration, and refraction CO_ABERRATION - Calculate change in RA and Dec due to aberration 11-Jun-2002: ALTAZ2HADEC - Convert Horizon (Alt-Az) coordinates to Hour Angle and Declination HADEC2ALTAZ - Converts Hour Angle and Declination to Horizon (alt-az) coordinates 07-Jun-2002: REPSTR() - Make loop long integer, vectorize STRLEN call 05-Jun-2002: RESISTANT_MEAN - Improve sigma determination (conditional test was done on the wrong variable, higher order correction) 04-Jun-2002: PLOTERROR, OPLOTERROR - Fix Jan 2002 speed update to work with logarithmic plots 03-Jun-2002: Two new contributions from Chris O'Dell in pro/astro CO_NUTATE - Calculate changes in RA and Dec due to nutation of the Earth's rotation CO_REFRACT() - Calculate correction to altitude due to atmospheric refraction 30-May-2002: PLOTHIST - don't plot out of range with /FILL, added HALFBIN keyword, and made half bin shift default for integer data only 28-May-2002: RDFLOAT - Now has COLUMNS keyword to read only selected columns STREBCASC has been removed the Library, though it is still available in the ftp://idlastro.gsfc.nasa.gov/pub/obsolete directory. 20-May-2002 -GEO2GEODETIC(), GEO2GEODETIC() - new EQUATORIAL_RADIUS and POLAR_RADIUS keywords 17-May-2002 -GEO2GEODETIC(), GEO2GEODETIC() - new PLANET keyword to convert between planetographic and planetodetic coordinates READCOL - Faster algorithm, now use STRSPLIT if V5.3 or later 15-May-2002: New procedures for converting between geographic and geodetic, geomagnetic & Earth-centered inertial coordinates from Pascal Saint-Hilaire (ETH). ECI2GEO() - Convert Earth-centered inertial coordinates to geographic coords GEO2ECI() - Convert geographic coordinates to Earth-centered inertial coords GEO2GEODETIC() - Convert from geographic to geodetic coordinates GEO2MAG() - Convert from geographic to geomagnetic coordinates GEODETIC2GEO() - Convert from geodetic to geographic coordinates MAG2GEO() - Convert from geomagnetic to geographic coordinates trim.pro has been removed from the Library. It is still available in ftp://idlastro.gsfc.nasa.gov/pub/obsolete or in the SolarSoft directory http://sohowww.nascom.nasa.gov/solarsoft/gen/idl/ 10-May-2002: Robust statistics procedures in contrib/freudenreich are being transferred to the main library in the new /pro/robust directory. The first 8 procedures to be transferred are AUTOHIST - Draw a histogram using automatic bin-sizing. BIWEIGHT_MEAN() - Iterative biweighted determination of mean and std. dev. HISTOGAUSS - Outlier-resistant autoscaled histogram drawing RESISTANT_MEAN - Outlier-resistant determination of mean and std. deviation. ROB_CHECKFIT() - Utility to determine quality of a fit and return biweights ROBUST_LINEFIT() - Robust fit of Y vs X (or bisector of Y vs X and X vs Y) ROBUST_POLY_FIT() - Robust polynomial fit ROBUST_SIGMA() - Robust analog of the standard deviation 07-May-2002: HREBIN - Fix astrometry update problem when contracting by an exact integral factor 30-Apr-2002: FXPOSIT - Now recognize file names with internal spaces WRITEFITS, FITS_INFO - Use FILE_SEARCH() instead of FINDFILE() if V5.5 or later 24-Apr-2002: FIND_ALL_DIR - Now follows Unix logical links FITS_READ - Don't erase error message when closing the file 17-Apr-2002: ADSTRING() - Fix possible error in seconds display when the precision parameter is zero. 11-Apr-2002: GLACTC - Major rewrite, now assumes FK5 coordinates by default, added /FK4 keyword, use external precession routines 10-Apr-2002: CLEANPLOT - Now has /ShowOnly keyword to display but not reset plotting keywords with nondefault values 04-Apr-2002: AVG() - Return NAN if all input values to be averaged are NAN 27-Mar-2002: READFITS - Fixed (again) for compressed files on little endian machines 25-Mar-2002: HROT - Correct astrometry when /PIVOT keyword is set IMCONTOUR - Added XMID, YMID keywords to specify offset position for labeling (default is still center of image) 21-Mar-2002: AVG() -- Always use double precision computations internally 12-Mar-2002: SXPAR() - Make sure extracted vectors of mixed data type are returned with the highest type. 11-Mar-2002: PSF_GAUSSIAN() - Suppress floating underflow messages, added /DOUBLE keyword, integer centroid now defined as the center of a pixel. 02-Mar-2002: DBMATCH() - Fix typo when searching on sorted items 22-Feb-2002: DBFIND_ENTRY - better checking of out of range entry numbers 20-Feb-2002: MRDFITS/MWRFITS - Fix major bug in the processing of unsigned integers 03-Feb-2002: MRDFITS() - Fix problem when both the first and the last character in a TTYPEnn value are invalid structure tag characters 28-Jan-2002: UVBYBETA - Major rewrite, *slightly modified calling sequence* 24-Jan-2002: PLOTERROR, EXTAST, HROTATE- Fixed dumb typos recently introduced 22-Jan-2002: SXADDPAR - BEFORE and AFTER keywords now apply to (FITS) COMMENT keyword (behavior already in FXADDPAR). 16-Jan-2002: PLOTERROR, OPLOTERROR - Only draw error bars with in !X.CRANGE (to improve speed) 15-Jan-2002: EXTAST - Recognize CTYPE1 = 'GSS--RA' keyword in FITS header TVELLIPSE - Negative XC, YC values allowed noninteractively if /DATA is set 12-Jan-2002: AITOFF_GRID - Several tweaks, plot only hours not minutes for LABEL=2 PLANCK() - Improve precision of constants, use MACHAR for overflow 11-Jan-2002: MINMAX() - Now has DIMEN keyword (V5.5 only) to work over 1 dimension of an array DBPRINT - Don't write an initial page eject 01-Jan-2002: FSTRING() - Check if version is V5.4 or later (when 1024 element string formatting limit was removed) 31-Dec-2001: FREBIN() - Improve speed by addressing arrays in memory order (bug fixed 14-jan-2002) 30-Dec-2001: SXPAR() - Added /SILENT keyword to suppress warning messages 16-Dec-2001: *.doc files in the /text directory have been renamed to *.readme EXTAST, HROT, HROTATE, HCONGRID, HBOXAVE, HREBIN, HREVERSE - Recognize PC00m00n (pixel coordinate matrix) keywords for FITS astrometry (sigh...) 15-Dec-2001: MRDFITS() - Major upgrade (V2.5) now supports unsigned integer types (/UNSIGNED), aliases between FITS column names and structure tag names, 64 bit integers, and /POINTER_VAL option to map variable length binary tables into IDL pointers MWRFITS - Major upgrade (V1.0) to support unsigned integer types, 64 bit integers, aliases, and writing of variable length binary table arrays. 10-Dec-2001: DBEDIT - Work for entry numbers greater than 32767 9-Dec-2001: LSF_ROTATE - Create a 1-d convolution kernel to broaden a spectrum from a rotating star 7-Dec-2001: FITS_OPEN - Now uses 64 bit pointers in the file control block to allow access to very large FITS files 26-Nov-2001: FORPRINT - Bug introduced August 2001 would skip first data point when printing to a file. AVG() - Now accepts a scalar input value EXPAND_TILDE() - Can now parse a directory such as '~landsman' 25-Nov-2001: MMM - Avoid possible integer overflow for 16 bit arrays 23-Nov-2001: DBPRINT - No page eject for TEXTOUT=5 DBHELP - Fix display of multiple valued items with /SORT 20-Nov-2001: CLEANPLOT - Now sets !P.color correctly for 16 bit TRUECOLOR New contrib/maskinterp directory contains procedures by Joe Harrington (Cornell) and students for 2-d interpolation using a choice of 2-d fitting functions, given a bad pixel mask. 18-Nov-2001: GAUSSIAN() - Use machar() to avoid underflows, output double precision, if input is double precision 11-Nov-2001: PRODUCT() - Use internal vector algorithm from C. Markwardt 8-Nov-2001: MODFITS - Major internal rewrite to use FITS_OPEN. Now works with unsigned integers, and allows file control block unit instead of filename. Tape I/O procedures have been removed from the Library. They are still available in ftp://idlastro.gsfc.nasa.gov/pub/obsolete or in the SolarSoft directory http://sohowww.nascom.nasa.gov/solarsoft/gen/idl/ 6-Nov-2001: TVLASER - /TRUE now also applies when reading from truecolor display (formerly applied only when an image array was supplied) 29-Oct-2001: STR_INDEX(), NINT(), FORPRINT, EXPAND_TILDE(), BREAK_PATH(), TBDELCOL, TAG_EXIST(), MODFITS, - Now use SIZE(/TNAME) rather than DATATYPE() 19-Oct-2001: JPLEPHINTERP - Fixed minor bug to now recognize "NUTATIONS" and "LIBRATIONS" object names READFITS()/HEADFITS() - One can now supply a file unit number instead of a file name 17-Oct-2001: LINTERP - Work for unsigned, 64bit integers FTCREATE - Work for one row tables, option to create just header 16-Oct-2001: SXADDPAR - Treat COMMENT or blank keywords like HISTORY keywords SXADDHIST - Can now also be used for COMMENT or blank keywords MKHDR - Added COMMENTS giving FITS definition in primary header 14-Oct-2001: DBBUILD - Fix error display message for incorrect data type 13-Oct-2001: PLOTHIST - Now has /NAN keyword to check for NAN values APER - Set bad fluxes to !VALUES.F_NAN if /FLUX is set 11-Oct-2001: KSTWO - Fixed problem when supplied (integer) arrays with equal values 1-Oct-2001: GET_DATE - Can now convert systime() format to FITS date format MRD_SKIP - More forgiving when reading compressed FITS files with incorrect byte padding 25-Sep-2001: FILTER_IMAGE() - Now has PSF keyword to allow reuse of the Gaussian convolution kernel 19-Sep-2001: TABINV, QUADTERP, YDN2MD - Now use VALUE_LOCATE internally FREBIN, GCIRC, CLEANPLOT - Updated to V5.1 features, e.g. size(tname) 14-Sep-2001: READFITS() - Support (unofficial) 64bit integer format 30-Aug-2001: FORPRINT - Much faster printing to a file, added COMMENT keyword TEXTOPEN - filepath(/TERMINAL) not allowed with IDLDE under V5.4 8-Aug-2001: EXTAST - Don't choke on headers with only one CTYPE keyword 6-Aug-2001: ARCBAR - Use device-independent label offset positioning 31-Jul-2001: FXBWRITM - Added ability to pass columns using pointers FXBREADM - Can now read variable length binary tables, ability to read unlimited number of columns via POINTER keyword 29-Jul-2001: IDL Version 5.1 or greater is now assumed default for Astro Library This means that (Size,/tname), !ERROR_STATE, NAN values and /SWAP_IF_LITTLE keyword to OPENR are recognized. Updated procedures READFITS(), IMF(), IEEE_TO_HOST, WRITEFITS 27-Jul-2001: TDB2TDT() - Compute relativistic timing correction from geocentric (TT) to solar system barycentric (TDB) coordinates BARYVEL, PLANET_COORDS - Now have a /JPL keyword to use JPL ephemeris files ASTROLIB - Now check if system variable exists before defining it 26-Jul-2001: IDL Database routines can now handle longword and unsigned integer datatypes (for IDL V5.2 and later). Modified routines are DBCREATE, DBXVAL(), DBFIND(), DBFIND_SORT(), DBINDEX_BLK and DBBUILD. 24-Jul-2001: READCOL -- Added COMMENT keyword 22-Jul-2001: FXBWRITM - Fixed bug when column numbers specified instead of names JPL Ephemeris routines developed by C. Markwardt now available for high precision planetary positions and velocities JPLEPHINTERP - Interpolate position and motion of planetary bodies using a JPL Ephemeris JPLEPHREAD - Open and read JPL DE200 or DE405 Ephemeride FITS File 9-Jul-2001: astron.html file now includes one-line descriptions 13-Jun-2001: RDFLOAT - No integer overflow when skipping more than 32767 lines 8-Jun-2001: PRECESS_XYZ - Use two parameter call to ATAN (major bug fix) 5-Jun-2001: CHECKSUM32 - Compute the 32bit checksum of an array (ones-complement arithmetic) N_BYTES() - Return the number of bytes in an IDL variable 4-Jun-2001: FILTER_IMAGE - Recognize NaN values for SMOOTH, use /EVEN for MEDIAN 23-May-2001: MEDARR - V5.4 fix for new SIZE() definition of undefined variable 4-May-2001 COPY_STRUCT, COPY_STRUCT_INX - Use long integers internally 3-May-2001: MRDFITS() - Added a strtrim when parsing binary format string FTAB_HELP, FTAB_EXT - Don't call fits_close if a FITS control block supplied FTAB_PRINT - Don't leave any open files 26-Apr-2001: TCTOOL - in /contrib/malumuth has new annotation capabilities 25-Apr-2001: FITS_READ - Ensure EXTEND keyword is in primary header if extensions are present 11-Apr-2001: TSUM() - Now work for non-integer values of IMIN, IMAX parameters 6-Apr-2001: MWRFITS - Now recognize '~' symbol in Unix directory name 31-Mar-2001: FITS_WRITE - Ensure required table extension keywords are in the correct order 28-Mar-2001: PLOTSYM - Improved star symbol, added COLOR keyword 21-Mar-2001: OPLOTERROR - Removed bug introduced Jan. 2001 (NSUM keyword) CLEANPLOT - Mac specific fix for 32 bit (?) visual depth 17-Mar-2001: ASINH() - Return the inverse hyperbolic sine of its argument 12-Mar-2001: RDPLOT - Use !MOUSE.BUTTON instead of !ERR, skip translation table for 24bit color. 9-Mar-2001: DBEXT_IND - Fix for extraction of indexed multiple-valued items FACTOR, GETWRD, POLREC - Upgraded to match latest version of JHUAPL library (major upgrade for FACTOR) 6-Mar-2001: AITOFF_GRID, EQPOLE_GRID - Now uses _EXTRA facility to control grid lines. Added CHARSIZE, CHARGRID keywords 13-Feb-2001: HERMITE - Now use VALUE_LOCATE instead of TABINV TVLASER - Fix problem with /NOCLOSE and unequal X,Y axes 08-Feb-2001: APER - No bad pixel check if badpix[0] = badpix[1] 02-Feb-2001: FIND_ALL_DIR - In Windows OS, use EXPAND_PATH(/ALL, /ARRAY) if since V5.3 30-Jan-2001: The contrib/bhill directory now has the following object-oriented display widgets: XCTVN - Displays a series of images for examination and comparison XINSPECT, XINSPECT2 - Browse a big FITS image (or two of them) without having to read the entire image into memory. 29-Jan-2001: PLOTERROR - Fix logic when NSUM keyword or !P.NSUM is set 23-Jan-2001: VALUE_LOCATE - Emulate the intrinsic IDL function introduced in V5.3 (bracket search values in a monotonic vector) CNTRD - Avoid integer wraparound for unsigned integers PUTAST - Use GET_EQUINOX to get the equinox value 19-Jan-2001: EXTAST - Signal that if CTYPE = 'PIXEL' then there is no astrometry CURVAL - Replace !ERR calls with !MOUSE.BUTTON 15-Jan-2001: IRAFRD - No longer read past end of file for V5.4 compatibility MRD_SKIP - Direct check for gzip compressed files under V5.4 29-Dec-2000: MRD_STRUCT - Fix concatenation of temporary directory & file name under Windows 26-Dec-2000: XMEDSKY - Fixed conditional WHERE, added NSIG keyword 23-Dec-2000: CALZ_UNRED - Deredden a galaxy spectrum using the Calzetti et al. (2000) parameterization JPRECESS - Make sure proper motions are (at least) floating pt. 22-Dec-2000: CHECK_FITS - Fixed bug when updating DATATYPE keyword 18-Dec-2000: GAL_UVW - Compute the Galactic space velocity (U,V,W) of a star 16-Dec-2000: HEADFITS(), FXPOSIT, FXMOVE, MRD_HREAD - Now have a /SILENT keyword to suppress warning messages about invalid characters in a FITS file FITSDIR - Now has /EXTEN keyword to display info on extensions, now works with compressed files, additional alternate keywords 8-Dec-2000: MODFITS - Improved check for incompatible input/output sizes 7-Dec-2000: NUTATE - Corrected minor typos in d_lng term 4-Dec-2000: PLOTERROR, OPLOTERROR - Now ignore data points with NAN values 2-Dec-2000: DBINDEX, DBEXT_IND - Now allow multiple-valued index items 28-Nov-2000: DATE_CONV() - Added FITS input/output format YYYY-MM-DDTHH:MM:SS.SS 17-Nov-2000: DBFIND, DBFIND_ENTRY, DBFIND_SORT, DBSEARCH, IMDBASE - Now have a Count keyword; deprecate use of !ERR 16-Nov-2000: MWRFITS - Fix scaling and missing keywords in image extensions 10-Nov-2000: MOONPOS - Now uses improved expressions for the elongation, & mean anomaly (very small change in output results). 09-Nov-2000: HASTROM - Fixed bug if two FITS headers were not at the same equinox. 03-Nov-2000: CLEANPLOT - Also reset negative !X values 28-Oct-2000: AD2XY, EXTAST, GETROT, HROT, HROTATE, PUTAST, XY2AD - Now use a consistent conversion between CROTA and CD matrix notation 25-Oct-2000: LEGEND - Added an option (LINESTYLE=-99) to left-justify text 11-Oct-2000: DBXVAL - Work for multiple-valued strings 9-Oct-2000: CNTRD - Better checking if centroid is at edge of image 3-Oct-2000: FITS_WRITE - Now pad data (except ASCII Tables) with zero bytes per FITS standard. 29-Sep-2000: XCTV, XCTV2 - Image display widgets in contrib/bhill directory now allow aperture photometry and entire image statistics 27-Sep-2000: EXPAND_TILDE - Made more robust 22-Sep-2000: STARAST - Added /RightHanded to indicate a right-handed coordinate system, and HDR input-output keyword to update FITS astrometry 21-Sep-2000: TVLIST - Removed broken call to !TEXTUNIT when no image supplied