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; usecreate_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, andlaser_frequency, as well as the usualmetadata.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
MojitoL1protocol).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 oflisaconstants.indexing.MOSAS, and{i}for one dataset per spacecraft, in the order oflisaconstants.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,) float64TDI and LTT datasets also carry
@index_startand@index_stopattributes, 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
aetobservables.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
etaobservables.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
xyzobservables.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
metadataattribute 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_GROUPandLOG_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.
aetandaet_noise_estimatesare computed on the fly fromxyzandxyz_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 aValueError.aet_flagsis the same asxyz_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 followlisaconstants.indexing.MOSASand spacecraft axes followlisaconstants.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
aetobservables.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
etaobservables.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
xyzobservables.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
aetobservables.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
etaobservables.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
xyzobservables.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)