Back home

Notes on the challenge-2 generation pipeline

Prerequisites

A note on Cygwin

LISAtools works under Cygwin (at least, under version 1.5.24-2 on Windows XP). You must include the following additional packages in the Cygwin setup (I include the versions I tried, but anything newer would probably still work):

Note that currently we don’t have Neil’s Galaxy generation code. Hopefully that will be forthcoming. Please e-mail vallis@caltech.edu with any problems compiling or running LISAtools under cygwin.

SVN installation and a quick SVN tutorial

You will need to identify a working directory on your workstation, on a disk large enough to contain all working files (probably a few gigabytes if you want to reconstruct the full Galaxy). Supposing this directory is /home/vallis, the subdirectory /home/vallis/lisatools will become a working copy of the Google Code SVN archive “lisatools”, while /home/vallis/lib, /home/vallis/bin (and so on) will become the installation directories for the lisatools libraries.

To get the SVN archive, cd into /home/vallis and run

svn checkout http://lisatools.googlecode.com/svn/ lisatools

“co” stands for “checkout”. This will recreate the SVN directory structure in /home/vallis/lisatools. Inside this directory, you can use the SVN commands described at http://svnbook.red-bean.com/nightly/en/index.html. The most important svn commands are:

More installation

If you’ve successfully checked out this archive from the googlecode SVN, you’re almost ready to run the master installer script in lisatools. Before you do that, you will need to decide where the compiled lisatools libraries should be installed (for instance, /usr/local, or /home/yourname), and set some environment variables. For instance,

export LISATOOLS=/home/yourname
export PYTHONPATH=$LISATOOLS/lib/python2.X/site-packages:$PYTHONPATH
export PATH=$LISATOOLS/bin:$PATH

on bash, or

setenv LISATOOLS /home/yourname
setenv PYTHONPATH $LISATOOLS/lib/python2.X/site-packages:$PYTHONPATH
setenv PATH $LISATOOLS/bin:$PATH

on tcsh. In these commands, replace “python2.X” with the version of Python on your system (just run “python” to see what you have; exit with CTRL-D). These paths will need to be set whenever you begin a lisatools session, so you can work the commands above into your .profile or .tcshrc.

Great! We’re all set. Cd into lisatools, and run

python master-install.py --prefix=$LISATOOLS

This will install:

In fact, the master-install.py script will check if all these packages are already available in the system, and install them only if they are not. There are two exceptions, however:

You should be all set! If something went wrong, the script will complain in a way that suggests a solution. If not, you should complain to Michele.

Usage

Go to the directory lisatools/MLDCpipelines2. You will be working here. The primary script that you will be calling is bin/challenge2.py. It takes one argument and several possible options. The argument is the name of the challenge you want to build, for instance challenge2.1 or challenge2.2. For each such challenge, there must be a corresponding script (e.g., bin/challenge2.2.py), which has the task of choosing source parameters randomly for all the sources included in the challenge.

As for options, the only required option is the “master” seed for the random number generators used to make noise (option “-s” or “—-seed”). Other possible options are

options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-t, --training        include source information in output file [off by
                      default]
-T DURATION, --duration=DURATION
                      total time for TDI observables (s) [default 62914560 =
                      2 years = 2^22 * 15 s]
-d TIMESTEP, --timeStep=TIMESTEP
                      timestep for TDI observable sampling (s) [default 15]
-s SEED, --seed=SEED  seed for random number generator (int) [required]
-n SEEDNOISE, --seedNoise=SEENOISE
                      noise-specific seed (int) [will use the global seed
                                                 (-s/--seed) if not given]
-m, --make            will try to use partial results of an interrupted run
                                                    [will not redo sources]
-S, --synthlisa       run only Synthetic LISA [by default both sims are in]
-L, --lisasim         run only the LISA Simulator [by default both sims are in]

Note that the LISA Simulator will be called only if the DURATION is one or two years (31457280 or 62914560).

Thus, if bin/challenge2.2.py does source parameter generation for the Challenge 2.2 sources, the challenge dataset will be built with both Synthetic LISA and the LISA Simulator by running (for instance)

bin/challenge2.py --seed=1234 challenge2.2

while to get a training set you’ll do

bin/challenge2.py --training --seed=1234 challenge2.2

Secondary scripts

usage: makesource-BBH.py [options] OUTPUT.xml
options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-s SEED, --seed=SEED  seed for random number generator (int) [required]
-d D, --distance=D    distance to source (Pc) [required]
-t TC, --coalescTime=TC
                      time of coalescence from t = 0 (days) [required]
-v, --verbose         display parameter values [off by default]
usage: makebarycentric.py [options] SOURCEDEF.xml BARYCENTRIC.xml
options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-b PREBUFFER, --preBuffer=PREBUFFER
                      length of data computed before initial time (s)
                      [default 900.0]
-p POSTBUFFER, --postBuffer=POSTBUFFER
                      length of data computed after final time (s) [default
                      900.0]
-t INITTIME, --initialTime=INITTIME
                      initial time for waveform, not counting prebuffer (s)
                      [default 0.0]
-T DURATION, --duration=DURATION
                      total time for waveform, not counting pre- and
                      postbuffer (s) [default 31457280 = 2^21 * 15]
-d TIMESTEP, --timeStep=TIMESTEP
                      timestep for waveform sampling (s) [default 15]
-v, --verbose         display parameter values [off by default]
usage: makeTDIsignal-synthlisa.py [options] BARYCENTRIC.xml OUTPUT.xml
options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-t INITTIME, --initialTime=INITTIME
                      initial time for TDI observables (s) [default 0.0]
-T DURATION, --duration=DURATION
                      total time for TDI observables (s) [default 31457280 =
                      2^21 * 15]
-d TIMESTEP, --timeStep=TIMESTEP
                      timestep for TDI observable sampling (s) [default 15]
-v, --verbose         display parameter values [off by default]
usage: makeTDInoise-synthlisa.py [options] OUTPUT.xml
options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-t INITTIME, --initialTime=INITTIME
                      initial time for TDI observables (s) [default 0.0]
-T DURATION, --duration=DURATION
                      total time for TDI observables (s) [default 31457280 =
                      2^21 * 15]
-d TIMESTEP, --timeStep=TIMESTEP
                      timestep for TDI observable sampling (s) [default 15]
-s SEED, --seed=SEED  seed for random number generator (int) [required]
-v, --verbose         display parameter values [off by default]
usage: mergeXML.py [options] MERGED.xml TDIFILE-1.xml TDIFILE-2.xml ...
options:
--version      show program's version number and exit
-h, --help     show this help message and exit
-k, --keyOnly  output only SourceData information [off by default]
-n, --noKey    do not include SourceData information [off by default]

Correction of the amplitude in accord with requested SNR

Galaxy without noise: :listwg1b:galaxyxno_noise.png; Noise only :listwg1b:xyznoise.png; and all together: :listwg1b:galaxyxyznoise.png

Preliminary results