skip to content

IDL Astronomy Users Library News

17-Feb-2017: XYXY - Make sure output parameters supplied

03-Jan-2017: PLOTHIST - Check for NaN values when computing min and max

15-Dec-2016: CORREL_OPTIMIZE - Added Init_factor keyword (default = 8)

08-Dec-2016: APER - Removed limitations on the maximum number of sky pixels

22-Nov-2016: EXTAST - Warn if header uses lookup table distortion convention

.............SKY - Remove HIGHBAD values before determining mode

10-Nov-2016: SXADDPAR - Allow 'value' to be a 1 element vector

7-Nov-2016: CO_REFRACT - Avoid possible infinite loop

13-Oct-2016 It is recommended to update CGCOLOR in the Coyote Library to fix a problem on X Window systems without backing store. The problem could affect colors on a number of IDLAstro plotting routines.

11-Oct-2016: FXADDPAR - Now works with byte and boolean values

29-Sep-2016: AL_LEGEND - Don't ever modify the current color table

26-Sep-2016: QUERYGSC, QUERYSIMBAD - Rewritten to use IDLNetURL object

19-Sep-2016: DBWRT - Update to allow indexing on the fly

.............SXADDPAR - Allow writing of byte or Boolean variables

.............FTPRINT, FITS_INFO, TBHELP, FORPRINT, FITSDIR - No need to explicitly test for !TEXTUNIT

25-Jul-2016: AL_LEGEND, AL_LEGENDTEST - Implement histogram filling

24-Jul-2016: ZENPOS - Now has latitude, longitude, time zone keywords for interactive use

18-Jul-2016: PLOTHIST - Use Scott's normal reference rule for bin size

11-Jul-2016: PLOTHIST - Speed up processing of COLOR values

25-May-2016: FXBFINDLUN - Make NHEADER a 64 bit integer for handling a very large FITS file

19-May-2016 FXBREAD, FXBWRITE - Use unsigned pointer to handle very large FITS files

17-May-2016: HASTROM - Test for Degree > 4 usage in POLYWARP

02-May-2016: PLOTHIST - When computing size for integers make sure it is at least 1

19-Apr-2016: PLOTHIST - Make /NaN,/AUTOBIN and BOXPLOT the default

11-Apr-2016: WRITEFITS - Added /SILENT keyword

30-Mar-2016: F_FORMAT() - fix problem with display of large negative numbers

23-Mar-2016: FILE_LAUNCH - Launch a file using the default application of the operating system

10-Mar-2016: TPV_EVAL - Fixed bug in 4th order term, added 5th, 6th and 7th order terms

01-Mar-2016: APER - Avoid integer overflow for very large images

24-Feb-2016: MWRFITS - Abort if a structure with more than 999 tags supplied

08-Feb-2016: MODFITS - Make it optional to supply FITS header, as advertised

21-Jan-2016: WCSSPH2XY - long and lat must have same number of elements, but not necessarily dimensions

11-Dec-2015: MMM - Always return floating point sky mode

03-Dec-2015: PUTAST - RADECSYS was misspelled, also fix possible clash between TPV distortion and use of LONGPOLE/LATPOLE

24-Nov-2015: HREBIN - Now has /TOTAL keyword to preserve total counts or surface flux (e.g. counts/(arc sec)^2)

9-Oct-2015: READCOL - Assume file is compressed if its name ends in '.gz'

30-Sep-2015: SXPAR(), SXADDPAR - Now work with null values in a FITS header

22-Sep-2015: FXPAR(), FXADDPAR - Now work with null values in a FITS header

18-Sep-2015: QUERYGSC - Updated for new server format

.............FTDELCOL - Columns can now be specified by number as advertised

12-Sep-2015: EXTAST - Make sure CROTA defined for GLS projection

10-Sep-2015: HEXTRACT - Fix problem with GLS projection

.............REPSTR() - Use CALL_METHOD() so that it compiles in IDL 7.1 and earlier

.............DIST_ELLIPSE - Make POS_ANG optional as documented

06-Aug-2015: SXPAR() - 72 character fields were being trimmed to 71 characters

28-Jul-2015: MWRFITS - Fixed bug when checking logical columns that include nulls

.............GLACTC_PM - Fixed occasional bug when computing sign of proper motion

14-May-2015: SXPAR() - Now has IFound output keyword to report matching indices when using a keyword* name input

27-Apr-2015: AD2XY, XY2AD - no longer check that CDELT[0] differs from 1

25-Mar-2015: FITS_INFO - Use 64 bit long to deal with huge FITS files

06-Feb-2015: SXPAR() - Return logicals as IDL boolean in V8.4 or later

05-Feb-2015: DBFPARSE - Allow parenthesis within string searches.

29-Jan-2015: DBSEARCH - Nov 2014 fix for "less than" string values was spurious, reverting

.............REPSTR() - Use .REPLACE() method for IDL 8.4 or later

19-Jan-2015: DBCREATE- Default maximum # of items is now 1000 rather than 200

23-Dec-2014: FXHMODIFY - Only issue a warning if keyword EXTEND is missing

04-Dec-2014: RESISTANT_MEAN - Fix problem with use of DIMENSION keyword with non-square arrays

10-Nov-2014: FITS_OPEN - Allow compressed file names to include spaces

02-Nov-2014: DBSEARCH - Fix problem with string "less than" searches

01-Nov-2014: SXPAR() - Use cgErrorMsg rather than On_error,2

26-Nov-2014: QUERYVIZIER - Add /CFA keyword, remove /CADC keyword

20-Oct-2014: MATCH2 - Fix occasional problem with strings with numerical content

14-Oct-2014: MWRFITS - Avoid LONG overflow for very large files

26-Sep-2014: FXREAD - Fix bug in handling of BSCALE keyword

3-Sep-2014: HEULER - Now work for GLS projection

.............PUTAST - PV1_3, PV1_4 keywords take precedence over LONPOLE, LATPOLE coordinates

25-Aug-2014: STRN() - Fix truncation problem when used with vector input

9-Aug-2014: HPRECESS - Now works for GLS projection

29-Jul-2014: MODFITS - A scalar in the header field means no header

.............PLOTHIST - Fix /FILL to work when axes are inverted

21-Jul-2014: SAFE_CORRELATE() - compute the probability that data is uncorrelated while accounting for data uncertainties

14-Jul-2014: XY2AD - Faster evalution of SIP polynomial

9-Jul-2014: CONVOLVE() - Fix bug where output is double precision even for float input

14-Jun-2014: EQ2HOR - Fix case of scalar position but vector JD

3-Jun-2014: TSUM() - Added /NaN keyword

30-May-2014 EXTAST - Fixed bug introduced Jan 2014 where SIP parameters were not recognized when NAXIS = 0

07-May-2014: FITS_READ - Fix bug when using /DATA_ONLY

05-May-2014: FITS_OPEN - can now read Unix compressed (.Z) FITS files

..........FITS_READ - close unit when reading .fz or .Z compressed files

..........SXADDPAR - Don't allow NaN values to be written to FITS header

25-Apr-2014: MRDFITS() use LONG64 for very large tables

24-Apr-2014: TBGET() - Use V6.0 notation

.............TBINFO - Use long64 for .numval for very large tables

23-Apr-2014: MWRFITS - Added /No_Copy keyword, fix problem with 32 bit overflow

18-Apr-2014: GSSSADXY - No longer call DELVARX which apparently can be slow

.............QUERYGSC() - Update for new server format. The names and number of structure tags has now changed.

7-Apr-2014: SOLVE_ASTRO - Solve for an tangent-plane astrometric plate solution with optional distortion terms. Requires MPFIT, MPFIT2dFUN from the Markwardt Library

New /markwardt directory contains procedures from the Markwardt library used in the Astron Library

7-Apr-2014: MRDFITS() - Work with LONG64 variable length binary tables. Suppress "zero length" message when /SILENT is set

13-Mar-2014: STRN() - Now accepts vector input

12-Mar-2014: TNX_EVAL() - Evaluate distortion correction given IRAF TNX coefficients (polynomial only)

AD2XY, ADD_DISTORT, EXTAST, PUTAST, XY2AD - now support IRAF TNX projection (polynomial only -- not yet Chebyshev or Legendre).

5-Mar-2014: TPV_EVAL() - Correct several typos for 4th order terms

26-Feb-2014: QUERYVIZIER - Updated for new http: syntax if /CANADA is set

............. FITSRGB_TO_TIFF - use 24bit display when /Visualize is set

25-Feb-2014: HASTROM - Now has a /SILENT keyword

05-Feb-2014: MULTIPLOT - Now handles [!X/Y.OMargin]

24-Jan-2014: FM_UNRED - Fix computation of output keyword EXTCURVE

10-Jan-2014: QuerySimbad- Now has optional keywords to get magnitude and parallax.

9-Jan-2014: WCS_CHECK_CTYPE - Now recognize when "RA" and "DEC" CTYPE values are flipped.

3-Jan-2013: AD2XY, XY2AD, EXTAST, TPV_EVAL() - Now support the TPV model of distortion (used by the SCAMP software)

14-Dec-2013: AD2XY, EXTAST, SIP_EVAL() - support reverse SIP distortion calculation when only forward coefficients supplied

.............WCSXY2SPH - Return scalar output for scalar input for ZPN projection

.............WCSSPH2XY - Polar offset correctly done in radians

13-Dec-2013: WCS_ROTATE - Avoid roundoff error when longitude = +/- 180

05-Nov-2013: MRANDOMN - Use LA_CHOLDC instead of CHOLDC to enable use of STATUS keyword

........... SELECT_W - Add kluge for Unix systems when Y_SCROLL_SIZE is set.

29-Oct-2013: DBCREATE - .db files no longer need be in current directory

27-Sep-2013: New procedures to query IRSA catalogs and tables

....... QUERY_IRSA_CAT - queries IRSA catalogs, returning an IDL structure

........READ_IPAC_TABLE - reads an IPAC Table file into an IDL structure

........READ_IPAC_VAR - converts an internal variable to an IDL structure

........WRITE_IPAC_TABLE - writes an IDL structure to an IPAC Table file

21-Sep-2013: EXTAST - Fix for converting GLS projection to SLS

19-Sep-2013: MRD_STRUCT - Fix typo when creating LONG64 arrays with /No_Execute

17-Sep-2013: XDISPSTR - Now has POS keyword to specify where to display the widget on the screen.

31-Aug-2013: DBSEARCH - Put in a strtrim() prior to sorting

.............SELECT_W - Fix SELECTIN keyword problem introduced 20-Aug

28-Aug-2013: AD2XY, PUTAST - Fix bugs introduced 30-Jul-2013

..............Library now assumes IDL V6.4 or later. Look at /old for older versions

23-Aug-2013: READFITS() - Fix bug when skipping extensions with > 2GB

20-Aug-2013: APER - Don't ever modify input SKYRAD parameter

..............SELECT_W - Use CW_BGROUP instead of obsolete XMENU, implement comments parameter as ToolTips

..............DBOPEN - Use tooltips when called without any parameters

7-Aug-2013: UNZOOM_XY - Fix algorithm for non-zero zoom values

30-Jul-2013: Major upgrade to world coordinate procedures including adding HealPix "butterfly" (XPH) projection, using the "Version 2" astrometry structure with 11 new tags, and stricter adherence to the WCS standard AD2XY, ADXY, EXTAST, MAKE_ASTR, PUTAST, WCS_GETPOLE, WCS_ROTATE, WCSSPH2XY, WCSXY2SPH, XY2AD, XYAD

.............WCS_CHECK_CTYPE - New procedure to check that a pair of CTYPE parameters conform to WCS format.

18-Jul-2013: DATE_CONV() - Now has a /BAD_DATE output keyword

17-Jul-2013: EXTAST - Major rewrite to add AXES, REVERSE, COORD_SYS, PROJECTION,, RADECSYS, EQUINOX, DATEOBS, MJDOBS, PV1, and X0Y0 tags to the structure.

..............SKY - Fixed occasional out of bounds problem when /NAN set.

10-Jul-2013: WRITEFITS - 28 June bug fix introduced error when CHECKSUM is set and NAXIS = 0

01-Jul-2013: SELECT_W - Added Columns, y_scroll_size keyword inputs,

28-Jun-2013: WRITEFITS - Fixed bug when using /CHECKSUM with unsigned integers

11-Jun-2013: RDPLOT - Added /CURSOR_STANDARD keyword, fix occasional crashes

23-May-2013: EQ2HOR - Fix problem with scalar JD and vector RA,Dec

22-May-2013: CO_NUTATE, CO_ABERRATION - Fix problems when JD is a 1-element vector and RA,Dec have 2 or more values

17-May-2013: WCSSPH2XY, WCSXY2SPH Allow GPL as a synonym for SFL projection

1-May-2013: Text file idl_stsdas.tex moved to /obsolete since the Library no longer supports STSDAS tables.

19-Apr-2013: RESISTANT_MEAN - Allow a row/column to be all NaN values

110-Apr-2013: RESISTANT_MEAN - fix problem when NaN values present

.............PLOTHIST - Fix problems when /XLOG is set

1-Apr-2013: EXTAST - Work with PARITEL headers with extra quotes

26-Mar-2013: PARTVELVEC - Now work NaN values in input array.

8-Mar-2013: MRDFITS() - Fix problem when ther FITS columns differ only in having a different case.

6-Mar-2013: AL_LEGEND - Can now use embedded symbols in items string array

26-Feb-2013: WEBGET() -- Allow http_proxy to be upper or lower case

21-Feb-2013: MRDFITS() - Fix problem introduced Nov 2010 when using /FSCALE

15-Feb-2013: SUNSYMBOL() - Use DejaVuSans true-type font for V8.2 or later

14-Feb-2013; OPLOTERROR - Work with a Coyote resizeable window

30-Jan-2013: ARCBAR - Fix problem when using /DATA coordinates and not in postscript.

28-Jan-2013: PUTAST - Spurious error message introduced April 2012 when CD matrix supplied.

15-Jan-2013: Coyote library procedures are no longer included in the Astron library .tar or .zip files and must be downloaded separately from Alternatively, one can download coyote_astron.tar.gz which contains the subset of the Coyote library routines needed by the Astronomy library.

11-Jan-2013: FITS_INFO - Fill EXTNAME even when /SILENT is set

3-Jan-2013: DBCIRCLE() - Fix occasional problem when crossing 0h

13-Dec-2012: AL_LEGEND - Fixed bug when linsize, /right called simultaneously

29-Nov-2012: RHOTHETA() - Calculate separation and position angle of a binary star given its orbital elements

26-Nov-2012: AL_LEGENDTEST - Renamed from LEGENDTEST

02-Nov-2012: PUTAST - Don't warn about missing reverse SIP coefficients when forward transformation has order 0

01-Nov-2012: READFITS() - Fixed check that header begins with 'SIMPLE'

Removed because its name conflicts with IDL 8.0 intrinsic function. Use AL_LEGEND instead.

25-Oct-2012: OPLOTERROR - Fixed problem when overplotting a single point.

24-Oct-2012: DBCREATE - Fix occasional problem where item descriptions overlap.

22-Oct-2012: HREBIN, HCONGRID - Allow new CRPIX* values to be double precision

17-Oct-2012: TICLABELS - Bug fixed where degrees (not just hours) would be forced to be between 0 and 24.

12-Oct-2012: MWRFITS - Bug fixed to set location of column header comments.

.............SXADDHIST - Bug fix when finding location to insert a comment

**Procedures in /sdas_table have been moved to the /obsolete directory **

10-Oct-2012: MRDFITS() - Better error checking for FPack compressed files

02-Oct-2012: FITS_OPEN - work with gzip'ed files even if gzip is not available

21-Sep-2012: FITS_INFO - Increase maximum number of file extensions from 400 to 2000.

05-Sep-2012: ADSTRING() - can now convert longitudes >99.99 to sexagesimal

24-Aug-2012: EQ2HOR - use STRICT_EXTRA to flag spurious keywords

.............CO_ABERRATION -fixed case when both the Julian Date and RA,Dec are vectors

09-Aug-2012: MWRFITS - Better documentation, error checking for logical columns

07-Aug-2012: AL_LEGEND - A symbol can now be specified by its cgSYMBOL name

30-Jul-2012: PERMUTE() - Moved from /contrib to the main library

19-Jul-2012: WRITEFITS - Now writes a dummy primary header if user supplies an extension table header.

16-Jul-2012: RESISTANT_MEAN - Use of Dimension keyword yielded transpose of correct value.

.............READCOL- Correctly handle blanks without a conversion error

20-Jun-2012: QUERYVIZIER() - Better handling of case when more than one catalog returned

29-May-2012: WCSSPH2XY, WCSXY2SPH -- Added HealCart projection

25-May-2012: EXTAST - Recognize obsolete keywords PC001002, CD001002

.............HISTOGAUSS - Better formatting of text output

03-May-2012:MRD_STRUCT - Added more capabilities in /No_execute mode

02-May-2012: HELIO_RV() - Change convergence test from relative to absolute precision on E

30-Apr-2012: SXPAR(), FXPAR() - Fixed problem extracting keywordN when N=0

17-Apr-2012: FXBREADM, FXBWRITM - Now use long64 to support files > 2GB

12-Apr-2012: TVBOX - Added /SQUARE keyword to keep box square even when X and Y plotting scales differ.

04-Apr-2012: PUTAST - Now adds SIP distortion parameters if present

25-Mar-2012: TVELLIPSE - Now has /FILL keyword to draw filled ellipses

21-Mar-2012: MULTIPLOT - Default to use a white background color

20-Mar-2012: TVCIRCLE, TVELLIPSE, TVBOX - Added /DEVICE keyword, fix 04-Jan-2012 change.

07-Mar-2012: TICLABELS - Fix problem when a label falls at exactly 0 degrees

07-Feb-2012: MODFITS - now works with a 1 element structure

01-Feb-2012: AL_LEGEND - Fix problems with use with a CG window, and setting a background color

31-Jan-2012: DELVARX - No longer uses EXECUTE, always frees memory

12-Jan-2012: MRD_HREAD - Now has a /NO_BADHEADER keyword to abort if any bad characters are found in the FITS header.

05-Jan-2012: PLOTERROR, OPLOTERROR - Speed improvement by calling PLOTS rather than CGPLOTS internally.

04-Jan-2012: TVCIRCLE, TVBOX, TVELLIPSE - Default to data coordinates if !X.CRANGE is set (i.e. plot system defined)

............WEBGET() - Timeout now defaults to 15 seconds and applies to both reading and connecting from the socket

............REM_DUP() - Call BSORT() to ensure original orded maintained for equal values

03-Jan-2012: TABINV - Faster test for monotinicity, allow double precision output

02-Jan-2012: ZBRENT - Can now pass parameters to user function via _EXTRA

20-Dec-2011: DBPRINT - Fix problem when displaying linked databases

15-Dec-2011: WEBGET() - Work for web sites with out a MIME type

14-Dec-2011: AL_LEGEND - Removed call to SYMCAT to avoid symbol problems

10-Dec-2011: LINMIX_ERR - Fix bug when updating MU with Metropolis-Hastings

08-Dec-2011: MMM, APER -- Now have a MINSKY keyword

..............PLOTHIST - Plot Keywords now work properly with /ROTATE

03-Dec-2011: AL_LEGEND - Fixed typo that kept BTHICK keyword from working

25-Nov-2011: EXTAST - Give warning if reverse SIP coefficients not supplied

23-Nov-2011: GLACTC_PM - Correct occasional sign error in galactic longitude

02-Oct-2011: QUERYSIMBAD - Display coordinates if /PRINT set, or only one parameter supplied.

22-Sep-2011: GET_EQUINOX - Added ALT keyword, support RADESYS keyword

15-Sep-2011: DBOPEN, DB_ENT2EXT, DB_ENT2HOST - Fix Nov 2010 bug that affects external databases

25-Aug-2011: GETROT - Fix problem when X and Y rotations have opposite signs

.............STARAST - Check for singular matrix (collinear star positions)

19-Aug-2011: PUTAST - Don't add PV2 value to FITS header for WCS types (e.g. 'TAN') for which it is not defined

07-Aug-2011: MAKE_ASTR - Fixed bug introduced October 2010 for setting default plate scale. Affected use of STARAST.

04-Aug-2011: PLOTHIST - Explictly set XSTYLE,YSTYLE to avoid confusion when _EXTRA keywords are used by both PLOTS and PLOT.

20-Jul-2011: LEGEND - Replace SIZE with CHARSIZE keyword in calls to XYOUTS for GDL compatibility

9-Jul-2011: TVBOX - Now has /FILL keyword

25-Jun-2011:AL_LEGEND - Erroneous call to CGQUERY instead of CGCONTROL

01-Jun-2011: HROTATE - Work even if no astrometry present, just update NAXIS*

31-May-2011: SXADDPAR - Fix problem saving comment when slashes present

16-May-2011: AL_LEGEND - Fixed problem when using resizable graphics window

09-May-2011: AL_LEGEND - Added LINSIZE keyword to control size of line

02-May-2011: MODFITS - Don't try to update CHECKSUM keywords when a structure supplied

............ MRDFITS - Use better defaults for null values for FITS ASCII tables

23-Apr-2011: FORPRINT - Comments can now be a vector (one per line)

17-Apr-2011: HELIO_RV() - Allow any consistent time system, not just HJD

07-Apr-2011: QUERYVIZIER()- Ignore vector tags, (such as SEDs recently added to the 2Mass catalog)

06-Apr-2011: OPLOTERROR - "Hats" were not being plotted

05-Apr-2011: FILTER_IMAGE() - Keep double precision datatype if using /ALL_PIXELS

28-Mar-2011: MRDFITS() - Fix bug with ROWS keyword introduced Nov 2010

17-mar-2011 AIRTOVAC - now iterates for even better precision

14-Mar-2011: AIRTOVAC, VACTOAIR - Use more accurate formula, added optional output keyword

13-Mar-2011: SRCOR - Fixed problem when sources separated by more than 180 degrees and no critical radius set.

07-Mar-2011: GETTOK() - Added /NOTRIM to leave input string unaltered


25-Feb-2011: KSONE, KUIPERONE, KUIPERTWO, AUTOHIST, HISTOGAUSS - now use Coyote Graphics


............AL_LEGEND - Added BACKGROUND_COLOR keyword

14-Feb-2011: READCOL - Added COMPRESS keyword to read gzip'ed text files

10-Feb-2011: DB_ITEM - Ignore any blank lines in the .items file

.............REMOVE - Fix occasional integer overflow problem

02-Feb-2011: READFITS() - First header not necessarily primary header if unit rather than filename supplied

24-Jan-2010: READCOL - Now accepts full FORTRAN format values (e.g. F4.1)

21-Jan-2010: GAL_UVW - Updated to a more recent local standard of rest vector

11-Jan-2010: MRDFITS() - fixed use of /FSCALE from bug introduced 11-Nov-2010

23-Dec-2010: MRDFITS() = Fix reading of complex valued data in variable length binary tables

18-Dec-2010: DBOPEN - Fixed bug opening multiple databases

/fanning directory renamed to /coyote

06-Dec-2010: FITS_READ, FITS_OPEN - Now support Fpack compressed FITS files ( )

05-Dec-2010: GET_PIPE_FILESIZE - Determine the number of bytes in a unit opened as a pipe with SPAWN

20-Nov-2010: TEXTOPEN, FORPRINT - Now have a /WIDTH keyword to pass to OPENW (and avoid possible problems with 80 character wraparound)

18-Nov-2010: MWRFITS - Fix problem with longword overflow, update to V6.0 notation

11-Nov-2010: MRDFITS() - Fixed problem with unsigned integers, update to V6.0 notation

28-Oct-2010: PLOTHIST - Added FTHICK keyword to control thickness of lines used in POLYFILL

14-Oct-2010: DBSEARCH, FITS_OPEN - Use compound operators, slightly faster

.............MAKE_ASTR - Default plate scale is now 1"/pixel (not 1 deg/pix)

13-Oct-2010: Database routines now support databases with entry lengths larger than 32767 bytes. This requires some changes in the internal database formating but these changes should be transparent to the user. Modified routines are DBCREATE, DBEXT_DBF, DBFIND(), DB_INFO(), DB_ITEM, DB_ITEM_INFO(), DBOPEN

.............DBWRT - Faster byte swapping

11-Oct-2010: AL_LEGEND - Now has BTHICK keyword to control legend box thickness

04-Oct-2010 COSMO_PARAM - Better error checking.

08-Sep-2010:READCOL - Now has /QUICK keyword for faster (but less flexible) reading

.............KSTWO - Fix 32 bit overflow problem when computing N_eff for very large integers

19-Aug-2010: CNTRD - Fix bug that would return NaN values rather than -1,-1 when centroiding failed

..............GCNTRD - Gaussian smooth image prior to finding maximum pixel (unless /KEEPCENTER is set )

..............DB_ENT2HOST - Fix bug with multidimensional strings

18-Aug-2010: DBPRINT - Fix display of multidimensional data

............. AL_LEGEND - Duplicate of that avoids name conflict with new IDL 8.0 LEGEND() function.

17-Aug-2010: MRDFITS() - Fix bug with /EMPTYSTRING keyword and multidimensional strings

DB_ENT2EXT - Fix bug with multidimensional strings

8-Aug-2010: READFITS() - Fix possible problem when startrow=0 supplied

3-Aug-2010: READFITS() - Faster access to FPACK decompression

MRD_STRUCT - Serious bug introduced 16-Jul fixed. Could have caused MRDFITS() to fail if short integers present.

30-Jul-2010: GETPRO - Test for .sav file, more robust test for write privilege

24-Jul-2010: READCOL - Free memory used by internal pointers

.............DBBUILD - Fix for when first parameter is multi-valued

16-Jul-2010: LEGEND - Make a box with sharper edges

14-Jul-2010: WFPC2_READ - Fix header when only reading PC chip in MEF format

12-Jul-2010: QUERYGSC - fix case for dec between -1 and 0

11-Jul-2010: QUERYSIMBAD - Added /SILENT keyword

08-Jul-2010: FXPOSIT() - Prompt for file name if supplied as an empty string (same effect for MRDFITS(), HEADFITS() )

02-Jul-2010: DBCIRCLE() - Fields RA_OBJ (degrees) now works correctly

24-Jun-2010: ROBUST_SIGMA() - Correctly handle data with NaN values

20-Jun-2010: FXREAD - Update BLANK keyword when applying BSCALE/BZERO

03-Jun-2010: READFITS() - Use short-circuit operators, correct treatment of BLANK keyword, use dialog_pickfile when filename supplied as an empty string.

24-May-2010: WCS_GETPOLE - Make native pole calculaions consistently in radians

.............READFMT - Recognize 'G' format, use SKIP_LUN

.............DBBUILD - Avoid spurious warning message about # of elements

09-May-2010: FXBFIND - Fix potentially serious bug introduced April 2010

.............DBFIND_SORT - Fixed occasional out of bounds error

06-May-2010: WFPC2_READ - Can now read multi-extension FITS format

04-May-2010: MATCH - Added EPSILON keyword to get matches within tolerance.

09-Apr-2010: FXBREADM - Add support for columns with TNULLn keywords

07-Apr-2010: DBCREATE - Remove spurious warning that database name is too long

06-Apr-2010: FXBTORM, FXBHELP, FXBFIND, FXBPARSE - Stop using obsolete !ERR system variable (and maintain GDL compatibility)

06-Apr-2010: READCOL - Graceful return even if no valid lines present

05-Apr-2010: FXBCREATE - Fixed rare truncation of FITS header when updating THEAP keyword

02-Apr-2010: FTAB_PRINT, TBPRINT - Can now print in 'table' format (1 row per line by setting the column parameter to '*'; also added a NUM_HEADER_LINES keyword.

28-Mar-2010: FXBADDCOL - Do *not* force TTYPE* keyword to upper case

23-Mar-2010: Now have a /fanning directory containing procedures from David Fanning's library ( used with Astron procedures. Currently contains

..............SETDEFAULTVALUE - Set default value for positional & keyword argument

...............SYMCAT() - a direct graphics symbol catalog

22-Mar-2010: CONVOLVE - Add /No_PAD keyword for better speed and less memory usage when edge effects are not important

11-Mar-2010: QUERYVIZIER - Avoid error if output columns but not data returned

10-Mar-2010: MRDFITS() - Fix COLUMN keyword to work as advertised

06-Mar-2010: REMOVE - Can now remove elements from up to 25 vectors

25-Feb-2010: READCOL - Now recognizs LL, UL, and ULL data types

.............STRNUMBER() - Now has a /L64 keyword

18-Feb-2010: SXPAR() , .FXPAR() - Fix problem with extracting very large negative integers.

.............QUERYGSC() - Handle updated server format which now also returns infrared photometry

17-Feb-2010: READ_FMR() - Read a journal (ApJ, AJ) machine-readable table into IDL

09-Feb-2010: CO_REFRACT() - Allow more than 32767 elements

02-Feb-2010: REPSTR() - Test for empty input string (could cause infinite loop)

01-Jan-2010: VALID_NUM() -- Corrected bug that would treat '124.' as invalid

31-Dec-2009: SRCOR - Return as soon as no matches are found

17-Dec-2009: SRCOR - Fix RA search to account for cos(Dec)

............RESISTANT_MEAN - Now has DIMENSION keyword to take mean over 1 dimension, more consistent double precision

11-Dec-2009: DBCREATE - Warn if record length exceeds 32767 bytes

............FXBREAD - Fix use of DIMENSION keyword

29-Nov-2009: MWRFITS - Fix /USE_COLNUM for binary tables

.............. DBFIND_SORT - Fixed 01-Nov update to not use VALUE_LOCATE on single value

25-Nov-2009: READCOL - Use pointers to improve speed and avoid bug with using SCOPE_VARFETCH() in IDL 7.1 workbench.

..............MULTIPLOT - Reinitialize common block if M[X/Y]TITLE set

03-Nov-2009: LEGEND - PSYM values between 11 and 46 will now use the plotting symbols defined in David Fanning's SYMCAT() function

01-Nov-2009: DBINDEX, DBFIND_SORT -- Now allow string items to be sorted

30-Oct-2009: READFITS() - Ignore degenerate trailing dimensions with NSLICE keyword

29-Oct-2009: CONVOLVE - Pad images prior to FFT to avoid edge effects

23-Oct-2009: GLACTC_PM - Convert between celestial and Galactic (or Supergalactic) proper motion

19-Oct-2009: FITS_READ - Make sure FIRST is long64 for very large files

30-Sep-2009: FXADDPAR - Now has /NOLOGICAL keyword to *not* interpret 'T' and 'F' as logical values

.............MWRFITS - Allow TTYPE values of 'T' and 'F'

16-Sep-2009: TAG_EXIST() - June 2009 update wasn't setting INDEX keyword

20-Aug-2009: READCOL - Now allows up to 40 output parameters

..............FTAB_EXT - Now allows up to 30 output parameters

14-Aug-2009: HPRECESS, PRECESS_CD - Use J/Bprecess for conversion between J2000 and B1950

11-Aug-2009: FITS_ADD_CHECKSUM - Make sure FITS header has 80 characters/line

10-Aug-2009: FDECOMP - Removed MacOS section (since it is same as Unix)

.............BLKSHIFT - MacoS *can* move beyond EOF with POINT_LUN

31-Jul-2009: MRDFITS - Added /EMPTRYSTRING keyword to bypass IDL memory bug when reading empty strings

31-Jul-2009: DBFIND - Avoid possible "Illegal Operand" error

30-Jul-2009: MRD_STRUCT - restored 131 character limit for execute

22-Jul-2009: READFITS() - Fix error using NUMROW,STARTROW with non-byte data, allow these keywords to be used with primary array

21-Jul-2009: SXPAR() - Faster handling of Long String convention

17-Jul-2009: WHERE_TAG() , CREATE_STRUCT() , TAG_EXIST() , SXDELPAR - cleaner and slightly faster coding

...............Removed NUMLINES() which is superceded since V5.6 by FILE_LINES

16-Jul-2009: Removed N_STRUCT() (now in /obsolete) since it is rinky-dink (and to recapture the namespace)

15-Jul-2009: TABINV - use ARRAY_EQUAL for speed, always internal double precision

14-Jul-2009: FXPOSIT , MRDFITS() - More complete handling of FPACK compressed files, including automatic detection of FPACK compression.

11-Jul-2009: KSONE - work for functions that do not accept keywords

03-Jul-2009: RDFITS_STRUCT - Added EXTEN keyword to only read specified extensions

...............MRD_HREAD - Now has a /SKIPDATA to position at end of HDU

03-Jul-2009: Library now requires IDL V6.1 or later

IDL_VALIDNAME - removed because it is an intrinsic function since V6.0

............. RDFITS_STRUCT - Added EXTEN keyword to only read specified extensions

............. DBSEARCH() - Faster search for large databases

............. ADSTRING() - Use new formatting for "+" and "-"

............. CHECKSUM32 - Use TOTAL(/INTEGER) for faster performance

............. DBBUILD - Eliminate use of EXECUTE() and use SCOPE_VARFETCH(), accept up to 50 input variables

. ............. MRD_STRUCT - Assume lmgr() function available, remove 131 char limit on an EXECUTE() string

02-Jul-2009: WCSSPH2XY - Check for valid range of nonlinear polynomial in a ZPN projection.

01-Jul-2009: MRDFITS() - Fixed bug introduced March 2009 when using file unit (the Unixpipe variable was undefined)

29-Jun-2009: MWRFITS - trim alias, implement logical TFORM 'L', don't add space after TFORM key

28-Jun-2009: DBCREATE - Remove calls to IEEE_TO_HOST

23-Jun-2009: LINMIX_ERR - Fixed bug so the iteration count reset after the burnin stage when /SILENT

17-Jun-2009: MRDFITS() - Fixed typo giving an error with /FSCALE introduced April 2009

............. HOR2EQ - Fixed case of scalar Julian date but vector positions

............. CO_ABERRATION - Fix error with vector input

............. SRCOR - Fix case when no matches found with /SPHERICAL

9-Jun-2009: MODFITS -- allow input data to be an (MRDFITS) structure

27-May-2009: FXPOSIT(), READFITS, MRDFITS, HEADFITS() - can now read FITS files compressed with FPACK (which must be first installed).

15-May-2009: CREATE_STRUCT - Now puts "compile_opt hidden" in temporary .pro file to suppress error messages

05-May-2009: CHECKSUM32 - Skip byteswapping for float or longword data

30-Apr-2009: DBCIRCLE() - Fix problem when RA range exceeds 24h

10-Apr-2009: MWRFITS - Small efficiency update when writing ASCII tables

03-Apr-2009: MRDFITS() - Small efficiency updates in MRD_SCALE

01-Apr-2009: PLOTERROR , OPLOTERROR - Fixed problem when axes are both logarithmic and reversed

19-Mar-2009: TAG_EXIST() - Added a dummy /RECURSE keyword for compatibility with the Solarsoft version

16-Mar-2009: FXPOSIT() - Now opens files with the /SWAP_IF_LITTLE_ENDIAN keyword for byteswapping on the fly.

.............MRDFITS() - Use new FXPOSIT() for much faster byteswapping. **The new MRDFITS() must be used with the new **

13-Mar-2009: GCIRC - Now uses haversine formula for less roundoff error at the milliarcsecond level

.............SRCOR - Now much faster when using spherical coordinates. Added /SILENT keyword

09-Mar-2009: IMDBASE - Addded /SILENT keyword

24-Feb-2009: WEBGET() - Now has TIMEOUT keyword (defaulting to 30s)

21-Feb-2009: GETROT - Account for rotation introduced by nondefault value of LONGPOLE

..............SKY - Avoid possible out of bounds if /NAN set

20-Feb-2009: EXTAST - Fix typo for AZP projection, nonzero longpole If duplicate WCS keywords, then use the *last* values

...............DBOPEN - Fix typos in keywords passed to BYTEORDER

10-Feb-2009: FXBADDCOL, FXBWRITM - Now work with unsigned integers

.............FXADDPAR - Increase formatting precision for double precision

RXTE Software in contrib/rxte directory updated to Version 1.2

06-Feb-2009: TEN(), TENV() - Now accept string inputs

02-Feb-2009: READCOL - Now has SKIPSTART keyword to skip lines beginning with a specified string

22-Jan-2009: ROBUST_POLY_FIT() - Added /DOUBLE keyword, removed obsolete call to POLYFITW

..............HELIO - Work for more than 32767 positions

21-Jan-2009: PLOTHIST - Now has a /ROTATE keyword to switch X and Y axis (put the plot on its side).

18-Jan-2009: WEBGET(), QUERYVIZIER() - Added /SILENT keyword

13-Jan-2009: ASTROLIB - Removed !DEBUG definition (no longer used)

12-Jan-2009: SCREEN_SELECT, SELECT_O, SCR_*.PRO moved to /obsolete directory (i.e. widgets are now assumed to be always available).

09-Jan-2009: MWRFITS - Now has output STATUS keyword to indicate success/failure

.............JPLEPHINTERP - Now allows base time TBASE to be scalar or vector

22-Dec-2008: KSTWO - Fix bug when maximum difference occurs at the end of the array

19-Dec-2008: DBCIRCLE() - Added /GALACTIC input keyword and COUNT output keyword

12-Dec-2008: GAL_UVW - Now 10 times faster for large arrays

26-Nov-2008: JPLEPHINTERP - More input checking, SSB and EMB aliases for solar system and earth-moon barycenter

25-Nov-2008: QUERYSIMBAD - Remove CADC keyword, add CFA keyword, update address of Sesame server

11-Nov-2008 FIND - Now has /MONITOR keyword to control whether to display each individual star

.............READCO L - Now has NLINES output keyword

29-Sep-2008: EULER - Now has /RADIAN keyword

06-Sep-2008 FITS_WRITE - Delete BSCALE/BZERO before writing file

..............PLOTHIST - Check whether all values are NaN

28-Aug-2008: IMCONTOUR - Work when RA crosses 0 hours

............ TICLABELS - Use 0h labeling instead of 24h

19-Aug-2008: ADSTRING() - Fix roundoff error when -1 < dec < 0 , add PRECISION keyword

15-Aug-2008: READCOL - COUNT output keyword added giving number of valid lines

.............EXTAST - Now use the *last* values if duplicate astrometry keywords are present in the FITS header

08-Aug-2008: MRDFITS() - Added OUTALIAS keyword, use vector form of VALID_NUM()

07-Aug-2008: VALID_NUM() - Major rewrite to use STREGEX, accept vector input

.............SXPAR() - Use vectorized form of VALID_NUM

05-Aug-2008 QUERYVIZIER() - Use STRCOMRPESS2 for more robust searches using Constraint string

04-Aug-2008: STRCOMPRESS2() - Remove blanks around specified chars in a string

01-Aug-2008: DBCREATE - Fix bug introduced May 2008 when not in ZDBASE dir

.............DBGET() - Fix possible bug when sublist supplied

30-Jul-2008: MODFITS - Now has EXTNAME input keyword

.............JDCNV - Now checks for valid day, month ranges

.............CT2LST - Change sign of time zone parameter to match standard Positive East of Greenwich (ahead of GMT).

.............QUERYVIZIER() - Allow for possible lower-case returned formats

19-Jul-2008: OBSERVATORY - Fix error message for unknown observatory

.............MODFITS - Fix bug when adding CHECKSUM changed header size

.............FITS_ADD_CHECKSUM - Don't update DATASUM if not already present and no data array supplied.

.............RXTE Software in contrib/rxte directory updated to Version 1.1

27-Jun-2008: EULER - Use less virtual memory for large arrays

24-Jun-2008: MRDFITS() - More informative error message when EOF encountered.

18-Jun-2008: GAL_UVW - Fix overflow for >32767 elements and update Sun velocity

12-Jun-2008: FITS_ADD_CHECKSUM - Fix error when CHECKSUM is an empty string

07-Jun-2008: QUERYVIZIER - Now recognize 'D' format specification

13-May-2008: FITS_ADD_CHECKSUM - Fix problem with images with multiples of 2880 bytes.

10-May-2008: READFITS() - Now always reset BSCALE/BZERO after applying even for unsigned integers

03-Apr-2008: HEXTRACT - Added ALT keyword to specify alternate astrometry

.............UPDATE_DISTORT - Update SIP nonlinear transformation astrometry

coefficient for a linear transformation 27-Mar-2008: SIZE_STRUCT() - Moved to /obsolete directory becuase it is superceded by LENGTH and DATA_LENGTH keywords to N_TAGS

21-Mar-2008: FIND - Now computes centroids using marginal Gaussian fits

.............GCNTRD - Modified centroid algorithm to match IRAF/DAOFIND & allow shifts of more than 1 pixel from initial guess.

19-Mar=2008: FXBREADM, FXBWRITM - Read/write 64 bit integer columns

18-Mar-2008: FITS_INFO, FXBOPEN, FXBPARSE, FXFINDEND, FXBFINDLUN - Update integers to LONG64 to deal with very large files.

.............HREBIN, HCONGRID - Don't update BSCALE/BZERO for unsigned integer

13-Mar-2008: APER - Allow output of negative fluxes (if /FLUX is set)

10-Mar-2008: READFITS() - Avoid 32bit overflow when using NSLICE keyword

03-Mar-2008: QUERYVIZIER - Update Strasbourg Web address to work correctly

01-Mar-2008: DBCREATE - No longer requires user to be on a ZDBASE directory

..............FIND - /SILENT now suppresses *all* output

18-Feb-2008: WRITEFITS - EXTEND keyword is no longer required in the primary header of a FITS file with extensions as in proposed new FITS guideline

14-Feb-2008: RESISTANT_MEAN - Use double precision internally

.............IMCONTOUR - Make use of the OVERLAY keyword always optional

29-Jan-2008: SKY - Avoid possible out of bounds if /NaN set.

17-Jan-2008: CONS_RA() - Ensure that returned declination is between -90 and 90

..............IMCONTOUR - Added OVERLAY keyword to ensure accuracy ot 1 pixels when overlaying an image. Use FORMAT_AXIS_VALUES()

.............New /contrib/rxte directory contains "IDL Extractor" programs to extract light curves, spectra and power spectra from RXTE data (and also Swift and Chandra data).

14-Jan-2008: FXWRITE - Now has /APPEND keyword to append to existing FITS files

.............FXHMAKE - Now has /XTENSION keyword to specify header is for an image extension.

..............FXBWRITM - Now allows output table to have TSCAL/TZERO keyword values, unless new /NOSCALE keyword is set

..............FXBREADM - Now recognizes unsigned integer scalings, and scalings can be either float or double precision.

08-Jan-2008: ADD_DISTORT -- Add a SIP distortion astrometry structure into a FITS header

..............HREBIN, HCONGRID - will now update SIP distortion coefficients when expanding or compressing an image

..............MMM - make sure that program never aborts but returns gracefully

24-Dec-2007 TRANSFORM_COEFF - Compute new polynomial coefficients under a linear transformation

19-Dec-2007: FITS_INFO - Now has out keyword EXTNAME to return extension names

..............QUERYGSC() - Updated Webserver name (sigh)

13-Dec-2007: MODFITS - Ensure that supplied header contains 80 byte lines

11-Dec-2007: WEBGET(), QUERYVIZIER(), CREATE_STRUCT() - Use vector form of IDL_VALIDNAME if IDL V6.4 or later

4-Dec-2007: FXMOVE() - Fix data size calculation for very large files

FXPOSIT() - Added LUNIT keyword for user-supplied unit number

2-Dec-2007; QUERYGSC() - major rewrite to use new STScI server & GSC 2.3.2

.............QUERYUSNO() (to query USNO-A2 catalog) has been removed since the newer USNO-B1 catalog can be queried with QUERYIVIZIER, e.g. IDL> info = queryvizier('usno-b1','m13',5)


..............PRODUCT() - removed since intrinsic PRODUCT() is in V5.6

..............PLOTHIST - Added AXISCOLOR keyword, fix color problem when overplotting

20-Nov-2007: ABSCAL() - Moved to /obsolete directory

14-Nov-2007: FXFINDEND, FXMOVE, FXBOPEN, FXREAD, FXWRITE, FXHMODIFY - Now account for possibility 64bit integers needed for # of bytes.

13-Nov-2007: CORREL_IMAGES - Always REBIN() using floating pt. arithmetic

27-Oct-2007: WCSXY2SPH , WCSSPH2XY - Now supports the HEALPIX projection

12-Oct-2007: WRITEFITS - By default, update CHECKSUM keywords if already present

26-Sep-2007: FIND - Fix error message when no local maxima found

13-Sep-2007: HOR2EQ - Avoid integer overflow for more than 32767 points

31-Aug-2007: MODFITS - Fix problem when data size must be extended

..............MULTIPLOT - Added /SQUARE keyword, overall (x)(y)title keyword. Can now control gaps between plots and overall tick format.

22-Aug-2007: MRDFITS() - Fix problem when both /FSCALE and /UNSIGNED set

8-Aug-2007: READFITS() - Fix bug introduced Mar 2006 in applying Bzero

6-Aug-2007: MATCH2 - New procedure to find every matching element in 2 arrays

3-Aug-2007: LEGEND - 13-Jul update introduced a bug for /NORMAL coords

.............FXADDPAR - Bug fix for long string convention

.............OBSERVATORY - Added info for Mount Graham observatory

.............WCSSPH2XY , WCSXY2SPH - Correct treatment of PVi_j parameters

13-Jul-2007: WEBGET() - Partially upgrade to support HTTP 1.1

.............LEGEND - Don't modify position keyword

.............DATE_CONV() - Add Julian date capabilities

06-Jul-2007: HPRECESS - Fix for case where CROTA2 is in the FITS header

.............PUTAST - Allow PC matrix to updated when CD matrix is supplied

02-Jul-2007: QUERYSIMBAD - Update for parsing new /NED format

24-Jun-2007: WEBGET() - Now has a POST keyword for POST rather than GET queries

22-Jun-2007: FITS_READ - Added /PDU keyword to always inherit primary header even if INHERIT=T is not present (pre-April 2007 behavior)

.............MRDFITS() - Fix for variable length arrays when used with the virtual machine.

29-May-2007: LINMIX_ERR, MLINMIX_ERR - Improved Bayesian prior for more reliable results

25-May-2007: CHECK_FITS - Work again for a null array

17-May-2007: New procedures supplied by Brandon Kelly (Steward U.)

........LINMIX_ERR : Bayesian approach to linear regression with errors in both X and Y

........MLINMIX_ERR : Bayesian approach to multiple linear regression with errors in both X and Y

........MRANDOMN : Generate random vectors from a multivariate normal density.

........MULTINOM : Genereate random vectors from a multinomial distribution.

........RANDOMCHI : Generate random numbers from a chi-square density.

........RANDOMDIR : Generate random vectors from a Dirichlet density.

........RANDOMGAM : Generate random numbers from a gamma distribution.

........RANDOMWISH : Generate random matrices from a Wishart density.

15-May-2007: FITS_READ, READFITS(), WRITEFITS - Set data variable to LONG64 for handling very large files

08-May-2007: MEDARR - Added /DOUBLE keyword to force double precision

07-May-2007: PSF_GAUSSIAN() - Do not modify NPIXEL input keyword

24-Apr-2007: REM_DUP() - Use faster algorithm when flag parameter not given

............ FORPRINT - Fix error message when variable is undefined

23-Apr-2007: FXADDPAR - Now has an ERRMSG output keyword to capture error messages.

14-Apr-2007: FITS_OPEN - Warn user that compressed files cannot be updated

13-Apr-2007: WEBGET - Friendlier error recovery

12-Apr-2007: FITS_READ - Don't inherit the primary header unless INHERIT = T

9-Apr-2007: GCIRC - Use internal double precision for U=0 mode as advertised

6-Apr-2007: MRDFITS - Convert ASCII table array output to DOUBLE if needed to preserve precision

28-Mar-2007: HEXTRACT - Work for dimensions larger than 32767

21-Mar-2007: TBINFO - Now has a /NOSCALE keyword to skip TSCAL, TZERO

.............TBPRINT, TBGET() - Avoid pointer leaks due to TBINFO call

..............TBDELCOL - Use /NOSCALE in call to TBINFO

13-Mar-2007: MODFITS - Update the file control block (FCB) structure if the file size changes

09-Mar-2007: AD2XY, XY2AD - Use CRVAL ref. point for non-WCS transformations

08-Mar-2007: DBDELETE - Fix problem when deleting final entry

.............FXMOVE - Use a case-independent search for EXTNAME

06-Mar-2007: QUERYSIMBAD - Update NED query to account for new IPAC format

05-Mar-2007: SKY - Fix problem for very large (>5000 x 5000) images

02-Mar-2007: MWRFITS - fix problem where strings were being right-justified instead of being written exactly as supplied.

21-Feb-2007: TVELLIPSE - Added /MAJOR, /MINOR keywords to add major, minor axes

16-Feb-2007: FTAB_PRINT - Check for empty extension

15-Feb-2007: LIST_WITH_PATH - Restore pre-Sep 2006 behavior of not searching subdirectories

12-Feb-2007: PCA - fix bug in computation of attribute projections

9-Feb-2007: DBMATCH - Fixed bug where /FULLSTRING was always being set

8-Feb-2007: CREATE_STRUCT - Added a descriptor type 'K' for LONG64 data

7-Feb-2007: REMCHAR - Work for string arrays with more than 32767 elements

6-Feb-2007: QUERYSIMBAD - Now use the more reliable Simbad Sesame name server, added /VERBOSE,/CADC keywords

20-Jan-2007: TEXTOPEN - Make sure output keyword MORE_SET is always defined

...............EXTAST - Now includes .NAXIS tag in output astrometry structure

............... PUTAST - New /NAXIS keyword to write .NAXIS values to FITS header

09-Jan-2007: DBPRINT, DBEXT_DBF - Remove use of EXECUTE() statements

03-Jan-2007: READCOL - Now has /PRESERVE_NULL keyword. This was formerly set as the default

28-Dec-2006: DBEXT, WFPC2_READ, FTAB_EXT - Avoid EXECUTE() for V6.1 or later

26-Dec-2006: DBINDEX- Automatically enlarge index (.dbx) file if necessary Fix serious bug introduced 18-Dec

19-Dec-2006: CONVOLVE() - Avoid unnecessary recomputation for double complex

.............TVCIRCLE - Make default integers LONG so largest postscript circles display properly.

18-Dec-2006: DBSORT, DBINDEX - Avoid use of EXECUTE() for V6.1 or later

16-Dec-2006: MRDFITS(), HEADFITS() - Can now specify FITS extension by name (in the EXTNAME keyword)

...............FXMOVE(), FXPOSIT() - Added EXT_NO, ERRMSG keywords

13-Dec-2006: MRD_SKIP - Restored check to avoid POINT_LUN with compressed files

8-Dec-2006: WEBGET - Added case for reading FITS images from FIRST survey

1-Dec-2006: EXTGRP - Restored to Library (needed by WFPC2_READ)

24-Nov-2006:FITEXY - normalize input data before processing

22-Nov-2006: CHECK_FITS - Fix dimension error introduced 14-Nov

20-Nov-2006: RDPLOT - Major upgrade, added BACKGROUND, /ACCUMULATE keywords fixed full cursor display for different setups

15-Nov-2006: EXTAST - Use GSSS astrometry if WCNAME = "DSS" (as in recent DSS images from the STScI server)

14-Nov-2006: CHECK_FITS - Removed support for STSDAS headers

2-Nov-2006: APER - All additional keywords to be passed to MEANCLIP

1-Nov-2006: ONE_RAY, ONE_ARROW - Now accept /DATA and /NORMAL keywords

25-Oct-2006: FITS_READ - Fix bug when using /DATA_ONLY keyword

20-Oct-2006: QUERYVIZIER - Set target='NONE' for an all-sky search, accept '+/-' constraints

17-Oct-2006: TBINFO - treat Logical type as character 'T' or 'F'

13-Oct-2006:GCIRC - Option (U=2) to supply input longitude, latitude in Degrees

3-Oct-2006: TVELLIPSE - Now uses _EXTRA to pass optional keywords to PLOTS

2-Oct-2006: MRD_SKIP - now uses POINT_LUN for compressed files since it is as fast as any other method

............ READFITS() - Now calls MRD_SKIP to select fastest possible method of skipping bytes


25-Sep-2006: Library now requires V5.5 or later. VMS support has been removed from most procedures

The following "stale" procedures have been removed from the Library They can still be obtained from

afhread - Used for mostly obsolete WFPC1 data
astrmfix = Used for mostly obsolete FOC data
conv_stsdas - Mainly for converting between VAX and unix
conv_vax_unix() - Vaxes rarely used
conv_unix_vax - Vaxes rarely used
datatype() - JHUAPL routine
dbcompress - TRUNCATE_ON_CLOSE makes it unnecessary
def_dirlist -- Mainly for VMS
extgrp - mainly for old WFPC1/FOC data
getfiles -- Use dialog_pickfile instead -- mainly for VMS
imgread -- for mostly obsolete WFPC1/FOC data
mid_*.pro -- Midas I/O routines, no evidence that they are used -- mainly for VMS
strd - only worked for small set of (mostly obsolete) GEIS files
stsub, stsubim - only worked for small set of (mostly obsolete) GEIS files
spline_smooth -- Never worked properly
redshift -- 1970's cosmology, from JHUAPL library
sxhedit -- just use a regular editor - mainly for vax/unix conversion
wfpcread -- WFPC1 data rarely used

12-Sep-2006: FITS_OPEN - Support very large files by using 64 bit variables

9-Sep-2006: DBDELETE -Use TRUNCATE_LUN (if V5.6 or later) to compress the .dbf file after deleting entries. DBCOMPRESS moved to obsolete directory.

1-Sep-2006: READCOL , STRNUMBER() now have a /NAN keyword to specify that empty strings should be interpreted as NAN values

30-Aug-2006: STRNUMBER() - An empty string is a valid number (=0.0)

25-Aug-2006: HASTROM - Account for half-pixel shift when using nearest neighbor

23-Aug-2006: FORPRINT - Warn if supplied vectors are not all the same size

11-Aug-2006: TBPRINT - Fixed check for multiple values

08-Aug-2006: MWRFITS - Allow logical columns to be specified as bytes

04-Aug-2006: PLOTHIST - fix possible color problem introduced May 2006

26-Jul-2006: TBINFO - Added ERRMSG keyword, Treat repeat count for strings as specifying string length, not number of elements

25-Jul-2006: FITS_OPEN - FCB.Filename now expands any wildcards

21-Jul-2006: DBFPARSE - Don't convert DATE/TIME to numeric for string items

14-Jul-2006: DBCREATE - New MAXENTRY keyword to override hardcoded #maxentries

12-Jul-2006: QUERYVIZIER - Removed V6.0 notation to restore V5.4 compatibility

06-Jul-2006: MWRFITS - Make 29-Jun-2006 fix work for pre V6.0 versions

29-Jun-2006: MWRFITS - Fix problem introduced May 2006 with multi-dimensional strings

.............MRDFITS - Better error catching for gzip files, fix handling of unsigned integers when BSCALE not present

27-Jun-2006: PLOTHIST - Now supports logarithmic axes (/XLOG, /YLOG)

26-Jun-2006: DBCREATE - Fix problem introduced May 2006 when default integer types were change to LONG

23-Jun-2006: MWRFITS - Use /SWAP_IF_LITTLE_ENDIAN keyword to OPEN for improved speed.

8-Jun-2006: TBPRINT - Use case-insensitive match of column names with TTYPES

7-Jun-2006: FITS_OPEN - Call XDISPSTR if /HPRINT is set on a GUI terminal

............HPRINT - Call XDISPSTR if /HPRINT is set on a GUI terminal

5-Jun-2006: XDISPSTR - Widget display of text with a simple search capability

2-Jun-2006: GETPRO - Now uses FILE_WHICH() function for improved speed

............FINDPRO - Use FILE_SEARCH insteasd of FINDFILE for V5.5 or later

26-May-2006: PLOTHIST - Add /BOXPLOT keyword, use exact XRANGE as default

16-May-2006: FDECOMP - Include final delimiter in directory name under Windows, as advertised

............QUERYVIZIER() - New /ALLCOLUMNS keyword to return all catalog columns. Also, QUERYVIZIER() **now returns an anonymous rather than a named structure**

1-May-2006: DBCREATE - Make sure to use lowercase file names on Unix

............ HROT - Work with a 1 element floating point angle

28-Apr-2006: MRDFITS(), TBGET() - Use faster byteswapping keywords to BYTEORDER

25-Apr-2006: DBEDIT - Now use DIALOG_MESSAGE for error messages

24-Apr-2006: AITOFF_GRID, ARCBAR, HISTOGAUSS, SUNSYMBOL(), TICLABELS - Now have a FONT keyword to specify font (-1, 0 or 1)

............HOST_TO_IEEE, IEEE_TO_HOST - use new keywords to BYTEORDER for improved performance

21-Apr-2006: FITS_WRITE - Fix problem when number of bytes exceeds 32 bit word

.............N_BYTES() - Now returns a long64 integer

.............QUERYVIZIER() - Recognize 'E' format (same as 'F'format)

14-Apr-2006: Library now requires V5.4 or later, v53 directory contains frozen version

............. GET_DATE- Removed LOCAL_DIFF keyword

............. FSTRING() - moved to obsolete directory

............. ADSTRING(), TO_HEX(), FTPUT - removed call to FSTRING()

.............BOXAVE() - allow 64bit integers

............. GETTOK(), MATCH, FM_UNRED - use COMPLEMENT keyword to WHERE

............. HPRINT, FTDELCOL - Use BREAK instead of GOTO

13-Apr-2006: DATE_CONV() - removed RETALL from error messages

............. MMM - Now has NaN keyword to check for not-a-number values

05-Apr-2006: HPRECESS - Fix algorithm when CROTA2 in FITS header

............. XYAD - Include equinox when displaying coordinates

03-Apr-2006: DATE_CONV() - Don't include space in output FITS date

01-Apr-2006: FITS_READ, READFITS() - Do not modify BSCALE/BZERO in FITS header if reading unsigned integers

31-Mar-2006: MODFITS - Make sure last line of input FITS header is END

............. DBPRINT - Fix display on GUI terminals

27-Mar-2006: POLY_SMOOTH() - Add /EDGE_TRUNCATE to CONVOL call

22-Mar-2006: QUERYVIZIER - 22 Feb update was not properly returning the first object found.

17-Mar-2006: FXHMODIFY - Fixed problem when needing to extend size of primary header with a call to BLKSHIFT

14-Mar-2006: DBEDIT - Added /BYTENUM keyword to treat bytes as numbers rather than characters

1-Mar-2006: SIXTY() - Added /TrailSign keyword to always place minus sign on first element, rather than first nonzero element.

28-Feb-2006: CONVOLVE() - Match output precision type to that of input

24-Feb-2006: NUMLINES() -- Handle Unix files with spaces prior to IDL V5.6

23-Feb-2006: FXBADDCOL, FXBTFORM -- Added support for 64 bit integers

.............MWRFITS - Removed warning about 64bit integers now that they are standard FITS (as of December 2005)

22-Feb-2006: QUERYVIZIER - Updated for a change in the VIZIER output

6-Feb-2006: FXPOSIT - Remove leading spaces in filename when FINDFILE used

20-Jan-2006: RESISTANT_MEAN - Fix calculation of SIGMA_MEAN

.............MMM - Fixed error introduced June 2004 removing outliers when READNOISE not set

29-Dec-2005: WCSSPH2XY, WCSXY2SPH - Fixed AIRY projection when centered at 90 degree latitude

21-Dec-2005: CO_REFRACT() - Fix problem with vector input when /TO_OBSERVED set

15-Dec-2005: JPLEPHINTERP - Fix highest order term in velocity computation

05-Dec-2005: TEN(), TENV() - Now recognize -0.0 as a negative value

23-Nov-2005: APER - Added MEANBACK keyword to use sigma-clipped mean instead of calling

.............MMM - Added /SILENT keyword to suppress error messages

17-Nov-2005: TBPRINT - Better display formatting (space between columns)

16-Nov-2005: MEANCLIP - Added /DOUBLE keyword

09-Nov-2005: PRINT_STRUCT - Avoid overflow when displaying more than 10000 elements

27-Oct-2005: SXADDPAR - Work again with empty string input

.............MMM - Fewer aborts for strange sky histograms

15-Sep-2005: LEGEND - Added FONT keyword [-1,0 or 1} to pass to XYOUTS commands.

09-Sep-2005: TBHELP - Fixed bug introduced 31-Aug-2005 to not display TFORM

02-Sep-2005: TVBOX - Don't round coordinates when /DATA is set

31-Aug-2005: FTAB_HELP - Now defaults to display all extensions

.............TBHELP, FTHELP - Slightly more compact display formats

26-Aug-2005: QUERYVIZIER - Make dis (3rd parameter) optional (as advertised)

17-Aug-2005: HEULER - Use double precision to compute new North Pole

21-Jul-2005: FITS_INFO - Now work for FITS files with SIMPLE=F

18-Jul-2005: WCSSPH2XY - Return unprojectable points as NaN values

............PLOTHIST - Added /AUTOBIN keyword to set the number of bins to the square root of the number of samples

05-Jul-2005: READCOL - added "compile_opt idl2" ensure pre-V6.1 compatibility

22-Jun-2005: MRD_STRUCT - Fix problem when both NO_EXECUTE and STRUCTYPE set

.............QUERYVIZIER - Eliminate use of EXECUTE() statement

.............READCOL - Eliminate use of EXECUTE() for V6.1 or later; accept null strings separated by delimiter ,e.g. ',,,'

18-May-2005: SXADDPAR - Fix SAVECOMMENT error with non-string values

17-May-2005: PUTAST - Don't use CROTA2 keyword if skew is present in the input astrometry

.............GETROT - Added ALT keyword

12-May-2005: HREBIN, HCONGRID - Fixed problem in output astrometry if CROTA2 or PC matrix used. Added ALT keyword.

05-May-2005: ADXY - Still work if no WCS coordinates are present

02-May-2005: FXBWRITM - Remove call to EXECUTE() when using POINTERS keyword

25-Apr-2005: KSONE - Allow passing keywords to func_name via _EXTRA facility

20-Apr-2005: TICPOS - Fix cases where tic increment is at degree/minute or minute/arcsec boundary

19-Apr-2005: IMDBASE - Now accepts ALT keyword for alternate astrometry

11-Apr-2005: FXBGROW - Fixed bug in the zeroing of the output file

06-Apr-2005: JPLEPHINTERP - Handle custom-built ephemerides

30-Mar-2005: PARTVELVEC - Now has a VecColors keyword to set arrow colors

08-Mar-2005: FXREAD - Can now be used to read image extensions

25-Feb-2005: READFITS() - Fix problem with unsigned integers introduced Sep 2004

............ HASTROM - Check for distortion parameters in headers, add more FITS HISTORY records

24-Feb-2005: MINMAX() - Work again for versions prior to V5.5

07-Feb-2005: MRDFITS() - Fix problem when /USE_COLNUM is set

03-Feb-2005: MRDFITS() - Fix problem with string variable binary tables, possible math overflow on non-IEEE machines

01-Feb-2005: FITS_HELP - Don't truncate displayed EXTNAME values at 10 chars

31-Jan-2005: BLKSHIFT - Call TRUNCATE_LUN when shifting data forward from the end of the file.

20-Jan-2005: MOONPOS, NUTATE - Avoid possible integer overflow

12-Jan-2005: MRDFITS() - Fixed problem reading zero width arrays in binary tables on non-IEEE (e.g. Linux) machines

10-Jan-2005: MINMAX() - Added SUBSCRIPT_MIN and SUBSCRIPT_MAX output keywords

03-Jan-2005: MWRFITS - Fix writing of empty strings to a binary table

31-Dec-2004: MODFITS - More robust error reporting

16-Dec-2004: MRDFITS() - Propragate /SILENT to MRD_HREAD, more LONG64 casting

.............APER - Fixed bug introduced 11/04 when there are no bad pixels

15-Dec-2004: RDFITS_STRUCT - Don't copy primary header into extension headers

14-Dec-2004: FITS_INFO- Check entire header for EXTNAME keyword

.............SXPAR() - Make sure ABORT parameter always defined

10-Dec-2004: CHECKSUM32 - Sep. 2004 update introduced byte-ordering error for Linux boxes

24-Nov-2004: HROTATE - If GSSS astrometry is present, then convert to standard world coordinate system (WCS) astrometry

22-Nov-2004: WRITEFITS - Fixed problem when CHECKSUM set, and a heap array given

02-Nov-2004: APER - Now has /NAN keyword to signal a check for NaN pixels

29-Oct-2004: MMM - Improved numerical precision

25-Oct-2004: MRDFITS() - Check if extra degenerate NAXISi keywords are present

19-Oct-2004: WRITEFITS - Added ability to write to heap area CURVAL - Now has "ALT" keyword to select alternate astrometry

18-Oct-2004: HPRINT - Fixed 1 line offset on terminal that don't support /MORE

15-Oct-2004: XYAD, XY2AD, AD2XY - Now work for FITS headers with WCS keywords (CRPIX, CRVAL, CDELT) but no astronomical projection.

12-Oct-2004: RDFITS_STRUCT - Now has a /HEADER_ONLY keyword to read all the headers (and no data) in a FITS file

11-Oct-2004: HPRINT, FORPRINT - Do a simple PRINT if IDL in demo mode

01-Oct-2004: UNZOOM_XY, ZOOM_XY, TVLIST, CURVAL - Now compatible with versions in the MOUSSE library (

30-Sep-2004: SXADDHIST - Now has LOCATION keyword to specify location in FITS header to place HISTORY records

.............ADXY - Now has ALT keyword to specify alternate astrometry

27-Sep-2004: FITS_OPEN, FITSDIR, FXPOSIT, READFITS() - Now treat .FTZ extension as gzip compressed

23-Sep-2004: FXWRITE, FXHMAKE - Now recognize unsigned integer datatypes

22-Sep-2004: GETROT - Fix problem checking if latitude is first coordinate.

10-Sep-2004: FIND - Now work for >32767 stars

08-Sep-2004: CHECKSUM32 - Fixed problem when array supplied to a little endian machine whose number of bytes is not a multiple of four

..............FITS_TEST_CHECKSUM - Slight improvement in speed

CREATE_STRUCT - Use RESOLVE_ROUTINE to make sure obsolete version of structure definition procedure is not used

24-Aug-2004: EXTAST - Recognize obsolete North Celestial Pole (NCP) projection and convert to generalized SIN.

20-Aug-2004: FXREAD, READFITS() - Fix possible problem with one-element vector filenames in V5.5 or earlier

05-Aug-2004: TICLABELS - Fixed possible roundoff error when TYPE keyword is greater than 1.

02-Aug-2004: IMCONTOUR, TICS - Corrected integer offset problem, evident only when dealing with very small images.

30-Jul-2004: KUIPERONE, KUIPERTWO - Compute the one-sided and two-sided Kuiper statistic, respectively. The Kuiper test is a generalization of the Kolmogorov-Smirnov (K-S) test useful for data on a circle or photon arrival times.

29-Jul-2004: QUERYVIZIER() - Now has a CONSTRAINT keyword to add non-positional constraints to catalog queries.

27-Jul-2004: FXBREADM, FXBWRITM - Removed pre-V5.0 HANDLE calls

26-Jul-2004: MMM - Added /INTEGER keyword to distinguish between continuous data, and data with discrete integer values

21-Jul-2004: MRD_STRUCT - Restore maximum string length of 131 (sigh...), added NO_EXECUTE keyword

16-Jul-2004: MWRFITS - Fixed problem when writing structures with tags that include pointers.

1-Jul-2004: SKY - Fixed possible subscripting problem introduced 22-Jun-2004 Added /NAN, /CIRCLERAD keywords.

30-Jun-2004: FXREAD Now works with gzip compressed files

22-Jun-2004: SKY, MMM -- Updated to better match more recent versions of DAOPHOT Added HIGHBAD, READNOISE keywords.

15-Jun-2004: GCNTRD - Find the centroid of a star using Gaussian fits to the marginal X and Y distributions. Allows the user to specify bad pixels to be ignored in the fits.

11-Jun-2004: CNTRD - New EXTENDBOX= and /KeepCenter keywords to help keep approximate center pixel from wandering.

09-Jun-2004: ADSTRING() - Fix possible problem in leading zero display

24-May-2004: LEGEND - Now has /OUTLINE_COLOR keyword to specify color of box bounding the legend

21-May-2004: MWRFITS - Fix when writing an IDL pointer to a variable length binary table.

14-May-2004: FXPOSIT - Don't leave an open file if an error encountered.

06-May-2004: MAKE_ASTR, EXTAST, WCSXY2SPH - Fixed typos, errors introduced 4-May 2004

WCSXY2SPH, XYAD, WCS_ROTATE - Handle NaN values, flag invalid output for AITOFF projection

04-May-2004: WCSXY2SPH, WCSSPH2XY - Now support all WCS projections in the FITS standard including ZPN and SZP. Now uses PV2 vector keyword to replace scalar PROJP1, PROJP2 keywords.

.............EXTAST, PUTAST, XY2AD, AD2XY, MAKE_ASTR - Now support PV2 vector instead of scalar PROJP1 and PROJP2 keywords. **Calling sequence may be incompatible with earlier versions** due to change in the astrometry structure

27-Apr-2004: Updates to image display procedures in contrib/bhill to avoid occasional problems with invalid text windows and generating postscript files

26-Apr-2004: FDECOMP - Make sure VERSION defined for Windows

19-Apr-2004: XYXY - Now checks whether headers have different coordinate systems (e.g. Galactic, Ecliptic, or Celestial).

08-Apr-2004: EXTAST - Further fix if no comment present and values longer than 20 characters.

18-Mar-2004: NUMLINES() - Always return a scalar even if a 1-element array is input.

17-Mar-2004: GET_EQUINOX() - Now check RADECSYS keyword if EQUINOX keyword not found

08-Mar-2004: COMPARE_STRUCT() - Now has /NaN keyword to avoid comparing tags which contain NaN values

05-Mar-2004: FXPOSIT(), READFITS() -Can now transparently read bzip2 compressed files under Linux. Note that FXPOSIT is called by HEADFITS() and MRDFITS().

04-Mar-2004: MRDFITS() - Restored ability lost in 19-Feb-2004 mod to handle out-of-order TTYPE keywords.

03-Mar-2004: GETTOK() - Now has /EXACT keyword to skip trimming of blanks and replacing tabs with spaces

..............QUERYVIZIER() - Fixed occasional problem when output information of different sources had different formats

02-Mar-2004: MRDFITS() - Restore ability since 19-Feb-2004 mod to handle empty binary table

..............WHERE_NEGZERO() removed from Library. Still available in /obsolete or in

27-Feb-2004: MEDARR - Use MEDIAN(/EVEN) when Mask not set for V5.6 or later

...............WCSXY2SPH - Again accept matrix input for tangent projection

26-Feb-2004: QUERYVIZIER() - Output structure name is now taken from catalog name returned from VIZIER, not that input by the user (to avoid conflict in case of multiple catalog searches)


New /v52 directory contains frozen version of library supporting IDL V5.2 and later.

20-Feb-2004: ADXY, GETROT, CURVAL, HEULER - Update if 'RA' and "Dec" are reversed in CTYPE* keyword

19-Feb-2004: XYAD - Fix display if 'RA' and 'DEC' are reversed in CTYPE* keyword EXTAST - Fix LONGPOLE computation if 'RA' and 'DEC are reversed in CTYPE* keyword MRDFITS() - V2.9 now has new internal MRD_FXPAR procedure for faster processing of binary table headers

18-Feb-2004: MODFITS - Fixed problem when updated header exactly filled 2880 byte block boundary.

12-Feb-2004: ADSTRING() - Fix zero declination value display sign with vector processing

10-Feb-2004: FIND_ALL_DIR - Resolve enviroment variables under Windows

05-Feb-2004: Astrometry routines now allow for proposed representation of distortion in FITS world coordinate systems (Paper IV in Currently only implemented for the Spitzer Imaging Polynomial (SIP)

............ EXTAST - Return optional .DISTORTION substructure

............ XY2AD, AD2XY - now account for SIP distortion if present

............ XYAD - Now has optional PRECISION keyword to adjust precision if coordinates displayed at terminal

............ WCSSPH2XY, WCSXY2SPH - Update AIR (Airy) and AZP (Zenithal perspective) algorithms to match Calabretta & Greisen (2002)

............ WCS_GETPOLE - Fix code when theta0 is neither 0 or 90.

19-Jan-2004: SXADDPAR - If no END statement present, then add one

............ WCSSPH2XY, WCSXY2SPH -Keep scalars as scalar, fix PARabolic transformation

13-Jan-2004: AVG() - Fixed coding bug if all values are NaN

09-Jan-2004: ARROWS - Restore NotVertex keyword which had stopped working after June 2003 change.

Older IDL Astronomy Users Library News

FirstGov logo + NASA Privacy, Security, Notices NASA Curator: Wayne Landsman
NASA Official: Theodore Gull
Last Updated: Mar-2008