Release Notes for SAS 19.1.0

Richard Saxton & Eduardo Ojero

XMM-Newton SOC

Contents

SAS releases covered by this note

The version of the SAS installed can be displayed with the command:sasversion

URLs

Summary of important changes

This release does not include new tasks but a few important bug fixes and improvements, all of which are detailed below.

The changes introduced in this release are the following:

Python support

The pysas core package has been improved to provide the correct handling of mandatory subparameters. This change allow to run a full data processing session entirely from Python using a combination of pure Python tasks and SAS native tasks.

Simultaneously with this release, several SAS Threads implemented fully in Python have been released as examples of data processing sessions from ai Python Jupyter Notebook.

The startsas package has been enhanced with new parameters workdir and sasfiles, to provide sufficient flexibility to organize user's work.

Binaries distributed

This version of SAS is released in two binary versions for Linux, CentOS 7.3 and Ubuntu 18.04, and one for macOS 10.15.7 (Catalina). These versions have been tested and found to run correctly on several other platforms including RHEL 7 and 8, Ubuntu 20 and 21, and macOS Mojave and BigSur.

New and withdrawn packages

NEW:None

WITHDRAWN

DELETED: None

Detailed list of changes between SAS 19.0.0 and SAS 19.1.0


Package arfgen: version 1.98.5 [was 1.98.4]
Package eimageget: version 0.8.1 [was 0.8]
Package error: version 1.47.2 [was 1.47]
Package evqpb: version 0.7 [was 0.6.4]
Package omfchain: version 1.43.1 [was 1.43]
Package omgchain: version 1.12.1 [was 1.12]
Package omichain: version 1.74.7 [was 1.74.3]
Package ommosaic: version 2.11 [was 2.10]
Package pkgmaker: version 2.4.3 [was 2.4.2]
Package pysas: version 1.1 [was 0.9.1]
Package radmonfix: version 0.5.3 [was 0.5.2]
Package rgsangles: version 4.9.1 [was 4.9]
Package sas: version 1.603.6 [was 1.603]
Package sasver: version 0.5 [was 0.4]
Package startsas: version 0.5 [was 0.2]
Package taskmain: version 2.2 [was 2.1]
Package xmmextractorGUI: version 0.3.7 [was 0.3.6]

Package arfgen: version 1.98.5 [was 1.98.4]

ChangeLog

Version 1.98.5 - 2021-03-10 (RDS)
------------
	  (doc/arfgen_description.tex)    - refers to a new CAL TN which 
					    gives details of the method of
					    using an image to correct for


Package eimageget: version 0.8.1 [was 0.8]

ChangeLog

Version 0.8.1 - 2021-01-15 (EO)
-------------
	+ doc/images.ps: Image was exported to eps to be used in HTML
	documentation. Size decreased from 2,2 MB to 0.15 MB.
	+ doc/eimageget_description.tex: images.ps -> images.eps. 


Package error: version 1.47.2 [was 1.47]

ChangeLog

Version 1.47.2 - 2021-01-21 (EO)
--------------
	+ ChangeLog: Fixed typo in Version.

Version 1.47.1 - 2021-01-21 (EO)
--------------
	+ doc/Makefile: Removed unnecessary elements. 


Package evqpb: version 0.7 [was 0.6.4]

ChangeLog

Version 0.7 - 2021-02-18 (RDS)
-----------------------------
	+ src/qpbselect.cc              Scale the exposure time in the 
	  doc/qpbselect_description	output spectrum/image rather than 
					converting the counts into a rate 
					(SCR-7591)

Package omfchain: version 1.43.1 [was 1.43]

ChangeLog

Version 1.43.1 - 2021-01-25 (EO)
--------------
	+ doc/fast_blocks2.ps: Exported to EPS format to fix problem in HTML
	format figure display, which showed not labels inside diagram box.


Package omgchain: version 1.12.1 [was 1.12]

ChangeLog

Version 1.12.1 - 2021-01-25 (EO)
--------------
	+ doc/gscheme3.ps: HTML figure unreadable. Exported to EPS format to
	make it more readable. 


Package omichain: version 1.74.7 [was 1.74.3]

ChangeLog

Version 1.74.7 - 2021-03-09 (EO)
--------------
    + src/omichain.pl: 
      Function HighLightedMessage called in lines 1553 and 3904 is typed wrong
      It does not exist. It is HighlightedMessage what exists and is defined.

Version 1.74.6 - 2021-02-10 (EO)
--------------
	+ test/testomichain: Fixed outdir.

Version 1.74.5 - 2021-02-09 (EO & SR)
--------------
	+ doc/omichain_description.tex: Added some corrections to explain
	better the processing of mosaiced images (thanks to Simon Rosen).

Version 1.74.4 - 2021-02-08 (EO)
--------------
	+ doc/omichain_desxcription.tex: Added note at the end of the section
	on "Running the omichain", to warn users on encountering memory limits when
	running the source detection process on a large mosaic field.
	Closes SPR 7590.
	+ doc/omichain_aprt[1-4].ps: Exported to EPS files. psfig command in
	tex file updated.



Package ommosaic: version 2.11 [was 2.10]

ChangeLog

Version 2.11 - 2021-02-21 (RDS)
-------------------------------
        +(src/ommosaic.cc		Remove limitation of 4096x4096 pixels
	  src/omwcs.cc) 		(SPR-7523)



Package pkgmaker: version 2.4.3 [was 2.4.2]

ChangeLog

Version 2.4.3 - 2021-02-28 (EO)
-------------
    + DEPEND: pysas 0.7 -> 1.0


Package pysas: version 1.1 [was 0.9.1]

ChangeLog

Version 1.1 - 2021-03-12 (EO)
-----------
    + src/pysas/sastask.py: While checking for mandatory parameters
    and subparameters, added checking for the "implicit" case: When 
    all the mandatory subparameters of a given parent are present
    in the command line or in the input args list, it is not 
    necessary to include the parent parameter. It is assumed to be
    present with value alternate to the default: When the parameter
    type is boolean, the alternate value is the contrary to 'yes'|'no'
    set as default. When the parameter type is a string, the 
    alternate value is given in dictionary 'rev_mandpar_string_dict', 
    computed in param.py. 
    + src/pysas/param.py: Fixed typo in the creation of dictionary
    'rev_mandpar_string_dict'.
    + src/pysas/version.py: Ensuring it is updated properly.

Version 1.0 - 2021-02-24 (EO)
-----------
	+ src/pysas/param.py : Full refurbishment of the module. 
    Now the module identifies all the subparameters 
    dependent on a given parameter and treats properly the 
    dependencies of mandatory subparameters with its 
    parent parameter. It applies the SAS Parameter Interface 
    rules as documented in package 'param'. 
    Fixed SPRs: 7583 and 7585.
    
    + src/pysas/sastask.py: Added new logic to check both the
    validity of any parameters entered to a task and specially
    the relationship between mandatory parameters and subparameters.


Version 0.10 - 2021-02-18 (EO)
------------
	+ src/pysas/logger.py: The logging code included initially in
	sastask.py is now moved to a new module named logger.py.
	This module defines class TaskLogger which can be used to instantiate
	a logger to be used in the code as 
		
		logger = TaskLogger('<taskname>')
		
		logger.log('level','<message>')
	
	where level can be one of debug, info, warning, error or critical, and
	<message> is the message to be logged. 
	By default, the logger comes with two handlers, one console handler
	and one file handler. The file handler produces a log file named as
	<taskname>.log, with a fixed log level of DEBUG (all messages are
	registered). However, the console handler provides more or less
	messages, according to the value of the 'verbosity' which is controlled
	by means of option -V or the SAS_VERBOSITY environment variable.
	To be used in modules, the instatiation of the logger must be done 
	out of function definitions. Then, within each function, we can
	include calls to logger.log('level', '<message>'), as apropriate.
	+ src/pysas/*.py: Changed comments by string docs where appropriate.



Package radmonfix: version 0.5.3 [was 0.5.2]

ChangeLog

Version 0.5.3 - 2021-03-05 (EO)
-------------
    + DISTRIBUTION: Given that epproc depends on this package, its distribution
      can not be restricted to SOC.


Package rgsangles: version 4.9.1 [was 4.9]

ChangeLog

Version 4.9.1 - 2021-01-25 (EO)
-------------
	+ doc/rgsangles_description.tex: Change history reformatted to fix a
	problem where the task does not appear in the general index of all
	tasks.


Package sas: version 1.603.6 [was 1.603.4]

ChangeLog

Version 1.603.6 - 2021-03-17 (EO)
---------------
	+ AKA: Previous version had wrong value 20.0.0. Set now to 19.1.0.

Version 1.603.5 - 2021-03-16 (EO)
---------------
	+ bin/saslibs: macOS : Fixed to classify properly internal and external
	libraries which include the keyword "@loader_path" in their paths as the
	result of using the RPATH mechanism to find them from binaries.

Version 1.603.4 - 2021-01-21 (EO)
---------------
	+ doc/lib/sasref.perl: Change to conditional the require to use the
	labels.pl from a reference to a given package. This is particularly
	important for package 'param', which is referred by many tex templates
	generated by pkgmaker, so they give rise to the error
	doc/param/labels.pl not found in @INC, unless the DEPEND file puts a
	dependency on package param, only for treating the documentation.


Package sasver: version 0.5 [was 0.4]

ChangeLog

Version 0.5 - 2021-02-28 (EO)
-----------
    + DEPEND: Required pysas 1.0.


Package startsas: version 0.5 [was 0.2]

ChangeLog

Version 0.5 - 2021-03-15 (EO)
-----------
    + config/startsas.par: 
        - Redefined workdir as optional. Default is "pwd" which 
        is interpreted as to take as working directory the directory from where 
        startsas is launched.
        If not defined absolutely ('/' is not the first character of the string), 
        it is assumed to be a subdirectory of the startsas launch directory.

        - Added parameter 'sasfiles', boolean, default 'no'.
        This parameter is the parent for 'sas_ccf'and 'sas_odf'. 
        Both are kept as mandatory subparameters but now they must be defined 
        with absolute path.

Version 0.4 - 2021-03-02 (EO)
-----------
    + src/startsas/startsas.py:
        - Removed any tar files downloaded during processing.
        - sas_ccf and sas_odf are now mandatory with workdir as its parent 
          parameter. In case any or both of these two subparameters are given
          the workdir must be present and be set as workdir=other.
          Then sas_ccf and sas_odf values are expected in workdir.
    + config/startsas.par: sas_ccf and sas_odf now are decalred mandatory with
      workdir defined as its parent parameter. workdir is by default set to
      'pwd', but if sas_ccf and sas_odf are present in the command line or 
      in the args list, then workdir must be present and set as workdir=other.
    + doc/startsas_description.tex: Updated.
    + src/startsas/bin/startsas: If no arguments are given then startsas is 
      executed with args = ['-h'], so as the command 'startsas' will output
      the standard help for the task. 

Version 0.3 - 2021-03-02 (EO)
-----------
    + DEPEND: pysas 0.7 -> 1.0.
    + config/startsas.par: Added paramater 'workdir' which allow to specify
    the working directory. If not specified, the default is the directory
    from where the task is started. Can use environment variables like 
    $HOME or even bac tick commands like `pwd`, in the directory 
    defintion.
    + src/startsas/startsas.py: 
        * String docs refurbished to provide proper help on the task.
        * Added logging via TaskLogger class (pysas.logger).
        * Task produces startsas.log with full DEBUG information. File is
        created in append mode. It is created in the directory where the 
        task is started. 
        * Kept sas_ccf and sas_odf parameters to allow setting SAS_CCF
        and SAS_ODF from ipython/notebook interfaces. 
        * Logging to console is controlled via -V/--verbosity option.
        * stderr when working from a notebook is kept out of it.



Package taskmain: version 2.2 [was 2.1]

ChangeLog

Version 2.2 - 2020-11-15 (EO)
-----------
	+ test/tasks: Removed pythontask.py and runpythontask.
	+ src: Removed main.py.
	+ src/main.pl: Perl she-bang set to '/usr/bin/env perl'.
	Added use warnings. 


Package xmmextractorGUI: version 0.3.7 [was 0.3.6]

ChangeLog

Version 0.3.7 - 2021-02-28 (EO)
-------------
    + DEPEND: pysas 0.7 -> 1.0