This is an old revision of the document!
Table of Contents
Inference of gravitational-wave signals
A Bayesian analysis of a gravitational-wave signal which is not accompanied by electromagnetic signals can be performed within nmma following two main steps:
1) setting up a config.ini
file and running the command
nmma_gw_generation config.ini
2) perform the analysis or parameter estimation using:
nmma_gw_analysis <name_of_analysis>_data_dump.pickle
Below, we provide an example of a gravitational-wave inference setup using observational data of GW170817 and another example for an injection based analysis.
Inference of an observed GW signal: GW170817
1) We start to set up a config.ini
file and adapt it to our specific case. An example is shown below:
################################################################################ ## Data generation arguments ################################################################################ trigger_time = 1187008882.43 ################################################################################ ## Detector arguments ################################################################################ detectors = [H1, L1, V1] psd_dict = {H1=data/GW170817/h1_psd.txt, L1=data/GW170817/l1_psd.txt, V1=data/GW170817/v1_psd.txt} channel_dict = {H1=LOSC-STRAIN, L1=LOSC-STRAIN, V1=LOSC-STRAIN} data_dict = {H1=data/GW170817/H-H1_LOSC_CLN_16_V1-1187007040-2048.gwf, L1=data/GW170817/L- L1_LOSC_CLN_16_V1-1187007040-2048.gwf, V1=data/GW170817/V-V1_LOSC_CLN_16_V1-1187007040-2048.gwf} duration = 128 ################################################################################ ## Job submission arguments ################################################################################ label = GW170817 outdir = outdir ################################################################################ ## Likelihood arguments ################################################################################ distance-marginalization=False phase-marginalization=False time-marginalization=False ################################################################################ ## Prior arguments ################################################################################ prior-file = GW170817.prior ################################################################################ ## Waveform arguments ################################################################################ frequency-domain-source-model = lal_binary_neutron_star waveform_approximant = IMRPhenomPv2_NRTidalv2 binary-type=BNS ################################################################################ ## EOS arguments ################################################################################ with-eos=True eos-data=./eos/eos_IST_sorted Neos=15000 eos-weight=./eos/EOS_IST_sorted_weight.dat
The trigger time is the time of the observed event. With regard to detector arguments, one has to specify which detectors should be used. For example, detectors = [H1, L1, V1] stand for LIGO detectors Hanford, Livingston and Virgo. For each detector, the noise power spectral density of gravitational wave detector needs to be provided. Within data_dict
, one needs to provide the GW170817 data measured within each detector.
With regard to likelihood arguments, we can specify if want a marginal likelihood that has been integrated over the parameter space, e.g. for distance, phase, or time. The prior file should be tailored to the observed event, in this case GW170817 but also with regard to the GW model that is used for the parameter estimation. The GW model can be specified in waveform_approximant
. Here, we use the phenomenological model IMRPhenomPv2_NRTidalv2 for a precessing binary neutron star model.
For inferring the source properties of GW170817, we will sample over a set of EOSs that were computed with Chiral Effective Field Theory. The EOS set 15nsat_cse_natural_R14
was used in the study of Huth et al. and can be downloaded there. In order to make use of the EOS set during the sampling, a pre-routine is required. Within this step, one can include different constraints on the NS EOS such as measurement of NICER or pulsar measurements which is reflected in the EOS_sorted_weight.dat
and one needs to sort the EOS files eos_sorted
in order to reduce sampling time.
Once the `config.ini` file is set, the genertation can be run with `nmma_gw_generation config.ini` which will create a directory `outdir`. The submit file for the inference can be found under `outdir/data/<name_of_analysis>_data_dump.pickle` in the example above it would be `GW170817_data_dump.pickle`. For the analysis of GW signals, it is recommended to run the inference (`nmma_gw_analysis <name_of_analysis>_data_dump.pickle`) on larger clusters. An exemplary submit script is shown below:
#!/bin/bash #SBATCH -p <queue_name> #SBATCH --job-name=GW170817 #SBATCH --nodes=17 #SBATCH --ntasks-per-node=48 #SBATCH --time=48:00:00 #SBATCH -o outdir/log_data_analysis/GW170817.log #SBATCH -e outdir/log_data_analysis/GW170817.err #SBATCH -D ./ #SBATCH --export=NONE #SBATCH --no-requeue #SBATCH --account=<account_name> #SBATCH --mail-type=BEGIN,END #SBATCH --mail-user=<email> module load slurm_setup module load python/3.8 source <path_to_environment>/bin/activate
export SLURM_EAR_LOAD_MPI_VERSION="intel" #for Intel MPI export MKL_NUM_THREADS="1" export MKL_DYNAMIC="FALSE" export OMP_NUM_THREADS=1 export MPI_PER_NODE=48
mpiexec -n $SLURM_NTASKS nmma_gw_analysis outdir/data/GW170817_data_dump.pickle --nlive 2048 --maxmcmc 10000 --nact 10 --no-plot --label GW170817 --outdir outdir/result --sampling-seed 1234
The final posterior samples for the observed event GW170817 can be found under `outdir/result/`.