Starlink Software Collection - Hawaiki Release Notes
- All Starlink command-line applications now support message filtering using the MSG_FILTER and QUIET parameters. The QUIET parameter can always be used to disable message output from a command. MSG_FILTER can take strings values of "NONE", "QUIET", "NORM", "VERBOSE", "DEBUG", "DEBUG1" to "DEBUG20" and "ALL. Applications that used an ILEVEL parameter now use MSG_FILTER (KAPPA, CUPID and POLPACK). The MSG_FILTER environment variable can be set to one of these values to globally control message output.
- This is the first release that officially supports SCUBA-2 data processing.
- The Tcl/Tk libraries have been updated to version 8.5. This improves the appearance of all Tk based applications.
- Note that ECHOMOP does not work on 64-bit architectures (this is not a change; however, it was not previously advertised).
- Tom Marsh's PAMELA application is now included in the Starlink software.
Changes to Applications
- New commands: astmask, astmatchaxes, astgetregframe.
- recognises the new "Group:" heading in HISTORY headers that originally came from an exported NDF,
to preserve the original paragraph and indentation after an NDF->FITS->NDF cycle; and
- propagates the LABEL keyword to the NDF label.
- recognises the new "Group:" heading in HISTORY headers that originally came from an exported NDF,
- recognises the modified data type (SMURF_EXT) of the SMURF extension;
- handles component names that are too long to fit in a single EXTNAME header;
- allows three-letter permutations for Parameter COMP; and
- no longer performs automatic quality masking of data and variance whenever the quality array is exported to the FITS file too.
- CUPID now propagates provenance information to output files.
- The ILEVEL parameter has been replaced with MSG_FILTER.
- MAKECLUMPS - Random clumps parameter values can now be created with a Poisson distribution.
- FINDCLUMPS no longer creates a border of bad pixels around the edges of the output mask.
- As issue in the addstar command random number generating function has been fixed. This problem could cause the PAUSE prompt to be issued (sometimes repeatably).
- Fix pointer bugs introduced while switching former TWODSPEC tasks to support 64-bit addressing, notably in ARC2D, LONGSLIT, and COMB.
- Fix FDA bug that prevented the length of _LOGICAL data to be inquired affecting ARC2D.
- ARDMASK can now use an ARD expression like "DIMENSION(2),FRAME(2)" to blank a 2-pixel border around every plane in a 3-D cube.
- The map of residuals now contains the normal `data minus fit' evaluations rather than the reverse sense.
- The total background-subtracted data sum in the multi-Gaussian fit is now written to the output parameter SUM.
- After a bug fix it is now possible to fit beams within an arbitrary plane of a cube.
- Relaxed a constraint to cater better for an inaccurate initial position.
- The dimensionality restriction on BLOCK has been removed. As a consequence the AXES parameter is withdrawn.
- A new command called CARPET has been added that, in conjunction with GAIA, can produce a carpet plot of a 2-D array.
CHANMAP & MSTATS
- Fix bug whereby Cmean and Csigma estimators were not amongst the allowed options.
- Allow ESTIMATOR=Median to operate on just three channels or NDFs.
- The output NDF created by COPYBAD inherits data type of the input NDF, instead of the NDF given by Parameter REF.
- FFCLEAN now works with double-precision data.
- The ILEVEL parameter used by FFCLEAN, MSTATS and WCSMOSAIC has been replaced with MSG_FILTER.
- FITSLIST has new Parameters ENCODING and FULLWCS allow the list of displayed FITS cards to include cards derived from the NDF WCS component, in addition to those read from the FITS extension.
- HISTAT performs better, especially for data with extreme outliers (see KPG1_FRAC changes).
- HISTOGRAM now displays an improved X-axis label on its plot.
- The Y-axis Symbol drawn by LINPLOT has changed from the NDF's label to the name of its plotted array component.
- A bug in LOOK that caused logfile output to be truncated to 255 characters per row even if Parameter MAXLEN was greater than 255.
- NDFCOPY has a new COMP parameter that permits the QUALITY or VARIANCE component or the errors to become the DATA_ARRAY in the output NDF.
- MFITTREND: Fixed bug whereby some bad pixels in the binned array were not always propagated to the output mask NDF.
REGIONMASK can now determine the 2-D plane to mask by matching the region to the n-D frameset.
- REGRID - METHOD=GAUSS can now be used when re-sampling as well as when re-binning.
- SCATTER calculates the axis ranges excluding any pixels that are bad in either NDF.
- SETAXIS now correctly sets the AXIS units to degrees when the selected axis is a celestial longitude or latitude axis. Previously reported radians.
- WCSTRAN has a new SKYDEG parameter to force a celestial longitude and latitude to be formatted as decimal degrees.
- No longer report an error if there are too few points for ordered statistics. The median will be set to the bad value.
- A new standard WCS co-ordinate Frame called "FRACTION" (similar to PIXEL, AXIS, GRID, etc.) has been added. It represents fractional position across the pixel array.
- Application parameters that take "groups" of values are now stored in expanded form in the HISTORY component of any output NDFs.
- Additional colour tables from GAIA have been added.
The default for any CATFRAME parameter has changed to the current Frame in the WCS FrameSet associated with the input data.
This release includes major updates for GAIA.
GAIA and Skycat have been updated to use Tcl/Tk 8.5 and most of the associated packages have also been updated. The major visible changes are the arrival of anti-aliased fonts and the updating of some widgets.
The font used for displaying symbols (the alpha and delta symbols shown in the main panel) is no longer required as unicode fonts are now used by default. This also means that unicode symbols can be drawn in overlay text. The font handling for the astrometry grid overlay has also been changed to use anti-aliased fonts and unicode.
Note if you have saved your startup options you will see a message:
- "Warning: rejected incompatible session persistent option: -wcsfont"
when GAIA starts up. To get rid of this just re-apply the options in the startup options window (File menu).
During this update the ability to get the grid overlay fonts to scale with the zoom factor has been removed. Hopefully now that rotated text is clearer this will not be needed.
- The X, Y, RA and DEC coordinate readouts have been changed so you can now enter a new position and centre on it (assuming the position isn't off image, or near to an edge, in those cases the image will just scroll to the edge).
The Filter button in a Skycat catalogue window has been enhanced so that it now removes any off-image objects, unless there are objects that are not plotted, in which case it removes them (this was the old behaviour).
- It is now possible to select a colour and font for labelling objects displayed by a Skycat catalogue window. Previously this could only be done using the graphics toolbox facilities.
The optional coordinate label in the spectral extraction plot can now have the filename displayed as a prefix to the coordinates of the extraction. To enable this select the Full coordinate label item in the Options menu. Note that this and the old Coordinate label are now session persistent.
A problem displaying CUPID catalogues that include extra columns (using the extracols=1 parameter) has been fixed. Previously an Unknown STC shape error was thrown.
- The detection of compressed images in FITS file has been improved. Previously only those with EXTNAME of COMPRESSED_IMAGE were detected.
- A bug in the 2-D mask toolbox caused GAIA to crash when a given mask didn't exist. This has been fixed.
The Skycat catalogue windows now have a Clear all objects item in the Options menu. This quickly clears all the plotting symbols from the image.
- The UCAC3 catalogue has been added to the standard Skycat catalogues.
Short integer data types (FITS BITPIX 16 & -16, HDS _WORD & _UWORD) may now have data display limits outside those of the data type. Previously these data types unexpectably wrapped or refused to extend the contrast when given limits outside the data range.
- The patch toolbox now says when you have not defined any background regions. Previously an uninformative error dialog was shown.
- The import plain text file dialog now supports the definition of the RA and Dec celestial coordinate system.
- If the current directory or the one pointed to by GAIA_TEMP_DIR is not writable temporary files will be written into /tmp instead.
- The presence of illegal negative variance values should be handled when requesting that they be displayed as errors. Previously this condition caused GAIA to abort.
- The C-shell initialisation scripts used to start GAIA commands have all been replaced with sh scripts. Any personal aliases etc. based on the old scripts will need to be changed to use the sh replacements.
- When extracting regions using the regions toolbox the default action is now to also autocrop the result removing any surrounding blank areas.
- A bug in the positioning of the grid axes when the image has swapped RA and Dec axes has been fixed. Previously an attempt to explicitly position the axes failed.
ORAC-DR initialisation scripts now support -honour and -cwd to control how $ORAC_DATA_OUT is determined.
If all except the UT date part of the directory is present in $ORAC_DATA_OUT that directory is now created.
Added support for Growl notifications on OS X. There are notifications for data detection, pipeline initialisation, frame processing completion and pipeline completion. Use the growl preferences pane to disable or enable specific notifications.
- No longer allow the pipeline to run if ORAC_DATA_OUT is an NFS mounted disk. Set the ORAC_NFS_OK environment variable to 1 to ignore this.
- Always run in batch mode when the reduction date is no the current date.
- gzipped raw data can now be read by ORAC-DR.
Recipe parameters are now available for various instruments.
- Reorganized the Calibration classes to use hierarchy and code generators
Rewrote the bulk of the shell initialisation code (oracdr_xxx scripts) using perl to remove logic duplication between cshell, bash and perl sections.
- _CREATE_MOMENTS_MAPS_THROUGH_SMOOTHING_ now supports a separate RMS threshold for each requested moment.
_ITERATIVE_GROUP_PRODUCTION_ now supports rebinning. Add a REBIN=0.1 (e.g. for a 0.1-km/s rebinned resolution) parameter.
Running the oracdr_acsis initialization script has been split into three different scripts for three different purposes:
oracdr_acsis now runs the advanced processing recipes by default. These recipes used to have the _ADV suffix; now the default e.g. REDUCE_SCIENCE_GRADIENT recipes run advanced processing. You no longer need to add -recsuffix ADV to the command-line to run the advanced processing recipes.
oracdr_acsis_summit now runs summit-specific recipes that are designed for speed, yet still deliver adequate products. No individual observation products are created; only group coadded cubes and related products are created.
oracdr_acsis_ql will run quick-look recipes. These recipes will only create a cube from the raw data for grid and jiggle observations; scan observations will be skipped entirely.
- Reduced cubes now have the tile border set to bad.
- REDUCE_SCIENCE_GRADIENT and REDUCE_SCIENCE_NARROWLINE now support the following recipe parameters:
BASELINE_ORDER: the polynomial order to use when baselining cubes.
CUBE_WCS: The coordinate system to regrid cubes to.
FLATFIELD: Whether or not to perform flat-fielding.
MOMENTS: Which moments maps to create.
MOMENTS_LOWER_VELOCITY & MOMENTS_UPPER_VELOCITY: Define a velocity range from which the moments maps will be created.
PIXEL_SCALE: Pixel scale, in arcseconds, of cubes.
REBIN: List of velocity resolutions to rebin the final cube to.
RESTRICT_LOWER_VELOCITY: Trim all data to this lower velocity.
RESTRICT_UPPER_VELOCITY: Trim all data to this upper velocity.
SPREAD_METHOD: The method to use when spreading each input pixel out between a group of neighbouring output pixels when regridding cubes.
SPREAD_WIDTH: The number of arcseconds on either side of the output position which are to receive contributions from the input pixel.
SPREAD_FWHM_OR_ZERO: Depending on the spreading method, this parameter controls the number of arcseconds at which the envelope of the spreading function goes to zero, or the full-width at half-maximum for the Gaussian envelope.
This is the first release of the SCUBA-2 pipeline.
The SCUBA-2 pipeline has initialization scripts for each wavelength: oracdr_scuba2_850 and oracdr_scuba2_450.
- As with ACSIS, the initialization script is split into three different scripts for three different purposes (the XXX denotes the wavelength, either 850 or 450):
oracdr_scuba2_XXX is the primary offline pipeline.
oracdr_scuba2_XXX_summit is for use at the summit and runs recipes that are designed for speed, yet still deliver adequate products. Processing is delayed until either 90% of the observation is complete, or the scan pattern has been completed.
oracdr_scuba2_XXX_ql is only for use at the summit and will run quick-look recipes which process each new group of files as they are detected by the pipeline. The output is likely only useful for observations of bright compact sources.
- The primary recipe for processing science SCAN data is REDUCE_SCAN.
- A bug in the gaussian error calculations has been fixed. Previously errors were a factor sqrt(N) too large.
- The ILEVEL parameter has been replaced with MSG_FILTER
- First official release supporting SCUBA-2 raw data (rather than simulated data).
- New command CALCNOISE for calculating the noise properties of a SCUBA-2 observation.
- New command COPYFLAT to copy a flatfield from one SCUBA-2 observation to another.
- New command STACKFRAMES for taking a collection of 2-D images (eg noise images or responsivities) and placing them into a time series cube.
- SC2FFT will now concatenate all related files before calculating the FFT.
- MAKECUBE can now avoid generating very thin tiles when tiling is enabled.
- MAKECUBE now uses offset sky co-ordinates in the output cube if, and only if, the input tracking system is (Az,El) or geocentric apparent (RA,Dec).
- JCMTSTATE2CAT now calculate DRA and DDEC columns to indicate arcsecond offsets from base position. Additionally DAZ and DEL are now given as offsets from BASE rather than offsets from the first base position.
- For SCUBA-2 files JCMTSTATE2CAT will now include MCE header information and will calculate the tau dynamically from the raw WVM data.
- The meta-data sent with a spectrum via SAMP now includes some SSA version 1 utypes (spectrum.char.fluxaxis.name, spectrum.char.fluxaxis.unit, spectrum.char.spectralaxis.name and spectrum.char.spectralaxis.unit).
- The statistics window has been extended to include some alpha trimmed means in the extended statistics option.
- The loading of spectra using SSAP downloads no longer blocks the interface. The previous behaviour was a bug.
- Support for asynchronous calls from SAMP has been improved.
- Table spectra sent via SAMP will now preserve the selected columns for coordinates, data and errors. Previously the first three columns were always selected.
- The line identifier plot configuration options controlling the addition of the id name as a prefix or suffix are now saved between sessions.
- A bug in the plot configuration for displaying dual sideband line identifiers has been fixed. Previously matching lines from the other sideband where always shown, regardless of the initial setting.
- A bug when reading back spectra saved as part of a stack has been fixed. Previously when spectra which were really n-dimensional but with only one non-trivial dimension were read back the first axis of the WCS was used as the spectral axis, regardless of whether this was correct or not.
- The locale used by SPLAT is now fixed to POSIX, this means that all numbers should be entered using decimal notation.
- The Sesame name resolution service is now the default for SSAP VO queries.
Changes to Libraries
- Fix truncation error when AGI_USER environment variable exceeded 63 characters.
- Allow the DIMENSION statement to be used to specify a dimensionality that is different to that of the array being masked.
New routine atlAddWcsAxis allows new axes to be appended to each frame in a FrameSet.
- New routine atlMapCopy to copy the contents of one AST keymap to another.
The CmpRegion class can now combine the two component Regions using an exclusive OR ("XOR") operation.
The StcsChan class can now handle compound regions.
The astConvert routine now ignores rest frame properties when aligning two SpecFrames.
- New Frame method astMatchAxes allows corresponding axes within two Frames to be identified.
- The astConvert method will now allow a Frame to match an instance of a parent Frame class.
The astAddFrame method can now be used to append one or more axes to all Frames in a FrameSet.
- The astRebinSeq routine can now generate output variances representing the distribution variances as well as the mean variances.
- The Channel class has a new attribute called "Indent" that can be set to zero to suppress indentation in the output text created by the astWrite method.
- Bugs have been fixed that could cause incorrect flux conservation by the astResample and astRebin(Seq) methods when re-gridding a cube in which the kernel is wider than the cube on any axis.
- A Gaussian re-sampling kernel has been added to astResample.
- The makeh script that generates the ast header file (ast.h) has been modified to include a work-around for a problem that could create an invalid ast.h file when using the GCC 4.4.2 pre-processor.
- CCG routines' NBAD argument excludes bad elements not attributable to the MINPIX threshold.
- CCG_CS1 and CCG_CS3 now return the clipped standard deviations instead of the clipped variances.
- CTG, IRQ, and LPG libraries are no longer in KAPLIBS. They are autonomous libraries each with its own documentation and link scripts.
New routine KPG_BLONx smooths an n-d image using box mean filter (unlike KPG1_BLOCx which is limited to 2-d data).
New routine KPG_BMDNx smooths an n-d array using a box median filter (unlike KPG1_BMEDx which is limited to 2-d data).
New routine kpg1Ch2pm creates an AST PolyMap from a POLYNOMIAL HDS structure.
- New routine kpg1Chcof returns coefficients for a set of Starlink POLYNOMIAL structures.
- New routine KPG_ENV0C reads a string value from an environment variable using a default value if the variable is undefined.
- Routine kpg1_fit1d re-written in C for thread-safety.
- Further bug fixes and improvements to KPG1_FRAC:
- Works for data ranges smaller than the type precision.
- The minimum sparseness increased from 4 to 16 percent to cope with extreme outliers, at the cost of poorer handling of quantized distributions.
- Generates a new histogram between any narrowed value limits to yield more-accurate statistics.
- The IPLOT argument of routine KPG1_GRAPH is now "Given and Returned" and must be initialised before calling KPG1_GRAPH.
- New routine KPG1_MVBDx modifies an array index (such as produced by PDA_QSIAx) to exclude indices that refer to bad data values.
- New routine KPG1_SAXAX sets the attributes of an axis in an AST Frame so that they describe an array component of an NDF.
- Added C interfaces for KPG1_DARAD (kpg1Darad), KPG1_LOCTD (kpg1Loctd), and KPG1_PIXSC (kpgPixsc).
- Message filtering will now look at both the MSG_FILTER and QUIET parameters in addition to the MSG_FILTER environment variable.
- !msgIfget no longer takes an argument describing the name of the ADAM parameter.
- New routine !msgIfgetenv to read the message filtering level from the environment.
- !msgIflev now returns a string representation of the current message filter level.
- MSG_FLEVOK is now part of the Fortran interface.
- "%" can now be used to indicate a percentage of the data array in an NDF section.
- Add a new frame FRACTION providing normalised pixel coordinates that are guaranteed to use the range 0.0 to 1.0.
- Add AUTO_HISTORY environment variable. If set and true, history will be written to all NDFs created.
- New routine NDF_ISIN returns a flag indicating if one NDF is contained within another NDF.
- New routines NDG_BEGGH/NDF_ENDGH allows automatic expansion of "group"-valued parameters when storing the parameter values in the History component of any output NDFs.
- An input NDF is no longer recorded as an ancestor within the PROVENANCE extension of any output NDFs if the input NDF is contained within another input NDF (e.g. within an extension).
- The IFL parser now includes two new parameters (MSG_FILTER and QUIET) if they have not previously been defined in the IFL file.
- Message filtering is now enabled in the fixed ADAM part to allow all applications to benefit from a unified API.
- Create an error code PDA_ _FICMX indicating a failure to invert the curvature matrix, currently applied in routine PDA_LMERR.