Read files

Read Mojito L1 files through the common mojito.MojitoL1 interface.

Reading files

Use open_l1() to open one or more existing Mojito L1 files. The function selects the reader implementation from the file version and returns a context manager. Use create_l1() to create a new versioned file. Always use readers within a with statement so that HDF5 resources are closed correctly.

from mojito import open_l1

with open_l1("path/to/file.h5") as l1:
        xyz = l1.xyz[:1000]
        time = l1.tdi_time_grid.t(idx=slice(0, 1000))

The current implementation supports Mojito L1 version 1 files through MojitoL1SingleFileV1 and version 2 files through MojitoL1SingleFileV2. The file version is read from the root version attribute when present; legacy files without that attribute are treated as version 1.0.0 for backward compatibility. Version dispatch is handled by open_single_file_l1(), which selects the matching reader for versions in the supported range and raises ValueError for unsupported versions.

Available quantities

The mojito.MojitoL1 protocol exposes metadata, TDI observables, light travel times, spacecraft orbits, and noise estimates.

Each group has an associated time grid, and noise estimates also have a log-uniform frequency grid. Dataset properties return lazy, array-like objects; data is read from the HDF5 file when a slice is requested.

Incomplete files

Single-file readers do not validate that every group is present when the file is opened. A property whose group or dataset is absent raises KeyError when accessed. The metadata properties also raise KeyError when a required root attribute is missing or has an unexpected type. The metadata setter validates the full dict and raises ValueError for missing or unexpected keys.

Note that some readers, when opened in write-capable mode, may create missing datasets automatically when accessed, based on the current grid sizes.

Reading multiple files

Pass a list of paths to open_l1() to create a read-only MojitoL1MultiFile reader:

with open_l1(["file1.h5", "file2.h5"]) as l1:
        xyz = l1.xyz[:1000]
        flags = l1.xyz_flags[:1000]

TDI observables and noise covariance estimates are summed lazily across files. Quality flags are combined with a logical OR. LTTs, orbit estimates, and their time grids are taken from the first file after compatibility checks.

The multi-file reader checks compatibility while entering the context. Files must have matching versions and all time and frequency grids must be identical. The first 200 samples of LTTs, LTT derivatives, spacecraft positions, and spacecraft velocities must also match. If opening or compatibility checking fails, readers that were opened before the failure are closed before the exception is re-raised.

Creating and modifying files

Use create_l1() to create a new file with an explicit format version.

with create_l1("path/to/file.h5", "1.0.0", mode="w-") as l1:
        l1.metadata = {
            "pipeline_name": "example",
            "lolipops_version": "1.0.0",
            "laser_frequency": 281600000000000.0,
        }
        l1.tdi_time_grid = ...  # Initialize the TDI time grid as needed
        l1.xyz[:] = np.array(...)  # Missing dataset are automatically created

Reference

mojito.reader.open_l1(paths, *, mode='r')[source]

Open one or more Mojito L1 files.

If multiple paths are provided, the L1 datasets are combined appropriately. Typically, TDI and noise estimate datasets are summed across the provided files; data quality flagged are combined using a logical OR operation.

Parameters:
  • paths (Path | str | list[Path | str]) – Path or list of paths to the Mojito L1 files.

  • mode (Literal['r', 'r+', 'a', 'w', 'w-'], default: 'r') – File mode to use when opening the files.

Returns:

The appropriate Mojito L1 class for the given file(s).

Return type:

MojitoL1

Raises:
  • ValueError – If multiple files are provided and the mode is not “r”.

  • ValueError – If the provided paths are invalid.

mojito.reader.create_l1(path, version, *, mode='w')[source]

Create a new Mojito L1 file.

Parameters:
  • path (Path | str) – Path to the file to create.

  • version (Version | str) – File format version to write and use for reader selection.

  • mode (Literal['r', 'r+', 'a', 'w', 'w-'], default: 'w') – File mode for creation. Write modes “a”, “w”, and “w-” are supported.

Return type:

MojitoL1

Returns:

The reader for the newly created file.

Raises:

ValueError – If no registered reader supports version.

mojito.reader.open_single_file_l1(path, *, mode)[source]

Select the appropriate single-file Mojito L1 class based on file.

The version is read from the file and matched against the supported version ranges of the concrete readers registered on MojitoL1SingleFile. This function only opens existing files; use create_l1() to create a new file.

Parameters:
  • path (Path | str) – Path to the Mojito L1 file.

  • mode (Literal['r', 'r+', 'a', 'w', 'w-']) – File mode to use when opening the Mojito L1 file.

Return type:

MojitoL1

Returns:

The appropriate Mojito L1 class for the given file.

Raises:

ValueError – If the file version is unsupported or cannot be determined.

class mojito.reader.MojitoL1SingleFileV1(path, *, mode='r')[source]

Single-file Mojito L1 reader for Mojito light files (>=1.0,<2.0).

This implementation supports reading and writing.

Metadata

In this specific format, metadata only accept three keys: “lolipops_version”, “pipeline_name”, and “laser_frequency”. These can be accessed and modified through the attributes lolipops_version, pipeline_name, and laser_frequency, as well as the usual metadata.

An error is raised if any of these required metadata keys are missing, or if one attempts to set another key.

Time and frequency grids

Time and frequency grids are required as they define the temporal and spectral resolution of the datasets. They can be modified, but it is the user’s responsibility to ensure consistency with the datasets.

Datasets

The datasets in this format are organized under specific HDF5 groups. Most datasets are lazily stacked before they are returned to the user. TDI datasets are lazily rescaled by the inverse laser frequency to convert from frequency units (as saved in the HDF5 file) to Doppler units (as required by the MojitoL1 protocol).

Datasets are read-write: when a dataset is missing from the HDF5 file, the accessors create an empty dataset with the expected shape and dtype based on the associated time or frequency grid.

File structure

Groups end with / and attributes start with @. Dataset shapes use the sizes of the time grids (N_tdi, N_ltt, N_orb, N_noise) and of the frequency grid (N_freq). Units are those stored in the file. {ij} stands for one dataset per MOSA, in the order of lisaconstants.indexing.MOSAS, and {i} for one dataset per spacecraft, in the order of lisaconstants.indexing.SPACECRAFT. Entries marked “not read” exist in Mojito light files but are ignored by this reader.

/
|-- @version                    str, optional ("1.0.0" if missing)
|-- @pipeline_name              str
|-- @lolipops_version           str
|-- @laser_frequency            float64 [Hz]
|-- @modulation_frequencies     (2,) float64 [Hz], not read
|-- tdis/
|   |-- sampling/               @t0, @dt, @size (@duration, @fs not read)
|   |-- eta_{ij}                (N_tdi,) float64 [Hz]
|   |-- X2, Y2, Z2              (N_tdi,) float64 [Hz]
|   |-- A2, E2, T2              (N_tdi,) float64 [Hz]
|   |-- eta_flags               (N_tdi,) int8, created if missing
|   `-- tdi_flags               (N_tdi,) int8, XYZ/AET flags, created if missing
|-- ltts/
|   |-- sampling/               @t0, @dt, @size (@duration, @fs not read)
|   |-- ltt_{ij}                (N_ltt,) float64 [s]
|   `-- ltt_derivative_{ij}     (N_ltt,) float64 [s/s]
|-- orbits/
|   |-- sampling/               @t0, @dt, @size (@duration, @fs not read)
|   |-- sc_position_{i}         (N_orb, 3) float64 [m]
|   `-- sc_velocity_{i}         (N_orb, 3) float64 [m/s]
|-- noise_estimates/
|   |-- sampling/               @t0, @dt, @size (@duration, @fs not read)
|   |-- log_frequency_sampling/ @fmin, @fmax, @size
|   |-- eta                     (N_noise, N_freq, 6, 6) complex128 [Hz^2/Hz]
|   |-- XYZ                     (N_noise, N_freq, 3, 3) complex128 [Hz^2/Hz]
|   `-- AET                     (N_noise, N_freq, 3, 3) complex128 [Hz^2/Hz]
|-- scet_wrt_tcb/               not read
|   |-- sampling/               @t0, @dt, @size, @duration, @fs
|   `-- scet_wrt_tcb_{i}        (N_scet,) float64
`-- ttl/                        not read
    |-- ttl_coefficients/
    |   |-- sampling/           @t0, @dt, @size, @duration, @fs
    |   `-- c_{ij}_{eta,phi}_{rx,tx}
    |                           (N_ttl,) float64
    `-- ttl_contribution_to_tdis/
        |-- eta_{ij}            (N_ttl,) float64
        |-- X2, Y2, Z2          (N_ttl,) float64
        `-- A2, E2, T2          (N_ttl,) float64

TDI and LTT datasets also carry @index_start and @index_stop attributes, which are not read.

property aet: Dataset

TDI AET 2 observables in Doppler units [dimensionless].

The quasi-orthogonal AET observables are computed from Michelson XYZ 2 observables, following the LISA Conventions.

They are stacked along the second dimension, ordered as A, E, T.

Return type:

Dataset of shape (time.size, aet=3)

property aet_flags: Dataset

Quality flags applicable to aet observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property aet_noise_estimates: Dataset

Noise covariance estimate for TDI AET in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the AET observables aet. The last two dimensions correspond to the 3 AET observables, ordered as A, E, T.

Return type:

Dataset of shape (time.size, frequency.size, aet=3, aet=3)

property eta: Dataset

TDI \(\eta\) observables in Doppler units [dimensionless].

The 6 intermediate \(\eta\) observables represent single-link measurements between pairs of spacecraft. They are computed from raw interferometric measurements.

They are stacked along the second dimension, ordered according to lisaconstants.indexing.MOSAS.

Return type:

Dataset of shape (time.size, mosa=6)

property eta_flags: Dataset

Quality flags applicable to eta observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property eta_noise_estimates: Dataset

Noise covariance estimate for TDI \(\eta\) in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the single-link \(\eta\) observables. The second dimension corresponds to the 6 single-link measurements, ordered according to lisaconstants.indexing.MOSAS.

Return type:

Dataset of shape (time.size, frequency.size, mosa=6, mosa=6)

property laser_frequency: float

Laser frequency [Hz].

This property is retrieved from metadata and is mandatory as it is used to convert frequency data to Doppler units.

property lolipops_version: str

Lolipops version.

property ltt_derivatives: Dataset

Estimates of the LTT time derivatives [s/s].

They are stacked along the second dimension, ordered according to lisaconstants.indexing.LINKS.

Return type:

Dataset of shape (time.size, link=6)

property ltt_time_grid: UniformTimeGrid

Time grid for the light travel time (LTT) estimates.

property ltts: Dataset

Estimates of all light travel times (LTTs) [s].

They are stacked along the second dimension, ordered according to lisaconstants.indexing.LINKS.

Return type:

Dataset of shape (time.size, link=6)

property metadata: dict[str, Any]

Metadata associated with the dataset.

This property should return a dictionary containing relevant metadata about the dataset. The metadata include all queryable information.

property noise_estimates_frequency_grid: LogUniformFrequencyGrid

Frequency grid associated with the noise estimates.

property noise_estimates_time_grid: UniformTimeGrid

Time grid associated with the noise estimates.

property orbits_time_grid: UniformTimeGrid

Time grid associated with the estimated spacecraft orbits.

property pipeline_name: str

Pipeline name.

property spacecraft_positions: Dataset

Estimated spacecraft positions in the BCRS frame [m].

Spacecraft are stacked along the second dimension, ordered according to lisaconstants.indexing.SPACECRAFT. The last dimension corresponds to the Cartesian xyz-components in the BCRS frame.

Return type:

Dataset of shape (time.size, spacecraft=3, xyz=3)

property spacecraft_velocities: Dataset

Estimated spacecraft velocities in the BCRS frame [m/s].

Spacecraft are stacked along the second dimension, ordered according to lisaconstants.indexing.SPACECRAFT. The last dimension corresponds to the Cartesian xyz-components in the BCRS frame.

Return type:

Dataset of shape (time.size, spacecraft=3, xyz=3)

property tdi_time_grid: UniformTimeGrid

Time grid associated with the TDI observables.

property xyz: Dataset

TDI Michelson XYZ 2 observables in Doppler units [dimensionless].

The Michelson XYZ 2 observables are computed from single-link \(\eta\) observables, following the LISA Conventions.

They are stacked along the second dimension, ordered as X, Y, Z.

Return type:

Dataset of shape (time.size, xyz=3)

property xyz_flags: Dataset

Quality flags applicable to xyz observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property xyz_noise_estimates: Dataset

Noise covariance estimate for TDI Michelson XYZ in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the Michelson observables xyz. The last two dimensions correspond to the 3 Michelson observables, ordered as X, Y, Z.

Return type:

Dataset of shape (time.size, frequency.size, xyz=3, xyz=3)

class mojito.reader.MojitoL1SingleFileV2(path, *, mode='r')[source]

Single-file Mojito L1 reader for Mojito medium and heavy files (>=2.0,<3.0).

This implementation supports reading and writing.

Metadata

Metadata are stored as a dictionary of key-value pairs. Keys must be strings and values must be JSON-serializable, as the dictionary is stored as a JSON string in the metadata attribute of the root group.

These key-value pairs can be used as queryables in the GlobalIndex.

Time and frequency grids

Time and frequency grids are stored as attributes of the corresponding HDF5 group (see UNIFORM_TIME_GRID_GROUP and LOG_UNIFORM_FREQUENCY_GRID_GROUP), encoded as JSON strings.

They define the temporal and spectral resolution of the datasets. They can be modified, but it is the user’s responsibility to ensure consistency with the datasets.

Datasets

The datasets in this format are stored directly as HDF5 datasets at the file root. TDI and noise-estimate datasets are expressed in Doppler units (dimensionless), so no conversion is needed in this reader.

Datasets are read-write: when a dataset is missing from the HDF5 file, the accessors create an empty dataset with the expected shape and dtype based on the associated time or frequency grid.

AET quantities are not stored in the file. aet and aet_noise_estimates are computed on the fly from xyz and xyz_noise_estimates, and writing to them writes the corresponding XYZ values. Only whole rows (slices along the first axis) can be written to them; for example, aet[:, 0] = ... raises a ValueError. aet_flags is the same as xyz_flags.

File structure

Groups end with / and attributes start with @. Dataset shapes use the sizes of the time grids (N_tdi, N_ltt, N_orb, N_noise) and of the frequency grid (N_freq). Units are those stored in the file. MOSA axes follow lisaconstants.indexing.MOSAS and spacecraft axes follow lisaconstants.indexing.SPACECRAFT.

/
|-- @version                      str, file format version, e.g. "2.0.0"
|-- @metadata                     str, JSON-encoded dict
|-- uniform_time_grids/
|   |-- @tdi                      str, JSON {"t0", "dt", "size"}
|   |-- @ltts                     str, JSON {"t0", "dt", "size"}
|   |-- @orbits                   str, JSON {"t0", "dt", "size"}
|   `-- @noise_estimates          str, JSON {"t0", "dt", "size"}
|-- log_uniform_frequency_grids/
|   `-- @noise_estimates          str, JSON {"fmin", "fmax", "size"}
|-- eta                           (N_tdi, 6) float64 [dimensionless]
|-- xyz                           (N_tdi, 3) float64 [dimensionless]
|-- eta_flags                     (N_tdi,) int8
|-- xyz_flags                     (N_tdi,) int8
|-- ltts                          (N_ltt, 6) float64 [s]
|-- ltt_derivatives               (N_ltt, 6) float64 [s/s]
|-- spacecraft_positions          (N_orb, 3, 3) float64 [m]
|-- spacecraft_velocities         (N_orb, 3, 3) float64 [m/s]
|-- eta_noise_estimates           (N_noise, N_freq, 6, 6) complex128 [/Hz]
`-- xyz_noise_estimates           (N_noise, N_freq, 3, 3) complex128 [/Hz]
LOG_UNIFORM_FREQUENCY_GRID_GROUP = 'log_uniform_frequency_grids'

HDF5 group for log-uniform frequency grids.

UNIFORM_TIME_GRID_GROUP = 'uniform_time_grids'

HDF5 group for uniform time grids.

property aet: Dataset

TDI AET 2 observables in Doppler units [dimensionless].

The quasi-orthogonal AET observables are computed from Michelson XYZ 2 observables, following the LISA Conventions.

They are stacked along the second dimension, ordered as A, E, T.

Return type:

Dataset of shape (time.size, aet=3)

property aet_flags: Dataset

Quality flags applicable to aet observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property aet_noise_estimates: Dataset

Noise covariance estimate for TDI AET in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the AET observables aet. The last two dimensions correspond to the 3 AET observables, ordered as A, E, T.

Return type:

Dataset of shape (time.size, frequency.size, aet=3, aet=3)

property eta: Dataset

TDI \(\eta\) observables in Doppler units [dimensionless].

The 6 intermediate \(\eta\) observables represent single-link measurements between pairs of spacecraft. They are computed from raw interferometric measurements.

They are stacked along the second dimension, ordered according to lisaconstants.indexing.MOSAS.

Return type:

Dataset of shape (time.size, mosa=6)

property eta_flags: Dataset

Quality flags applicable to eta observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property eta_noise_estimates: Dataset

Noise covariance estimate for TDI \(\eta\) in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the single-link \(\eta\) observables. The second dimension corresponds to the 6 single-link measurements, ordered according to lisaconstants.indexing.MOSAS.

Return type:

Dataset of shape (time.size, frequency.size, mosa=6, mosa=6)

property ltt_derivatives: Dataset

Estimates of the LTT time derivatives [s/s].

They are stacked along the second dimension, ordered according to lisaconstants.indexing.LINKS.

Return type:

Dataset of shape (time.size, link=6)

property ltt_time_grid: UniformTimeGrid

Time grid for the light travel time (LTT) estimates.

property ltts: Dataset

Estimates of all light travel times (LTTs) [s].

They are stacked along the second dimension, ordered according to lisaconstants.indexing.LINKS.

Return type:

Dataset of shape (time.size, link=6)

property metadata: dict[str, Any]

Metadata associated with the dataset.

This property should return a dictionary containing relevant metadata about the dataset. The metadata include all queryable information.

property noise_estimates_frequency_grid: LogUniformFrequencyGrid

Frequency grid associated with the noise estimates.

property noise_estimates_time_grid: UniformTimeGrid

Time grid associated with the noise estimates.

property orbits_time_grid: UniformTimeGrid

Time grid associated with the estimated spacecraft orbits.

property spacecraft_positions: Dataset

Estimated spacecraft positions in the BCRS frame [m].

Spacecraft are stacked along the second dimension, ordered according to lisaconstants.indexing.SPACECRAFT. The last dimension corresponds to the Cartesian xyz-components in the BCRS frame.

Return type:

Dataset of shape (time.size, spacecraft=3, xyz=3)

property spacecraft_velocities: Dataset

Estimated spacecraft velocities in the BCRS frame [m/s].

Spacecraft are stacked along the second dimension, ordered according to lisaconstants.indexing.SPACECRAFT. The last dimension corresponds to the Cartesian xyz-components in the BCRS frame.

Return type:

Dataset of shape (time.size, spacecraft=3, xyz=3)

property tdi_time_grid: UniformTimeGrid

Time grid associated with the TDI observables.

property xyz: Dataset

TDI Michelson XYZ 2 observables in Doppler units [dimensionless].

The Michelson XYZ 2 observables are computed from single-link \(\eta\) observables, following the LISA Conventions.

They are stacked along the second dimension, ordered as X, Y, Z.

Return type:

Dataset of shape (time.size, xyz=3)

property xyz_flags: Dataset

Quality flags applicable to xyz observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property xyz_noise_estimates: Dataset

Noise covariance estimate for TDI Michelson XYZ in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the Michelson observables xyz. The last two dimensions correspond to the 3 Michelson observables, ordered as X, Y, Z.

Return type:

Dataset of shape (time.size, frequency.size, xyz=3, xyz=3)

class mojito.reader.MojitoL1MultiFile(paths)[source]

Multi-file Mojito L1 reader that handles proper dataset combination.

This implementation is read-only.

Metadata

Contains the combined metadata from all files, grouped by key into lists.

Time and frequency grids

Time and frequency grids are required to be consistent across all files.

Datasets

The datasets from all files are combined using the appropriate aggregation method. Typically, measurements, such as TDI observables, are summed across all files while data quality flags are typically combined using logical operations (e.g., OR).

Aggregation operations are applied lazily, meaning that the actual combination of datasets occurs only when they are accessed, and on the specific slices requested.

param path:

Path to the directory containing the Mojito L1 files.

raises ValueError:

If no paths are provided for the Mojito L1 multi-file reader.

property aet: Dataset

TDI AET 2 observables in Doppler units [dimensionless].

The quasi-orthogonal AET observables are computed from Michelson XYZ 2 observables, following the LISA Conventions.

They are stacked along the second dimension, ordered as A, E, T.

Return type:

Dataset of shape (time.size, aet=3)

property aet_flags: Dataset

Quality flags applicable to aet observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property aet_noise_estimates: Dataset

Noise covariance estimate for TDI AET in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the AET observables aet. The last two dimensions correspond to the 3 AET observables, ordered as A, E, T.

Return type:

Dataset of shape (time.size, frequency.size, aet=3, aet=3)

property eta: Dataset

TDI \(\eta\) observables in Doppler units [dimensionless].

The 6 intermediate \(\eta\) observables represent single-link measurements between pairs of spacecraft. They are computed from raw interferometric measurements.

They are stacked along the second dimension, ordered according to lisaconstants.indexing.MOSAS.

Return type:

Dataset of shape (time.size, mosa=6)

property eta_flags: Dataset

Quality flags applicable to eta observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property eta_noise_estimates: Dataset

Noise covariance estimate for TDI \(\eta\) in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the single-link \(\eta\) observables. The second dimension corresponds to the 6 single-link measurements, ordered according to lisaconstants.indexing.MOSAS.

Return type:

Dataset of shape (time.size, frequency.size, mosa=6, mosa=6)

property ltt_derivatives: Dataset

Estimates of the LTT time derivatives [s/s].

They are stacked along the second dimension, ordered according to lisaconstants.indexing.LINKS.

Return type:

Dataset of shape (time.size, link=6)

property ltt_time_grid: UniformTimeGrid

Time grid for the light travel time (LTT) estimates.

property ltts: Dataset

Estimates of all light travel times (LTTs) [s].

They are stacked along the second dimension, ordered according to lisaconstants.indexing.LINKS.

Return type:

Dataset of shape (time.size, link=6)

property metadata: dict[str, Any]

Combine metadata from all files.

When multiple files define the same metadata key, a list of values is created for that key, in the same order as the files are provided.

property noise_estimates_frequency_grid: LogUniformFrequencyGrid

Frequency grid associated with the noise estimates.

property noise_estimates_time_grid: UniformTimeGrid

Time grid associated with the noise estimates.

property orbits_time_grid: UniformTimeGrid

Time grid associated with the estimated spacecraft orbits.

property spacecraft_positions: Dataset

Estimated spacecraft positions in the BCRS frame [m].

Spacecraft are stacked along the second dimension, ordered according to lisaconstants.indexing.SPACECRAFT. The last dimension corresponds to the Cartesian xyz-components in the BCRS frame.

Return type:

Dataset of shape (time.size, spacecraft=3, xyz=3)

property spacecraft_velocities: Dataset

Estimated spacecraft velocities in the BCRS frame [m/s].

Spacecraft are stacked along the second dimension, ordered according to lisaconstants.indexing.SPACECRAFT. The last dimension corresponds to the Cartesian xyz-components in the BCRS frame.

Return type:

Dataset of shape (time.size, spacecraft=3, xyz=3)

property tdi_time_grid: UniformTimeGrid

Time grid associated with the TDI observables.

property version: Version

Version of the Mojito L1 dataset.

property xyz: Dataset

TDI Michelson XYZ 2 observables in Doppler units [dimensionless].

The Michelson XYZ 2 observables are computed from single-link \(\eta\) observables, following the LISA Conventions.

They are stacked along the second dimension, ordered as X, Y, Z.

Return type:

Dataset of shape (time.size, xyz=3)

property xyz_flags: Dataset

Quality flags applicable to xyz observables.

Flags are either 0 (data can be safely used) or 1 (data should not be used, i.e. this should be treated as a gap).

Return type:

Dataset of shape (time.size,)

property xyz_noise_estimates: Dataset

Noise covariance estimate for TDI Michelson XYZ in Doppler units [/Hz].

This is a model of the noise power spectral densities and correlations in the Michelson observables xyz. The last two dimensions correspond to the 3 Michelson observables, ordered as X, Y, Z.

Return type:

Dataset of shape (time.size, frequency.size, xyz=3, xyz=3)