Differences between revisions 28 and 29
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * A lossless compression scheme for NDFs (called "Delta" compression) can now be used. NDFs can be delta compressed using the KAPPA NDFCOMPRESS command. All Starlink applications will uncompress such NDFs automatically and transparently, as and when needed.

Starlink Software Collection - Namaka Release Notes

this page is a work in progress used to hold the release notes as work on namaka proceeds


  • Major updates to SMURF to support SCUBA-2 data processing
  • The MAG library has been removed along with the routines in KAPPA and TSP that used them.
  • We have fixed the Starlink URLs so that www.starlink.ac.uk, star-www.rl.ac.uk and www.starlink.rl.ac.uk all point to JAC.
  • All KAPPA graphical applications can now specify temporary plotting attributes, i.e. attribute that operate for a single invocation. The new method is described in SUN/95. Enter findme "Temporary Attributes" sun95 to obtain a link to the documentation containing examples.

  • A lossless compression scheme for NDFs (called "Delta" compression) can now be used. NDFs can be delta compressed using the KAPPA NDFCOMPRESS command. All Starlink applications will uncompress such NDFs automatically and transparently, as and when needed.

New Applications

Changes to Applications


  • Logging system bugs in the MAKESET, SHOWSET, REDUCE and CCDALIGN applications have been fixed (problem from Tk UIs).


    • Some fixes to the handling of UKIRT CGS4 data from the UKIRT archive at CASU (which are in FITS format).


    • A bug in the usage of the FellWalkerr.MinDip parameter has been fixed - the bug could cause clumps to be merged that should not be merged.


  • Now works with bash shell.


  • New scripts:
    • mapbyvel forms a new image from a cube's voxels using all the data values of a supplied image as the Z co-ordinate in the cube.
    • pvslice extracts and displays a position-velocity slice from a (RA,Dec,vel) cube. The slice need not be parallel to either spatial pixel axis, and it is defined using the graphics cursor.


  • A bug has been fixed that could spectra written using the sp0wr command to be unreadable.


  • Fixed initialisation bug in ARC2D that prevented editing of the spectral-line table.


  • The blink toolbox can now be scrolled to show approximately the same position as the main window by pressing the "c" key.
  • Images with swapped sky RA/Dec axes would no longer display catalogue symbols. This has been fixed.
  • A bug loading local tab tables has been fixed. Previously new tables could not have X-Y coordinate systems defined as the x_col: and y_col: parameters were ignored. This bug was introduced at version 4.2-2.
  • VOTables sent to GAIA using SAMP were being rejected if they contained non-fatal problems. This no longer happens and the warnings are written to the console.
  • The object detection toolbox has been changed so that only the current FITS image will be scanned for images. Previously if the primary HDU contained an image and other images where located in any extensions all the images would be processed when attempting to process just the primary image. This behaviour was in conflict with images in extensions which were just processed individually.
  • The page up and page down keys will now scroll the main image up and down and control page up and down left and right (requires the keyboard focus to be in the main image).
  • Negative mask values are implicitly excluded by the mask toolbox. Previously if you supplied a mask containing negative values this caused an access violation. These values are now correctly ignored.
  • The VO query toolboxes now convert the default query coordinates from the image celestial coordinate system to FK5/J2000.
  • Support for the FLUX_RADIUS parameter has been added to the object detection toolbox. This determines the half-light radius (actually radius which contains half of the auto flux) by default.
  • A bug in the overlay grid graphics handler has been fixed. Previously use of a lot of fonts could cause GAIA to crash.
  • The "gaiadisp" command now accepts the options "-l" and "-h". These set the data limits to use when displaying the image.
  • The spectral extraction display can now show the coordinate of the reference line.
  • Some old skycat catalogue server descriptions have been changed so that unused columns, or columns that are no longer fully populated, are removed from the plotting symbols. This will require the skycat.cfg file to be updated.


  • Support for the google-chrome browser has been added. To use this in preference to firefox and mozilla you should define the HTX_BROWSER variable.


  • All plotting style parameters recognise a new + syntax to delineate temporary attributes that persist only for the current invocation.
    • The model has an additional free parameter--a generalised Gaussian shape exponent--to allow fits to beams with shape exponents other than 2.
    • New GAUSS and GAMMA parameters.
    • New error code KAP__LMFOJ for the most-common fitting failure.

    • Parameter MODE has a new option "GapHistogram", which behaves as "Histogram" except it excludes flanking vertical lines either side of a bad value.

    • New parameter NORM determines how the output NDF is normalised to take account of the total data sum in the point-spread function, and of the presence of bad pixels in the input NDF.
    • Now permits point-spread functions with negative areas.
    • Fix problem reporting percentiles.
    • Parameter MODE has a new option "GapHistogram" (see CLINPLOT).

    • A new Parameter STEP has been added that allows a subset of the positions identifiers between FIRST and LAST to be displayed.
    • Output variances can now be created for spline fits.
    • Supports "delta" compression--a lossless compression scheme suitable for integer arrays.
    • Correctly write FPIXSCALE even if QUIET.
    • The maximum number of NDFs that can be supplied via Parameter IN has increased from 26 to 1000.
  • PSF
    • A bug has fixed in the normalisation of the fit in cases where both the NORM and GAUSS parameters are set FALSE.
    • Additionally calculates skewness and excess kurtosis using a recursive single-pass algorithm.
    • Uses a recursive algortihm less susceptible to rounding errors
    • A bug has been fixed relating to the use of Parameter WLIM when Parameter VARIANCE was true.
    • A bug has been fixed that could lead to incorrect shifts when using the ABS parameter.


  • Polynomial fitting to flatfield data is now the default.
  • Fast flatfield ramps are now supported. These are taken at the start of every observation.
  • MAKEMAP (iterative)
    • Maps from small chunks of the time series can now be written out. Specify the "shortmap" parameter.
    • Typos in config parameters are now trapped and the defaults can be seen in $SMURF_DIR/smurf_makemap.def. The actual parameters that are used (the merge of the supplied dimmconfig and the defaults) is now stored in the history of the output map.
    • Enhanced common-mode removal algorithm which can now break the time series into smaller chunks.
    • Enhanced spike removal using a rolling median calculation
    • Enhanced step correction.
    • Output map now includes QUALITY flags to indicate areas that have been set to 0 by the map-maker.
    • The map-maker now reports the details of the flagging every iteration.
    • Config files have been re-written to include the standard config with explicit overrides. This makes it easier to see what is being changed.
    • Major improvement to the speed of calculating the world coordinates of every bolometer.
    • Correctly switch to the CSO tau fits header in the absence of WVM data.
    • The parameter DCBOX has been renamed DCFITBOX.
    • DCBAD and DCFLAGALL parameters have been removed.
  • SC2FFT
    • Add NGOOD parameter.
    • Can now calculate an average power spectrum.
    • Fix some bugs associated with maps of different sizes and with missing metadata.
    • Propagate QUALITY properly.
  • New scripts:
    • smas analyzes "short maps" to investigate high frequency seeing/pointing variations


  • Position and target are now optional in VO queries. Not all SSAP servers are fixated on positions and objects.
  • Both sidebands are now loaded when a request to load all matching line identifiers is made.

Changes to Libraries


  • A new array storage form called "DELTA" has been added which compresses an array by storing differences between adjacent data values.


  • The KeyMap class has a new method called astMapCopy/AST_MAPCOPY that copies entries from one KeyMap to another KeyMap.

  • The KeyMap class now supports entries that have undefined values. A new method called astMapPutU/AST_MAPPUTU will store an entry with undefined value in a keymap.

  • The KeyMap class now allows entries to hold one or two byte integers.

  • The KeyMap class has a new boolean attribute called MapLocked. If true (non-zero), an error is reported if an attempt is made to add any new entries to a KeyMap (the value associated with any old entry may still be changed without error). The default is false (zero).

  • Entries in a KeyMap can now be sorted either by age or alphabetically by key.

  • A new class called Table has been added which extends the KeyMap class to provide storage for tabular data.

  • A new class called FitsTable has been added which extents the Table class to represent a FITS binary table.

  • The Object class has a new method called astHasAttribute/AST_HASATTRIBUTE that returns a boolean value indicating if a specified Object has a named attribute.
  • The SkyFrame class has two new read-only boolean attributes called IsLatAxis and IsLonAxis that can be used to determine the nature of a specified SkyFrame axis.

  • A bug has been fixed in the astRebin(Seq)/AST_REBIN(SEQ) methods that could cause flux to be lost from the edges of the supplied array.
  • A bug has been fixed in the astRebin(Seq)/AST_REBIN(SEQ) methods that caused the first user supplied parameter to be interpreted as the full width of the spreading kernel, rather than the half-width.
  • The StcsChan class now ignores case when reading STC-S phrases (except that units strings are still case sensitive).

  • The Channel class now has an Indent attribute that controls indentation in the text created by astWrite/AST_WRITE. The StcsIndent and XmlIndent attributes have been removed.

  • All classes of Channel now use the string "<bad>" to represent the floating point value AST__BAD, rather than the literal formatted value (typically "-1.79769313486232e+308" ).

  • The KeyMap class now uses the string "<bad>" to represent the floating point value AST__BAD, rather than the literal formatted value (typically "-1.79769313486232e+308" ).

  • The KeyMap class has a new method called astMapPutElem<X>/AST_MAPPUTELEM<X> that allows a value to be put into a single element of a vector entry in a KeyMap. The vector entry is extended automatically to hold the new element if required.

  • The DSBSpecFrame class now reports an error if the local oscillator frequency is less than the absoliute value of the intermediate frequency.
  • A new method astQuadApprox produces a quadratic fit to a 2D Mapping.
  • A new method astSkyOffsetMap produces a Mapping from absolute SkyFrame coordinates to offset SkyFrame coordinates.


  • Add ATL_ADDWCSAXIS for adding a new independent axis to an existing frameset.
  • Add ATL_PTFTD to put a double precision value into a FitsChan

  • Remove ATL_MAPCOPY since this functionality is now present in AST directly.
  • Add atlReadfile to read an AST object from a text file created by (say) atlShow.
  • Rename atlMapGet1S and atlMapPut1S to atlMapGet1C and atlMapPut1C to avoid confusion with astMapGet1S.


  • Now uses PSX_WORDEXP rather than ONE_FIND_FILES.


  • Now uses PSX_WORDEXP internally


  • New routines:
    • kpg1Config reads a configuration file and merging the contents with defaults.
    • KPG1_DSSFM displays information about the storage form of an NDF array.
    • Generic routine KPG_FISEx fills a section of a multi-dimensional array.
    • KPG1_GTGPT obtains groups of strings whose members are not `sticky', in other words the strings only last for the current invocation of an application.
    • The more-general KPG_ISEQN replaces the old IRCAM-specific NXTNAM routine. This increments trailing sequence numbers in strings, most often used to generate a series of filenames.
    • KPG_LR2Ax is the same as KPG_LDA2x (formerly LD2AR) except it processes single-precision sparse data.
    • Generic KPG_NORVx replaces NORMAL, and can operate on an array.
    • Generic KPG_OSTAx calculates simple statistics, including skewness and excess kurtosis, by recursion.
  • Removed/renamed routines:
    • DIMLST is renamed KPG_DIMLS.
    • ICMMM has been renamed KPG_IMMMx, made generic, with a revised API. The calculations are now in performed double precision.
    • LD2AR has been renamed KPG_LD2Ax and made generic.
    • Remove FTS1_TREAD since the MAG library has now been removed from the main Starlink source tree.
    • 17 long-deprecated old routines without a package prefix have been removed. See the KAPLIBS news or SUN/238 for a list and their replacements.
  • Modified routines:
    • KPG1_ASSET now parses the supplied parameter name for a non-alphanumeric prefix and suffix to determine whether or not temporary attributes are supported via the new KPG1_GTGPT routine. A suffix indicates that KPG1_ASSET will be called again for the same parameter, affecting the value to write to the parameter file.
    • The KPG1_PLTLN routine now accepts a value 6 for the MODE argument, which causes a staircase plot to be produced in which bad values are not flanked by vertical lines to the lower edge of the plot.
    • KPG1_STFLx and KPG1_STDSx log and report respectively skewness and kurtosis through two new arguments.
    • Removed support for FITS tapes affecting FTS1_PHEAD, FTS1_RDATA, FTS1_RGRDA, FTS1_RSTAB, and FTS1_SKIP whose argument MEDIUM now only accepts the value 'DISK'.
  • General changes:
    • Config files can now include "<def>" to revert to the default value.

    • Config files can now include "<undef>" to store an undefined value using kpy1Kymap.


  • Fixed a buffer overflow that was causing an immediate abort of applications on linux when compiled with stack overflow protection.


  • New routine NDF_ZDELT produces a compressed copy of an existing NDF using a lossless compression scheme ("Delta" compression) that records the differences between adjacent data values.
  • New routine NDF_GTDLT returns the parameters used to compress a delta-compressed NDF.
  • New routine NDF_CREPL creates a new NDF placeholder via the ADAM parameter system.


  • C interface added for NDG_ADDGH
  • Now uses PSX_WORDEXP rather than ONE_SHELL_ECHO and ONE_FIND_FILE.
  • Some fixes to the provenance code to determine whether an ancestor refers to the same file.


  • The new routine PSX_WORDEXP has been added to provide a wrapper around the POSIX wordexp() function. This allows strings to be expanded with environment variables and wildcards without forking a new shell.

Starlink: Namaka (last edited 2020-09-23 19:24:07 by MalcolmCurrie)