Simulation result files

The simulator produces HDF5 files containing metadata and simulated time series for various quantities. Below we only describe the file format. We strongly discourage interacting directly with the raw HDF5 format as it may change in the future. It is preferable to use the provided file reader interface. See Interface to simulator result files for instructions.

Warning

The format has changed after the switch to chunked processing in preparation of the Mojito common dataset.

Time series

We distinguish two categories of sampled data:

  • “actual” data that the real instrument would send to earth

  • “debug” quantities computed by the simulator but not available in actual data

There are two variants of the file format, differing in the included quantities.

  • “basic” contains the “actual” datasets as well as a small selection of “debug” data which is frequently used for testing and analysis

  • “extended” contains the above as well as many intermediate results produced during the simulation

Actual data is stored in a group named as the quantity, as a continuous 1D HDF5 dataset named as the MOSA or spacecraft the data refers to. Debug data is organized the same but stored in a subgroup “debug” of the file. Examples for dataset paths are

/sci_dws_phis/12
/moc_time_correlations/3
/debug/sci_carrier_offsets/23

Time grids

The samples for a given dataset correspond to one of four regularly spaced time grids

  • Sample rate for actual data (“Regular”)

  • Higher sample rate used internally for the simulation (“Physics”)

  • Same as “Physics” but covering a larger range to include telemetry (“Extended”)

  • Low sample rate telemetry updates (“Telemetry”)

The sample times are not stored explicitly but have to be recovered from the metadata according to the relations \(t = t_0 + i \Delta t\), where \(\Delta t\) is given by the metadata items dt, physics_dt, or telemetry_dt for regular, physics/extended, or telemetry grids. \(t_0\) is given by metadata item t0 for all grids. The indices \(i\) for the samples cover a range given by HDF5 attributes index_start and index_stop of a given dataset, i.e. index_start <= i < index_stop. The start indices for datasets for the basic and physics grid are zero, whereas they can be negative for extended and telemetry grids. Redundantly, the metadata item telemetry_t0 provides the first element of the telemetry time grid.

All times are defined with respect to the LISA_EPOCH_TCB defined in the Lisaconstants package. Note however that this is only by convention, there is nothing stopping users from using different conventions. For example, using orbit and GW files version 2.* will lead to results also using the same time conventions. Producing such result files is strongly discouraged and only allowed for reasons of backward compatibility.

Actual data

Name

Time grid

MOSA or SC

Units

sci_dws_phis

Regular

Per MOSA

rad/s

sci_dws_etas

Regular

Per MOSA

rad/s

sci_carriers

Regular

Per MOSA

Hz

sci_usbs

Regular

Per MOSA

Hz

tmi_carriers

Regular

Per MOSA

Hz

tmi_usbs

Regular

Per MOSA

Hz

ref_carriers

Regular

Per MOSA

Hz

ref_usbs

Regular

Per MOSA

Hz

mprs

Regular

Per MOSA

s

moc_time_correlations

Telemetry

Per SC

s

Basic debug data

Name

Time grid

MOSA or SC

Units

sci_carrier_offsets

Regular

Per MOSA

Hz

sci_carrier_fluctuations

Regular

Per MOSA

Hz

sci_usb_offsets

Regular

Per MOSA

Hz

sci_usb_fluctuations

Regular

Per MOSA

Hz

tmi_carrier_offsets

Regular

Per MOSA

Hz

tmi_carrier_fluctuations

Regular

Per MOSA

Hz

tmi_usb_offsets

Regular

Per MOSA

Hz

tmi_usb_fluctuations

Regular

Per MOSA

Hz

ref_carrier_offsets

Regular

Per MOSA

Hz

ref_carrier_fluctuations

Regular

Per MOSA

Hz

ref_usb_offsets

Regular

Per MOSA

Hz

ref_usb_fluctuations

Regular

Per MOSA

Hz

Extended debug data

Name

Time grid

MOSA or SC

Units

clock_noise_offsets

Physics

Per SC

s/s

clock_noise_fluctuations

Physics

Per SC

s/s

clock_noise_fluctuations_withinitial

Extended

Per SC

s/s

integrated_clock_noise_fluctuations_withinitial

Extended

Per SC

s

integrated_clock_noise_fluctuations

Physics

Per SC

s

sc_jitter_phis

Physics

Per SC

rad/s

sc_jitter_etas

Physics

Per SC

rad/s

sc_jitter_thetas

Physics

Per SC

rad/s

tps_wrt_scet

Physics

Per SC

s

tps_wrt_tcb

Physics

Per SC

s

moc_time_correlation_noises

Telemetry

Per SC

s

scet_wrt_tps_local

Physics

Per SC

s

scet_wrt_tcb_withinitial

Extended

Per SC

s

pprs

Physics

Per MOSA

s

d_pprs

Physics

Per MOSA

s/s

gws

Physics

Per MOSA

s/s

glitch_tms

Physics

Per MOSA

m/s

glitch_lasers

Physics

Per MOSA

Hz

tdir_modulations_tseries

Physics

Per MOSA

Hz

laser_noises

Physics

Per MOSA

Hz

modulation_noises

Physics

Per MOSA

s/s

backlink_noises

Physics

Per MOSA

s/s

testmass_noises

Physics

Per MOSA

m/s

ranging_noises

Physics

Per MOSA

s

oms_sci_carrier_noises

Physics

Per MOSA

s/s

oms_sci_usb_noises

Physics

Per MOSA

s/s

oms_tmi_carrier_noises

Physics

Per MOSA

s/s

oms_tmi_usb_noises

Physics

Per MOSA

s/s

oms_ref_carrier_noises

Physics

Per MOSA

s/s

oms_ref_usb_noises

Physics

Per MOSA

s/s

mosa_jitter_phis

Physics

Per MOSA

rad/s

mosa_jitter_etas

Physics

Per MOSA

rad/s

mosa_jitter_xs

Physics

Per MOSA

m/s

dws_phi_noises

Physics

Per MOSA

rad/s

dws_eta_noises

Physics

Per MOSA

rad/s

mosa_total_jitter_phis

Physics

Per MOSA

rad/s

mosa_total_jitter_etas

Physics

Per MOSA

rad/s

local_carrier_offsets

Physics

Per MOSA

Hz

local_carrier_fluctuations

Physics

Per MOSA

Hz

local_usb_offsets

Physics

Per MOSA

Hz

local_usb_fluctuations

Physics

Per MOSA

Hz

local_ttls

Physics

Per MOSA

m/s

distant_ttls

Physics

Per MOSA

m/s

distant_carrier_offsets

Physics

Per MOSA

Hz

distant_carrier_fluctuations

Physics

Per MOSA

Hz

distant_usb_offsets

Physics

Per MOSA

Hz

distant_usb_fluctuations

Physics

Per MOSA

Hz

adjacent_carrier_offsets

Physics

Per MOSA

Hz

adjacent_carrier_fluctuations

Physics

Per MOSA

Hz

adjacent_usb_offsets

Physics

Per MOSA

Hz

adjacent_usb_fluctuations

Physics

Per MOSA

Hz

local_sci_carrier_offsets

Physics

Per MOSA

Hz

local_sci_carrier_fluctuations

Physics

Per MOSA

Hz

local_sci_usb_offsets

Physics

Per MOSA

Hz

local_sci_usb_fluctuations

Physics

Per MOSA

Hz

distant_sci_carrier_offsets

Physics

Per MOSA

Hz

distant_sci_carrier_fluctuations

Physics

Per MOSA

Hz

distant_sci_usb_offsets

Physics

Per MOSA

Hz

distant_sci_usb_fluctuations

Physics

Per MOSA

Hz

tps_sci_carrier_offsets

Physics

Per MOSA

Hz

tps_sci_carrier_fluctuations

Physics

Per MOSA

Hz

tps_sci_usb_offsets

Physics

Per MOSA

Hz

tps_sci_usb_fluctuations

Physics

Per MOSA

Hz

tps_sci_dws_phis

Physics

Per MOSA

rad/s

tps_sci_dws_etas

Physics

Per MOSA

rad/s

local_tmi_carrier_offsets

Physics

Per MOSA

Hz

local_tmi_carrier_fluctuations

Physics

Per MOSA

Hz

local_tmi_usb_offsets

Physics

Per MOSA

Hz

local_tmi_usb_fluctuations

Physics

Per MOSA

Hz

adjacent_tmi_carrier_offsets

Physics

Per MOSA

Hz

adjacent_tmi_carrier_fluctuations

Physics

Per MOSA

Hz

adjacent_tmi_usb_offsets

Physics

Per MOSA

Hz

adjacent_tmi_usb_fluctuations

Physics

Per MOSA

Hz

tps_tmi_carrier_offsets

Physics

Per MOSA

Hz

tps_tmi_carrier_fluctuations

Physics

Per MOSA

Hz

tps_tmi_usb_offsets

Physics

Per MOSA

Hz

tps_tmi_usb_fluctuations

Physics

Per MOSA

Hz

local_ref_carrier_offsets

Physics

Per MOSA

Hz

local_ref_carrier_fluctuations

Physics

Per MOSA

Hz

local_ref_usb_offsets

Physics

Per MOSA

Hz

local_ref_usb_fluctuations

Physics

Per MOSA

Hz

adjacent_ref_carrier_offsets

Physics

Per MOSA

Hz

adjacent_ref_carrier_fluctuations

Physics

Per MOSA

Hz

adjacent_ref_usb_offsets

Physics

Per MOSA

Hz

adjacent_ref_usb_fluctuations

Physics

Per MOSA

Hz

tps_ref_carrier_offsets

Physics

Per MOSA

Hz

tps_ref_carrier_fluctuations

Physics

Per MOSA

Hz

tps_ref_usb_offsets

Physics

Per MOSA

Hz

tps_ref_usb_fluctuations

Physics

Per MOSA

Hz

scet_sci_carrier_offsets

Physics

Per MOSA

Hz

scet_sci_carrier_fluctuations

Physics

Per MOSA

Hz

scet_sci_usb_offsets

Physics

Per MOSA

Hz

scet_sci_usb_fluctuations

Physics

Per MOSA

Hz

scet_sci_dws_phis

Physics

Per MOSA

rad/s

scet_sci_dws_etas

Physics

Per MOSA

rad/s

scet_tmi_carrier_offsets

Physics

Per MOSA

Hz

scet_tmi_carrier_fluctuations

Physics

Per MOSA

Hz

scet_tmi_usb_offsets

Physics

Per MOSA

Hz

scet_tmi_usb_fluctuations

Physics

Per MOSA

Hz

scet_ref_carrier_offsets

Physics

Per MOSA

Hz

scet_ref_carrier_fluctuations

Physics

Per MOSA

Hz

scet_ref_usb_offsets

Physics

Per MOSA

Hz

scet_ref_usb_fluctuations

Physics

Per MOSA

Hz

electro_sci_carrier_offsets

Physics

Per MOSA

Hz

electro_sci_carrier_fluctuations

Physics

Per MOSA

Hz

electro_sci_usb_offsets

Physics

Per MOSA

Hz

electro_sci_usb_fluctuations

Physics

Per MOSA

Hz

electro_tmi_carrier_offsets

Physics

Per MOSA

Hz

electro_tmi_carrier_fluctuations

Physics

Per MOSA

Hz

electro_tmi_usb_offsets

Physics

Per MOSA

Hz

electro_tmi_usb_fluctuations

Physics

Per MOSA

Hz

electro_ref_carrier_offsets

Physics

Per MOSA

Hz

electro_ref_carrier_fluctuations

Physics

Per MOSA

Hz

electro_ref_usb_offsets

Physics

Per MOSA

Hz

electro_ref_usb_fluctuations

Physics

Per MOSA

Hz

filtered_sci_carrier_offsets

Physics

Per MOSA

Hz

filtered_sci_carrier_fluctuations

Physics

Per MOSA

Hz

filtered_sci_usb_offsets

Physics

Per MOSA

Hz

filtered_sci_usb_fluctuations

Physics

Per MOSA

Hz

filtered_sci_dws_phis

Physics

Per MOSA

rad/s

filtered_sci_dws_etas

Physics

Per MOSA

rad/s

filtered_tmi_carrier_offsets

Physics

Per MOSA

Hz

filtered_tmi_carrier_fluctuations

Physics

Per MOSA

Hz

filtered_tmi_usb_offsets

Physics

Per MOSA

Hz

filtered_tmi_usb_fluctuations

Physics

Per MOSA

Hz

filtered_ref_carrier_offsets

Physics

Per MOSA

Hz

filtered_ref_carrier_fluctuations

Physics

Per MOSA

Hz

filtered_ref_usb_offsets

Physics

Per MOSA

Hz

filtered_ref_usb_fluctuations

Physics

Per MOSA

Hz

scet_mprs

Physics

Per MOSA

s

tps_mprs

Physics

Per MOSA

s

filtered_mprs

Physics

Per MOSA

s

scet_wrt_tps_distant

Physics

Per MOSA

s

fplan_ts

Physics

Per MOSA

Hz

mprs_unambiguous

Regular

Per MOSA

s

iprs

Regular

Per MOSA

s

Metadata

The root group of the files has the following attributes

  • version Version number of the simulator

  • version_format Version of the file format

  • git_url URL of the simulator code repository

  • metadata_json JSON string storing dictionary of simulation metadata

  • description optional free-form text description

Currently, version and version_format are identical but for the future it is planned that the latter will only be synced to the former when the format changes.

The simulation metadata is stored as a flat dictionary with the following entries

seed: int
dt: float
t0: float
size: int
fs: float
duration: float
initial_telemetry_size: int
telemetry_downsampling: int
telemetry_fs: float
telemetry_dt: float
telemetry_size: int
telemetry_t0: float
physics_upsampling: int
physics_size: int
physics_dt: float
physics_fs: float
aafilter_coeffs: list[float] | None
aafilter_group_delay: float
central_freq: float
offset_freqs: dict[str, float]
lock_config: str | None
lock: dict[str, str]
fplan_file: str | None
fplan: dict[str, float | None] | None
laser_asds: dict[str, float]
modulation_asds: dict[str, float]
modulation_freqs: dict[str, float]
tdir_modulations: str
clock_asds: dict[str, float]
clock_offsets: dict[str, float]
clock_freqoffsets: dict[str, float]
clock_freqlindrifts: dict[str, float]
clock_freqquaddrifts: dict[str, float]
clockinv_tolerance: float
clockinv_maxiter: int
ranging_biases: dict[str, float]
ranging_asds: dict[str, float]
prn_ambiguity: float | None
backlink_asds: dict[str, float]
backlink_fknees: dict[str, float]
testmass_asds: dict[str, float]
testmass_fknees: dict[str, float]
testmass_fbreak: dict[str, float]
testmass_frelax: dict[str, float]
testmass_shape: str
oms_sci_carrier_asds: dict[str, float]
oms_sci_usb_asds: dict[str, float]
oms_tmi_carrier_asds: dict[str, float]
oms_tmi_usb_asds: dict[str, float]
oms_ref_carrier_asds: dict[str, float]
oms_ref_usb_asds: dict[str, float]
oms_fknees: dict[str, float]
ttl_coeffs_local_phis: dict[str, float]
ttl_coeffs_distant_phis: dict[str, float]
ttl_coeffs_local_etas: dict[str, float]
ttl_coeffs_distant_etas: dict[str, float]
sc_jitter_phi_asds: dict[str, float]
sc_jitter_eta_asds: dict[str, float]
sc_jitter_theta_asds: dict[str, float]
mosa_jitter_x_asds: dict[str, float]
mosa_jitter_phi_asds: dict[str, float]
mosa_jitter_eta_asds: dict[str, float]
dws_asds: dict[str, float]
laser_shape: str
moc_time_correlation_asds: dict[str, float]
sc_jitter_phi_fknees: dict[str, float]
sc_jitter_eta_fknees: dict[str, float]
sc_jitter_theta_fknees: dict[str, float]
mosa_jitter_phi_fknees: dict[str, float]
mosa_jitter_eta_fknees: dict[str, float]
delay_isc_min: float
delay_isc_max: float
delay_clock_max: float
mosa_angles: dict[str, float]
orbit_file: str | None
orbit_dataset: str | None
orbit_t0: float
gw_file: str | None
gw_group: str | None
glitch_file: str | None
interpolation_order: int
electro_delays_scis: dict[str, float]
electro_delays_tmis: dict[str, float]
electro_delays_refs: dict[str, float]