560 likes | 667 Vues
This guide explores command-line analysis and scripting for XMM data reduction. It provides an overview of the command-line environment, reasons to use scripts, and practical examples such as SASmakecalev and SASprepareXMM. The document discusses setting up the user environment, running scripts for imaging and spectral analysis, and emphasizes the benefits of scripting, such as consistency and efficiency in data processing. You'll find essential parameters, help commands, and tips for executing complex commands effectively.
E N D
XMM data reduction: part IISAS command-line analysis and scripting Andy Read
Overview • Command-line examples/help • Why use command-line and scripts? • Example scripts : SASmakecalev & SASprepareXMM • Imaging scripts & spectral scripts • Scripts within scripts • Final remarks XMM data reduction: part II
Command line examples Setting up the user environment (from Tim’s talk) • To run on XROA system: > sas-setup-6.5.0 initialises software > setenv SAS_ODF (path_to_ODF_directory) e.g. /data/71/tro/xmm_data/0106860101/odf/ > setenv SAS_CCFPATH /data/rb2/sas_ccf > cifbuild fullpath=yes >& cifbuild.log builds ccf.cif– calibration index file > setenv SAS_CCF (path_to_ccf.cif_file) > odfingest odfdir=$SAS_ODF outdir=$SAS_ODF >& odfingest.log builds ***SUM.SAS file in ODF directory – ODF summary file necessary for reprocessing XMM data reduction: part II
Command line help - Simple help – parameters and default values XMM data reduction: part II
- More - Parameters, parameter types, default values and ‘one-line’ help XMM data reduction: part II
- Full help – Links to SAS web pages - Cut and paste link into browser XMM data reduction: part II
Why use scripts? • Scripts are just a list of command-line calls/commands run sequentially • There are many powerful command line calls • Can run intensive analysis on many datasets, sources etc. • Can be sure of doing exactly the same thing every time, e.g. running exactly the same procedures on many sources/datasets • No need for interactive use • - can run overnight (no need to be there) • - can run as cron jobs (no need to be even logged in) • Often need to redo entire analysis, e.g. • - New calibration files • - New ODF files • - Mistake, change in e.g. source positions, detection threshold etc. Useful scripting cookbook at http://starlink.rl.ac.uk/star/docs/sc4.htx/sc4.html XMM data reduction: part II
Example script : SASmakecalev XMM data reduction: part II
Executable t-shell script Comment lines Runs at low priority Number of arguments On-screen help – appears whenever incorrect number of arguments is given (e.g. zero) If correct number of arguments is given (7) then input arguments (1-7) converted to parameters used in script, and we move into the main body of the script XMM data reduction: part II
Check that ODF exists (otherwise exit) Get SAS version (for directory naming) Create (if necessary) output directory, and (if allowed) enter XMM data reduction: part II
Check ODF Set SAS_ODF environment variable Check for ***SUM.SAS file (Check for ***SUM.ASC file) Create ccf.cif – calibration index file Set SAS_CCF environment variable Create ***SUM.SAS file in ODF directory – ODF summary file necessary for reprocessing Output all SAS environment variables to screen – useful check XMM data reduction: part II
Run emproc (if required) Run emchain (if required) Run epproc (if required) Run epchain (if required) List created final calibrated event lists and exit XMM data reduction: part II
Run script XMM data reduction: part II
Example script : SASprepareXMM XMM data reduction: part II
Soft Proton flaring in an observation of a Galaxy Group XMM data reduction: part II
Executable t-shell script Comment lines Runs at low priority Number of arguments On-screen help – appears whenever incorrect number of arguments is given (e.g. none) XMM data reduction: part II
If correct number of arguments is given (9) then input arguments (1-9) converted to parameters used in script If requested : Check ODF Check for ***SUM.SAS file Create ***SUM.SAS file in ODF Set SAS_ODF environment variable XMM data reduction: part II
If requested : Create ccf.cif – calibration index file Set SAS_CCF environment variable Output all SAS environment variables to screen – useful check XMM data reduction: part II
Convert patcode parameter into an expression for evselect XMM data reduction: part II
MOS1 example (comment) XMM data reduction: part II
If $m1 does not equal 0, OK – continue to next line If $m1 equals 0, ignore this whole section XMM data reduction: part II
If $m1 equals F, then we attempt to find the file Else, the file name is given by the parameters XMM data reduction: part II
Remove a temporary file if it already exists XMM data reduction: part II
Long list all the MOS1 event files in the directory to temporary file XMM data reduction: part II
Count the number of entries (MOS1 event files) in the temporary file XMM data reduction: part II
If only one MOS1 event file, use this XMM data reduction: part II
If more than one MOS1 event file, try to find the largest XMM data reduction: part II
Initiate loop through ‘i’ (i=0) XMM data reduction: part II
loop through ‘i’ until ‘i’ equals number of event files, then end XMM data reduction: part II
Increment ‘i’ by +1 (i=1) XMM data reduction: part II
Get size of ‘i’th file : Type the file, extract the top (head) ‘i’ lines, then extract the bottom (tail) line – file size is the 5th string in long listing XMM data reduction: part II
If size of ‘i’th file is larger than largest recorded, note ‘i’ (‘ibig’) and size as largest recorded XMM data reduction: part II
Loop round to next ‘i’ XMM data reduction: part II
Get name of largest file (i.e. file corresponding to ‘ibig’) : Type the file, extract the top (head) ‘ibig’ lines, then extract the bottom (tail) line – file name is the 9th string in long listing Set $m1 to this filename XMM data reduction: part II
Create (evselect) lightcurve : High-energy, single events, ‘good’ flags, 100s bins XMM data reduction: part II
Output help to screen: What is being done, what the user should do XMM data reduction: part II
Plot (dsplot) the light curve to the screen for user to examine XMM data reduction: part II
Request upper and lower threshold values from user XMM data reduction: part II
Use threshold values to create (tabgtigen) good times GTI file XMM data reduction: part II
Create (evselect) intermediate event file : filter on low-E threshold, pattern, flags, etc. XMM data reduction: part II
Create (evselect) final event file : filter intermediate file for good times using GTI file XMM data reduction: part II
Same for MOS2 XMM data reduction: part II
Same for pn XMM data reduction: part II
Enter MOS1 thresholds Same for MOS2 Same for pn New filtered event files (r1***EV***) smaller than originals XMM data reduction: part II
Already seen xmmselect GUI - clean data, and produce science products Only handles one dataset at a time Essentially a handy GUI ‘wrapper’ to the SAS-task ‘evselect’ evselect is the command-line workhorse of SAS analysis tasks Many scripts are command-line ‘wrappers’ of evselect and other SAS-tasks XMM data reduction: part II
Script to create images - Essentially an evselect wrapper, plus other tasks (e.g. asmooth) XMM data reduction: part II
e.g. 300-2000eV sky (X/Y) 2′′ images (raw and smoothed) [MOS-sdtq, pn-sd] MOS1 MOS2 pn MOS1 smoothed MOS2 smoothed pn smoothed XMM data reduction: part II
Script to create spectra + ARF, RMF and do grouping etc. Again, evselect wrapper, plus arfgen, rmfgen, grppha etc… SAS-task equivalent especget now much improved XMM data reduction: part II
createspectrum to create BG spectrum Note: can set parameters (here, co-ordinates from Tim’s region files) on the command line Run script (using parameters) XMM data reduction: part II