Running xselect in a batch
Creating xselect scripts from a template
The xselect_command_create
function will create a set of xselect scripts from a template, for all the specified ObsIDs.
First, create a file that has all of the names of the ObsID for example:
ObsID.dat:
3627010101
3627010201
This can be the same file as for nicerl2_command_create
.
Create a folder that will contain the template and the created scripts.
In this folder, place a template.dat
file that has the xselect commands with the ObsID replaced by {}. For example, to create light curves with a pha cut, it could look like this:
{}
read events
../../{}/xti/event_cl
ni{}_0mpu7_ufa.evt
yes
set bin 25
set phaname PI
filter pha_cut
40
200
extract curve
save curve
ni{}
exit
no
Then in python:
>>> import nicer.nicer as ni
>>> ni.xselect_command_create('folder', filename='ObsID.dat', template_f='Template.dat', run_f='run.sh')
or simply
>>> import nicer.nicer as ni
>>> ni.xselect_command_create('folder')
if using the default values and file locations.
This will create a set of .xco scripts in the specified folder, one for each ObsID. A single script can be executed like so:
> xselect @ni3627010101.xco
There is also a run.sh
file that gets created in the folder, that contains all of the commands, that is useful to run everything at once:
> bash run.sh