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