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.
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).
- 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.
- 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 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.
- 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.
- 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
- A new array storage form called "DELTA" has been added which compresses an array by storing differences between adjacent data values.
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.
- 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).
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.
- 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.
- 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.