Instructions for running the LISA Simulator at LHEA

Introduction

The LISA Simulator was created by Neil Cornish, Louis Rubbo, and Olivier Poujade. The calculations used in the Simulator are based on Cornish & Rubbo (2003). The version available at LHEA is v2.0 as modified by Keith Arnaud to fix a couple of bugs, provide an easier user interface, and convert binary output files to FITS format.

Set-up

The LISA Simulator lives in /software/LISA/Simulator/bin.OS, where OS is one of linux, mac, osf, or sun, so you probably want to add this to your path to make it easier to run the programs. eg
unix> setenv PATH "/software/LISA/Simulator/bin.linux:$PATH"
You also need to
unix> setenv LISA_Simulator /software/LISA/Simulator
I have a script ~kaa/scripts/go_lisa which does this set-up. If the /software partition is not available on your computer then you need to ask system to mount it.

This set-up will ensure that you use several files that I have pre-calculated. These files give the interferometer arm vectors and time intervals for the assumed one year observation.

You should create Data and Binary sub-directories of the directory in which you will be operating. If these sub-directories do not exist some of the programs below will spend a long time calculating and then die because they can't write out an output file - this is annoying.

Input waveforms

The program Newtonian generates an example waveform file for a Newtonian binary. To use it you should copy Newtonian.par from $LISA_Simulator and edit this file for the source you want to simulate. The program Newtonian will read a Newtonian.par in the directory in which you are running. The parameters are defined as follows :

root the rootname of the output files to be created
nsource use 2^nsource sample data points (this must be 20 to use the pre-calculated files referred to above)
ObsTime the observation time in years (must be 1 to use the pre-calculated files)
theta polar location of the source in heliocentric-ecliptic coordinates (this isn't actually used by the program but is passed on in the output file)
phi azimuthal location of the source in heliocentric-ecliptic coordinates (this isn't actually used by the program but is passed on in the output file)
inc inclination angle of the binary
psi principal polarization angle
fgw gravitational wave frequency (fgw)
M1 rest mass (in Solar masses) of the primary
M2 rest mass (in Solar masses) of the secondary
r luminosity distance (in kpc) of the source
phase initial phase of the binary

Newtonian will create output files, rootname.dat and rootname.txt in a sub-directory Data of the directory in which the program is run.

The file format for waveforms is an ASCII file. The first line should contain the values of nsource, theta, phi, ObsTime (in seconds), and root. The next 2^nsource lines are the + and x strain.

The ASCII file has to be converted to a binary format for use by the Simulator. The program GWconverter does this. It takes as argument the location of the ASCII file and outputs files to a sub-directory Binary of the directory in which the program runs.

The Newtonian.par file in $LISA_Simulator will create the file AMCVn.dat eg

    Newtonian
    GWconverter Data/AMCVn.dat

Noiseless Simulated Data

Noiseless simulated LISA data for an input waveform can be calculated using the program VertexSignals. This takes a single argument of value 1, 2, or 3 specifying the satellite for which the output data is to be simulated. The input files are the Binary/GW*.dat created by GWconverter. The output files are Binary/Michelson#Signal.dat (where # is 1, 2, or 3) for the Michelson signal and Binary/#Noise.dat (where # is X, Y, or Z) for the TDI signal. These are both FITS format files.

For example :

    VertexSignals 1

Adding Noise

To add noise into the signal generated in the last section you must first generate the noise. This is done using two programs : InstrumentNoise and VertexNoise. InstrumentNoise, which takes no arguments or input files, generates random shot and acceleration noise for each time interval for each beam. The output is a large collection of binary files Binary/AccNoise* and Binary/ShotNoise*. These are written in FITS format. To create the noise files for a specific spacecraft use VertexNoise. This program takes a single argument (1, 2, or 3) for the spacecraft. It reads the AccNoise* and ShotNoise* files and generates output files Binary/Michelson#Signal.dat (where # is 1, 2, or 3) for the Michelson noise and Binary/#Noise.dat (where # is X, Y, or Z) for the TDI noise. These are both FITS format files.

The combination of signal and noise is performed using VertexSimulator. This program takes a single argument (1, 2, or 3) for the spacecraft. It reads the files output from VertexSignal and VertexNoise and combines them to give ASCII time series files *_M#pure_Time.dat (Michelson signal only), *_M#_Time.dat (Michelson signal+noise), *_#pure_Time.dat (TDI signal only), *_#_Time.dat (TDI signal+noise). It also creates a file *_Times.dat with the actual times for each point in the time series. All these files are placed in the Data sub-directory.

For example :

    InstrumentNoise
    VertexNoise 1
    VertexSimulator 1

Calculating Power Spectra

Each of the output files from VertexSimulator can be FFTed using FFT_Response. There are two ASCII output files - one giving the full LISA bandwidth power spectrum and the other a zoomed-in view about the frequency 1/512.

For example :

    FFT_Response Data/AMCVn_M1pure_Time.dat Fullpowspec.dat Zoompowspec.dat

Binary FITS files produced by the other programs can be FFTed by FFT_Noise. This writes two ASCII output files - one giving the full LISA bandwidth power spectrum, the other the averaged (256 point samples) power spectrum.