Differences between revisions 13 and 14
Deletions are marked like this. Additions are marked like this.
Line 56: Line 56:

  * Blocks processing of large datasets into manageable sections, thus requiring far less memory.

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.

New Applications

Changes to Applications


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


  • 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.


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


  • All plotting style parameters recognise a new + syntax to delineate temporary attriblutes 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.
    • Blocks processing of large datasets into manageable sections, thus requiring far less memory.
    • 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

Changes to Libraries


  • 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 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).

  • 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.


  • 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.


  • 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)