Configuration

Configuration Setup

The SPLIT orchestrator runs by ingesting two distinct JSON configuration files:

  1. emri_config.json: Controls the physical properties and the signal injection parameters.

    • Defines fundamental parameters including m1, m2, a, p0, e0, and starting orientations, phases.

    • Sets up the trajectory slice settings, dictating the total time T in years, number of blocks Nblocks, desired network SNR scaling, frequency bounds, and prior tolerance allowances sigma_prior.

    • Model Specification: Controls the waveform generator used for data injection (data_model) and the template used for inference (analysis_model). These natively accept standard FEW string identifiers (e.g., "FastKerrEccentricEquatorialFlux"). You can also inject purely custom environmental/glitch waveforms via code while recovering with vacuum GR. The user can also supply additional arguments for the custom waveform model using "add_args".

    • Response Wrapper: Allows toggling the LISA instrument response simulation via the "response" boolean flag. If false, the pipeline defaults to evaluating raw strain using the Long-Wavelength Approximation (LWA) sensitivity curve.

  2. sample_config.json: Manages the Eryn MCMC sampler mechanics.

    • Assigns static and evolving parameters that should be inferred through static_params and evolving_params, respectively.

    • Assigns the set of fixed evolving parameters through fixed_evolving and automatically assigns any remaining model parameters to fixed_static.

    • Configures Eryn’s EnsembleSampler method with nwalkers, ntemps, nsteps, probability thresholds for the custom moves, etc. Allows for dynamically linked resuming output chains via new_filename/old_filename.

See emri_config.json and sample_config.json for working examples.

emri_config.json reference

Key

Type

Description

m1, m2

float

Primary and secondary masses (solar masses).

a

float

Dimensionless spin of the primary.

p0, e0

float

Initial semi-latus rectum and eccentricity.

xI0

float

Initial cosine of the orbital inclination.

dist

float

Luminosity distance (Gpc).

qS, phiS

float

Sky-location polar angles (radians).

qK, phiK

float

Spin-orientation polar angles (radians).

Phi_phi0, Phi_r0, Phi_theta0

float

Initial orbital phases.

T

float

Total observation time (years).

Nblocks

int

Number of loosely-coherent blocks. Set to 1 for a fully coherent analysis.

dt

float

Sampling cadence (seconds).

fmin, fmax

float

Frequency-band edges used for likelihood (Hz).

SNR_target

float

Target network SNR; the injection is rescaled to match.

sigma_prior

float | list

Tolerance(s) controlling the per-block Student-t prior width.

data_model

str

FEW string identifier of the waveform model used for injection.

analysis_model

str

FEW string identifier of the template used for inference.

add_args

dict

Extra keyword arguments forwarded to a custom waveform model.

response

bool

If true, apply the LISA ResponseWrapper; if false, use the LWA sensitivity curve on raw strain.

sample_config.json reference

Key

Type

Description

static_params

list[str]

Parameter names to be sampled as static (shared across all blocks).

evolving_params

list[str]

Parameter names to be sampled as evolving (per-block).

fixed_evolving

list[str]

Evolving parameters held fixed at their injected values.

nwalkers

int

Number of MCMC walkers per temperature. Minimum recommended: 4 × ndim.

ntemps

int

Number of parallel-tempering temperatures.

nsteps

int

Number of sampler iterations.

burn

int

Number of burn-in iterations before the main run.

jitter

float

Gaussian scatter applied when initializing walkers around the truth.

custom_bounds

dict

Optional per-parameter (low, high) overrides of the default prior bounds.

move_probs

dict

Selection probabilities for each custom MCMC move.

new_filename

str

Output HDF5 backend filename.

old_filename

str | null

If non-null, resume from this backend instead of starting fresh.

Tip: Any model parameter listed in neither static_params, evolving_params, nor fixed_evolving is automatically appended to fixed_static and held at its injected value.