LISA Instrument issueshttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues2023-11-01T16:30:36+01:00https://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/138Do not accept fplan files for simulations without an orbit files2023-11-01T16:30:36+01:00Jean-Baptiste Baylej2b.bayle@gmail.comDo not accept fplan files for simulations without an orbit filesFrequency plans are computed for given orbits (given in the form of an orbit file), and should only be used in simulations using the same orbit file.
Currently LISA Instrument allows the user to set a custom set of LTT series (more exac...Frequency plans are computed for given orbits (given in the form of an orbit file), and should only be used in simulations using the same orbit file.
Currently LISA Instrument allows the user to set a custom set of LTT series (more exactly PPRs) through the `orbit` parameter (or choose a static set of PPRs, or give the path to an orbit file). The user can also, independently, pass the path to an fplan file through the `fplan` parameter (or choose a default static set of beatnote frequencies, or give a custom set of such beatnotes). This means that the user can, by accident, pick a fplan file and use custom PPRs (not from an orbit file), which is surely wrong.
We should not allow this, and issue an error. This matches the behavior of LISANode, see https://gitlab.in2p3.fr/j2b.bayle/LISANode/-/issues/385.v1.6Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/136Allow for a more pessimistic model of test-mass noise2023-10-31T18:52:07+01:00Jean-Baptiste Baylej2b.bayle@gmail.comAllow for a more pessimistic model of test-mass noiseThe current model for test-mass noise nominally extends down to the low limit of the LISA band, i.e., 1E-4 Hz.
I need a model to go to lower frequencies (a few 1E-5 Hz). I can use the current model, but to ensure I am not unreasonably o...The current model for test-mass noise nominally extends down to the low limit of the LISA band, i.e., 1E-4 Hz.
I need a model to go to lower frequencies (a few 1E-5 Hz). I can use the current model, but to ensure I am not unreasonably optimistic, I would like to add low-frequency relaxation to the current test-mass noise model.v1.6Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/132Rename "THE" variables to "SCET"2023-10-31T13:33:12+01:00Jean-Baptiste Baylej2b.bayle@gmail.comRename "THE" variables to "SCET"We used to use "THE" for clock time frame-related quantities. This acronym has fallen out of fashion, and we now use "SCET" more often. In the simulation paper, we even call that "clock time frame". Therefore, we should replace `the_` by...We used to use "THE" for clock time frame-related quantities. This acronym has fallen out of fashion, and we now use "SCET" more often. In the simulation paper, we even call that "clock time frame". Therefore, we should replace `the_` by `scet_` in the simulation.v1.6Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/137Git history contains very large files2023-10-14T00:03:56+02:00Olaf HartwigGit history contains very large filesCloning the repo requires a download of ~800mb, whereas the actual codebase is significantly smaller.
I could trace down the by far largest file under `instrument/.git/objects/pack/pack-8e6a617ad8ed95a59c76dead81870bed11b82250.pack`, wh...Cloning the repo requires a download of ~800mb, whereas the actual codebase is significantly smaller.
I could trace down the by far largest file under `instrument/.git/objects/pack/pack-8e6a617ad8ed95a59c76dead81870bed11b82250.pack`, which is indeed 750mb large.
I assume that at some point a large file was added to the repo and then later removed, but it's still in the history.
There seem to be ways to fix that, though it of course requires re-writing history: https://stackoverflow.com/questions/11050265/remove-large-pack-file-created-by-git
@j2b.baylev1.6Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/133Fix fluctuations in distant beams2023-10-12T11:03:20+02:00Martin StaabFix fluctuations in distant beamsI think I found a bug in the calculation of the distant fluctuations in both carrier and sideband beams. As I read it, at the moment, the GW signal and TTl couples to the local offsets. Shouldn't they couple to the propagated distant one...I think I found a bug in the calculation of the distant fluctuations in both carrier and sideband beams. As I read it, at the moment, the GW signal and TTl couples to the local offsets. Shouldn't they couple to the propagated distant ones as indicated also in the "Unified model document" (see $`\nu_{21}^o`$ below)?
![image](/uploads/b5629bd9b721b974f6f814e6859947ce/image.png)
In my opinion
```Python
self.distant_carrier_fluctuations = \
propagated_carrier_fluctuations \
- (self.central_freq + self.local_carrier_offsets) * self.gws \
- (self.central_freq + self.local_carrier_offsets) * self.local_ttls / c
```
should really read
```Python
self.distant_carrier_fluctuations = \
propagated_carrier_fluctuations \
- (self.central_freq + self.distant_carrier_offsets) * self.gws \
- (self.central_freq + self.distant_carrier_offsets) * self.local_ttls / c
```
or am I missing something?v1.6Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/134MOSA phi jitter level 5nrad/rtHz2023-09-29T09:07:11+02:00Sarah PaczkowskiMOSA phi jitter level 5nrad/rtHzSince MFR and up to now, the performance model assumes 5nrad/rtHz for the MOSA phi jitter level and therefore, this value should be updated.Since MFR and up to now, the performance model assumes 5nrad/rtHz for the MOSA phi jitter level and therefore, this value should be updated.v1.6https://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/124Simulate sideband ranging2023-09-26T16:26:05+02:00Jan Niklas ReinhardtSimulate sideband rangingThe difference between carrier and sideband beatnotes accounted for the 1MHz phase ramp can be considered as a measurement of the pseudo-range. Being a measurement in phase this sideband range (sbr) involves an ambiguity of 1cycle. The i...The difference between carrier and sideband beatnotes accounted for the 1MHz phase ramp can be considered as a measurement of the pseudo-range. Being a measurement in phase this sideband range (sbr) involves an ambiguity of 1cycle. The idea here is a quick implementation:
Taking the proper-pseudo-range we want to add the integrated modulation noise and the oms noise.Jan Niklas ReinhardtJan Niklas Reinhardthttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/91Simulate initial beatnote phases2023-09-26T16:25:46+02:00Jan Niklas ReinhardtSimulate initial beatnote phasesMotivation: We might be able to deduce information about the pseudo-ranges from the ISI sideband beatnotes (maybe also from the ISI carrier beatnotes), if we have them given in phase. Currently, the beatnotes are simulated in frequency, ...Motivation: We might be able to deduce information about the pseudo-ranges from the ISI sideband beatnotes (maybe also from the ISI carrier beatnotes), if we have them given in phase. Currently, the beatnotes are simulated in frequency, so we need their initial phases to integrate them.
Procedure:
- simulate an initial phase for each laser
- simulate an initial phase for each clock (pilot tone) (confirm with @ohartwig if our understanding of the initial pilot tone phases is correct)
- go through the LISA simulation model equation by equation and write down how those initial phases propagate to the different optical benches (for which noises sources do we have to include initial phases on the way?)
- combine those propagated initial phases to form the initial phases of the beatnoteshttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/22Pink noise generation seems to be off2023-06-12T15:31:44+02:00Jean-Baptiste Baylej2b.bayle@gmail.comPink noise generation seems to be offThe pink noise $`f^{-1/2}`$ seems to be off by \~5% (see https://gitlab.in2p3.fr/lisa-simulation/instrument/-/blob/master/tests/noises.ipynb).
Not a big deal, but curious why, and if it can be fixed.The pink noise $`f^{-1/2}`$ seems to be off by \~5% (see https://gitlab.in2p3.fr/lisa-simulation/instrument/-/blob/master/tests/noises.ipynb).
Not a big deal, but curious why, and if it can be fixed.v1.0.3https://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/131Documentation issue for test-mass noise2023-05-02T16:36:23+02:00Jean-Baptiste Baylej2b.bayle@gmail.comDocumentation issue for test-mass noiseThere is an incorrect factor 2 on the last equation. We should remove it.There is an incorrect factor 2 on the last equation. We should remove it.v1.5Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/130Save antialiasing filter coefficients to file2023-04-27T17:53:56+02:00Jean-Baptiste Baylej2b.bayle@gmail.comSave antialiasing filter coefficients to fileMany metadata are saved to file along with the main measurements, including dt, t0, size, physics upsampling, orbits used, etc. However, the antialiasing coefficients are not saved. These are needed for the on-ground processing, as we mi...Many metadata are saved to file along with the main measurements, including dt, t0, size, physics upsampling, orbits used, etc. However, the antialiasing coefficients are not saved. These are needed for the on-ground processing, as we might want to know the filter transfer function or the filter group delay applied on the data (function of the filter order, ie, number of coefficients).
We should save `aafilter_coeffs` as attribute to HDF5 file.v1.5Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/129Decrease default simulation size2023-04-22T12:36:34+02:00Jean-Baptiste Baylej2b.bayle@gmail.comDecrease default simulation sizeThe default simulation `size` corresponds currently to more than a week at 4 Hz. This is a bit too much, especially for new users trying to run "Hello World" simulations. We should decrease it.
I suggest to decrease it to a few thousand...The default simulation `size` corresponds currently to more than a week at 4 Hz. This is a bit too much, especially for new users trying to run "Hello World" simulations. We should decrease it.
I suggest to decrease it to a few thousands samples.v1.5Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/122Clock jitter noise should saturate below around 1E- 4 Hz2023-02-28T11:09:02+01:00Jean-Baptiste Baylej2b.bayle@gmail.comClock jitter noise should saturate below around 1E- 4 HzWe model the clock using deterministic drifts (for low frequency behavior), and an in-band pink jitter noise. The currently implementation for this jitter noise does not saturate below 1E-4 Hz (we use 1/simulation_size); therefore we "do...We model the clock using deterministic drifts (for low frequency behavior), and an in-band pink jitter noise. The currently implementation for this jitter noise does not saturate below 1E-4 Hz (we use 1/simulation_size); therefore we "double count" the low frequency behavior.
We should change this to saturate the jitter noise around 1E-4 or 1E-5 Hz.v1.4Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/127Fix a bug in report job2023-02-28T11:02:15+01:00Jean-Baptiste Baylej2b.bayle@gmail.comFix a bug in report jobOur report job plots the MOC time couples with respect to measurement time instead of telemetry times. Matplotlib cannot broadcast the arrays and throw an error that makes the job fail.Our report job plots the MOC time couples with respect to measurement time instead of telemetry times. Matplotlib cannot broadcast the arrays and throw an error that makes the job fail.v1.4Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/128Wrong units for clock drifts in the documentation2023-02-27T20:53:51+01:00HEES AurélienWrong units for clock drifts in the documentationI think `clock_freqoffsets: dictionary of clock frequency offsets [s^-1], or 'default'` should be expressed in s/s (at least such as it is used right now). Same remark for the higher order terms. If true, this is only a problem in the doc.I think `clock_freqoffsets: dictionary of clock frequency offsets [s^-1], or 'default'` should be expressed in s/s (at least such as it is used right now). Same remark for the higher order terms. If true, this is only a problem in the doc.v1.4Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/107Parallelize computations applied for `ForEachObject`2023-02-26T14:57:01+01:00Jean-Baptiste Baylej2b.bayle@gmail.comParallelize computations applied for `ForEachObject`Functions applied to `ForEachMOSA` and `ForEachSC` objects are applied _independently_ to each of the values (often Numpy arrays). In particular, we generate noise time series, filter, resample, etc. This means that this is an [embarrass...Functions applied to `ForEachMOSA` and `ForEachSC` objects are applied _independently_ to each of the values (often Numpy arrays). In particular, we generate noise time series, filter, resample, etc. This means that this is an [embarrassingly parallel](https://en.wikipedia.org/wiki/Embarrassingly_parallel) problem that can be speed up using parallelization. An easy solution is to use a thread pool from the multiprocessing or future.concurrent standard packages.
We should investigate and implement such a solution, and check the gain in runtime.Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/126Error in definition of `telemetry_t0`2023-02-26T00:24:07+01:00Jean-Baptiste Baylej2b.bayle@gmail.comError in definition of `telemetry_t0`We currently define
```python
self.telemetry_t0 = self.t0 - self.initial_telemetry_size * self.telemetry_dt
```
where it should really be
```python
self.telemetry_t0 = self.t0 - (self.initial_telemetry_size - 1) * self.telemetry_dt
```We currently define
```python
self.telemetry_t0 = self.t0 - self.initial_telemetry_size * self.telemetry_dt
```
where it should really be
```python
self.telemetry_t0 = self.t0 - (self.initial_telemetry_size - 1) * self.telemetry_dt
```v1.4Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/125Missing `telemetry_dt` attribute in measurement files2023-02-23T15:08:59+01:00Jean-Baptiste Baylej2b.bayle@gmail.comMissing `telemetry_dt` attribute in measurement filesWe should add the telemetry sampling time `telemetry_dt` as attribute when writing measurement files.We should add the telemetry sampling time `telemetry_dt` as attribute when writing measurement files.v1.4Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.comhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/123Error when using an non zero initial_telemetry_size2023-02-21T15:47:50+01:00HEES AurélienError when using an non zero initial_telemetry_sizeWhen `initial_telemetry_size` is non zero and when using an orbit file from LISAOrbit2.X, an error is produced. I think line 685 from the code, i.e. `self.tps_wrt_tcb = ForEachSC(lambda sc: interpolate(dataset[:, sc_index[sc]], self.phys...When `initial_telemetry_size` is non zero and when using an orbit file from LISAOrbit2.X, an error is produced. I think line 685 from the code, i.e. `self.tps_wrt_tcb = ForEachSC(lambda sc: interpolate(dataset[:, sc_index[sc]], self.physics_t))` should be similar to line 656, i.e. `self.physics_t` should be `self.physics_t_withinitial`
On top of that, I think the MOC time correlation should be written by default on the output file (and not when `keep_all=True`)v1.4HEES AurélienHEES Aurélienhttps://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues/120Report job raises an error2023-02-15T18:44:37+01:00Jean-Baptiste Baylej2b.bayle@gmail.comReport job raises an errorWe renamed `tcb_timer_deviations` to `moc_time_correlation` in https://gitlab.in2p3.fr/lisa-simulation/instrument/-/merge_requests/141, and forgot to update the report CI job. Now the latter throws an error.
See https://gitlab.in2p3.fr/...We renamed `tcb_timer_deviations` to `moc_time_correlation` in https://gitlab.in2p3.fr/lisa-simulation/instrument/-/merge_requests/141, and forgot to update the report CI job. Now the latter throws an error.
See https://gitlab.in2p3.fr/lisa-simulation/instrument/-/jobs/624384#L483.
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/local/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "report.py", line 85, in no_noise
plot_measurements(instru, pdf)
File "report.py", line 748, in plot_measurements
plot_tseries(instru.t, instru.tcb_timer_deviations[sc], skip=0, label=sc)
AttributeError: 'Instrument' object has no attribute 'tcb_timer_deviations'
```v1.4Jean-Baptiste Baylej2b.bayle@gmail.comJean-Baptiste Baylej2b.bayle@gmail.com