Configuration file format

BLIP’s user interface is a single .ini file with three sections: params, inj and run_params. The parameters without defaults must be set by the user, and are shown first.

Section params

fmin

Minimum frequency.

fmax

Maximum frequency.

duration

Duration in seconds, should be compatiable with fmin.

model

Recovery Model description write out as spectralmodel1_spatialmodel1+spectralmodel2_spatialmodel2+… exception, noise is just ‘noise’ with no spatial component handle duplicates as (e.g.) noise+powerlaw_isgwb-1+powerlaw_isgwb-2 spectral models available: noise, powerlaw, brokenpowerlaw, truncatedpowerlaw spatial models available: isgwb, sph, fixedgalaxy, hotpixel

nside

Healpix nside (skymap resolution).

seglen
Default:
1e5

Segment length for the analysis STFT fft in seconds, should be compatiable with fmin. Note by SB: Looks like this needs to be at least a factor of 10 larger than 1/fmin to give consistant recoveries.

tsplice
Default:
2.5e4

Splice length for the simulation in seconds, should be compatiable with fmin.

fs
Default:
0.25

Sample rate in Hz, should be compatible with fmax. Note by SB: Looks like this needs to be atleast a factor of 4 higher than fmax (as opposed to the usual factor of 2) to give consistent recoveries.

Shfile
Default:
LISA_2017_PSD_M.npy

[TODO – check depreciation]

load_data
Default:
false

Whether to load data from datafile.

datatype
Default:
strain

Doppler or strain data. MLDC data is doppler, autogenerated data is strain. Can be doppler or strain.

mldc
Default:
0

FIXME: doesn’t do anything!

datafile
Default:
None

Input data file. Only used if load_data is true. The data format is specified by datafileformat.

datafileformat
Default:
ldc

Format for external input data. Can be ‘mldc’ or ‘ldc’.

datadomain
Default:
time

How to interpret LDC data. Can be ‘time’ or ‘freq’.

ldc_dataset
Default:
obs/tdi

HDF5 path to array with TDI series in LDC input.

fref
Default:
0.001

TODO

fixedvals
Default:
None

Recovery model fixed values fixedvals allows you to fix the value of specific parameters in the recovery model These parameters will be set to the value provided and not sampled over Currently only implemented for the fixedgalaxy and hotpixel spatial models

alias
Default:
{}

Model/Injection aliasing optionally specify which models should be associated with which injections any models/injections left unspecified will be matched by name as default and if no match is found will not be treated as associated (i.e., truevals won’t be provided) notation is alias={‘model_name’:’injection_name’}

tdi_lev
Default:
xyz

Level of the tdi. Can be michelson, xyz or aet.

lisa_config
Default:
orbiting

LISA configuration. Can be stationary or orbiting.

model_basis
Default:
pixel

Skymap representation. Can be ‘pixel’ (Criswell+25 pixelated skymaps) or ‘sph’ (Banagiri+21 spherical harmonics).

tstart
Default:
0.0

Start time in seconds. Determines starting orbital position.

lmax
Default:
None

spherical harmonic lmax for the b_lms (a_lmax/2)

faster_geometry
Default:
true

Enable new response module

Section inj

doInj

Whether to generate data (injections).

loadInj
Default:
false

Whether to load a previously-generated injection from injdir.

inj_only
Default:
false

If true, BLIP will perform only the injection and data generation process, then exit.

injdir
Default:
None

If loadInj, path to injection directory.

injection
Default:
None

Injection model description Same syntax as for the Recovery Model Additional option: “population” generates spectral/spatial distributions from a DWD population

inj_basis
Default:
pixel

Skymap representation for the injection. Can be ‘pixel’ (Criswell+25 pixelated skymaps) or ‘sph’ (Banagiri+21 spherical harmonics).

truevals
Default:
None

Dictionary of injection ‘ground truth’. If doing an sph injection, blms should be given as complex quantities in a comma seperated list in healpix order b00 can only be 1. b_{l, -m} = (-1)**m b_lm blms = b00, b10, b11 for blmax = 1, alamx = 2 blms = b00, b10, b20, b11, b21, b22 for blmax = 2, almax = 4 blms = b00, b10, b20, b30, b11, b21, b31, b22, b32, b33 for blmax = 3, almax = 6 e.g. ‘blms’:[1.0, 0.75, 0.5, 0.7j, 0.7-0.3j, 1.1j]

parallel_inj
Default:
0

If true, BLIP will multithread data simulation on a component-by-component basis.

inj_nthread
Default:
None

How many processes to use for injection parallelization. No benefit from N_threads > N_components. Defaults to N_components.

response_nthread
Default:
1

[TODO – update or depreciate]

inj_lmax
Default:
None

Injection blmax. If not specified, will match to the analysis lmax.

population_params
Default:
None

Population injection Population Params Dict Dictionary with the settings for each population. Top-level keys should correspond to inj (+eventually, model)

Section run_params

sampler

Sampler to use. Supported: dynesty, numpyro.

out_dir

Output directory.

doPreProc
Default:
0

If true, force generation of fake data again rather than using precalculated data in the data_spectrum file

input_spectrum
Default:
data_spectrum.npz

Must be .npz file

projection
Default:
E

Projection used for making skymaps. Can be ‘E’ (ecliptic) or ‘G’ (galactic).

FixSeed
Default:
false

Whether to seed the sampler with the seed parameter.

seed
Default:
None

Seed for the sampler. Only used if FixSeed is true. Must be a 32-bit integer.

Nthreads
Default:
1

For multiprocessing, number of threads Warning: most often, multithreading the dynesty sampler does not result in significant gains as its proposal process must be serial.

N_GPU
Default:
0

GPUs (numpyro only) Number of available GPU devices If one GPU is available, Nthreads > 1 will vectorize chains on a single GPU. If more than one GPU is available, BLIP will parallelize across GPUs, setting Nthreads=N_GPU

colormap
Default:
magma

matplotlib colormap used for the skymaps.

nlive
Default:
800

Number of live points for dynesty or emcee.

sample_method
Default:
rwalk

Sampling method (dynesty only) see https://dynesty.readthedocs.io/en/latest/quickstart.html?highlight=method#sampling-options rslice recommended for MW foreground analyses

Nburn
Default:
1000

Length of burn-in phase. Affects numpyro.

Nsamples
Default:
1000

Number of samples. Affects emcee and numpyro.

show_progress
Default:
1

If false, disable numpyro progress bar. Disabling improves performance, especially when multithreading.

checkpoint
Default:
false

Checkpointing and restarting (dynesty/numpyro only). If checkpoint is true, the sampler will save its current state every so often. For dynesty this is every checkpoint_interval seconds. For numpyro the behavior changes depending on checkpoint_at and checkpoint_interval. To resume an interrupted checkpointed run, run blip on the copy of the params file in the output directory with ‘resume’ as an additional argument: run_blip [path/to/out_dir/params_file] resume

checkpoint_at
Default:
end

When to checkpoint (numpyro only). Can be ‘end’ (only saves sampler state at the very end of the run), ‘warmup’ (saves after warmup phase and at end), or ‘interval’ (saves after warmup, at end, and after every checkpoint_interval number of samples; need to also specify checkpoint_interval). Generally not worth checkpointing while sampling for large models/datasets, as the recompliation and GPU off/onloading time will exceed the sampling time.

checkpoint_interval
Default:
None

Checkpointing interval in seconds (dynesty) or samples (numpyro).

additional_samples
Default:
0

With (checkpointed) numpyro runs, you can get additional samples after the run has concluded by setting additional_samples in the run directory’s param file and doing: run_blip [paramsfile] resume