CDS issueshttps://git.ligo.org/groups/cds/-/issues2024-03-27T22:10:39Zhttps://git.ligo.org/cds/software/dtt/-/issues/402FOTON: Zeros on the imaginary axis are trigging RHP Zero warnings2024-03-27T22:10:39ZErik von ReisFOTON: Zeros on the imaginary axis are trigging RHP Zero warningsRHP Zeros warning requires positive real value. Probably the zeros are being nudged from axis by foton before writing them out.
An repeatable example is needed.
`ellip("LowPass", 4, 1, 40, 1)`
will cause the warning, though the desig...RHP Zeros warning requires positive real value. Probably the zeros are being nudged from axis by foton before writing them out.
An repeatable example is needed.
`ellip("LowPass", 4, 1, 40, 1)`
will cause the warning, though the design string only has 0s in the real value for each zero.https://git.ligo.org/cds/software/gds-sigp/-/issues/2zpk function "corrects" round numbers to nearby values.2024-03-26T17:09:59ZErik von Reiszpk function "corrects" round numbers to nearby values.Using python bindings, Jeff Kissel found that creating a filter with `zpk(10.0, 0.4, 1.0)` led to values that were off by one or two bits in the double precision mantissa.
He later manually changed the foton file back to the round value...Using python bindings, Jeff Kissel found that creating a filter with `zpk(10.0, 0.4, 1.0)` led to values that were off by one or two bits in the double precision mantissa.
He later manually changed the foton file back to the round values. Foton loaded the file without generating any warnings or "correcting" the function arguments.https://git.ligo.org/cds/software/dtt/-/issues/399Bad channel names not actually cleared out2024-03-25T22:24:09ZErik von ReisBad channel names not actually cleared outDiaggui attempts to clear out bad channel names when switching between inputs. I don't know if this is a good idea, but it doesn't clear out names that aren't in the viewed batch of channels in the measurement tab. Moreover, if you swi...Diaggui attempts to clear out bad channel names when switching between inputs. I don't know if this is a good idea, but it doesn't clear out names that aren't in the viewed batch of channels in the measurement tab. Moreover, if you switch from say channels 0-15 to 16-31 then back, cleared channels become uncleared.https://git.ligo.org/cds/software/dtt/-/issues/398some libsasl2 modules should be installed with debian2024-03-25T20:24:48ZErik von Reissome libsasl2 modules should be installed with debianOtherwise NDS2 connections won't work.
`libsasl2-modules-gssapi-mit`Otherwise NDS2 connections won't work.
`libsasl2-modules-gssapi-mit`https://git.ligo.org/cds/software/advligorts/-/issues/620Add a dolphin time xmit indicator to IOP GDS_TP screen.2024-03-21T21:17:50ZEzekiel DohmenAdd a dolphin time xmit indicator to IOP GDS_TP screen.advligorts 5.2.0Ezekiel DohmenEzekiel Dohmenhttps://git.ligo.org/cds/software/advligorts/-/issues/619daqd int64bit suport2024-03-20T15:40:35ZJonathan Hanksdaqd int64bit suportThe frame building code has this in it. You can specify 64int, but not actually use it in the daqd.
<code>
case _64bit_integer: {
abort( );
}
</code>The frame building code has this in it. You can specify 64int, but not actually use it in the daqd.
<code>
case _64bit_integer: {
abort( );
}
</code>Jonathan HanksJonathan Hankshttps://git.ligo.org/cds/software/guardian/-/issues/91Guardian raises ModuleNotFoundError on Python 3.122024-03-19T08:35:12ZDuncan Macleodduncan.macleod@ligo.orgGuardian raises ModuleNotFoundError on Python 3.12The guardian code is attempting to import the `imp` module, which was removed in Python 3.12, and so raises a `ModuleNotFoundError`:
```console
$ python3 --version
Python 3.12.0
$ git describe HEAD
1.5.1-8-g6d76afa
$ PYTHONPATH=lib pyth...The guardian code is attempting to import the `imp` module, which was removed in Python 3.12, and so raises a `ModuleNotFoundError`:
```console
$ python3 --version
Python 3.12.0
$ git describe HEAD
1.5.1-8-g6d76afa
$ PYTHONPATH=lib python3 -c "import guardian"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/duncan/git/guardian/lib/guardian/__init__.py", line 14, in <module>
from .system import GuardSystem
File "/home/duncan/git/guardian/lib/guardian/system.py", line 5, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
```https://git.ligo.org/cds/software/guardian/-/issues/90Add pem to the userapps directory search2024-03-18T21:52:04ZThomas ShafferAdd pem to the userapps directory searchNow that there are pem guardians, it would be good to have guardian search in these directories in userapps. Currently, the users are creating sym links to paths in the guardian search paths.Now that there are pem guardians, it would be good to have guardian search in these directories in userapps. Currently, the users are creating sym links to paths in the guardian search paths.https://git.ligo.org/cds/software/advligorts/-/issues/618The RCG should emit more structured data about the model's IPCs and filter mo...2024-03-12T22:04:11ZEzekiel DohmenThe RCG should emit more structured data about the model's IPCs and filter modules, so we don't need as many one-off scripts.`librts` scans a header file to find filter information, and this breaks every so often because we change that headers structure.
We also have to scan medm or build files to list receivers when we remove an IPC sender.
The `.ini` refl...`librts` scans a header file to find filter information, and this breaks every so often because we change that headers structure.
We also have to scan medm or build files to list receivers when we remove an IPC sender.
The `.ini` reflects the state of the slow and fast data channels for a model, and IPCs/filters should emit a similar file.advligorts 5.2.0Ezekiel DohmenEzekiel Dohmenhttps://git.ligo.org/cds/software/advligorts/-/issues/617The CFC stateword bit is a logical or of `.ini` and filter file changes.2024-03-12T18:32:42ZEzekiel DohmenThe CFC stateword bit is a logical or of `.ini` and filter file changes.This is probably not specific enough, as `.ini` changes are rare (changed model) where as filter pole changes are more common and not as much a concern. Suggest spiting the status into at least two separate bits, so we can raise a more v...This is probably not specific enough, as `.ini` changes are rare (changed model) where as filter pole changes are more common and not as much a concern. Suggest spiting the status into at least two separate bits, so we can raise a more visible warning for `.ini` changes.https://git.ligo.org/cds/software/advligorts/-/issues/616State-space Support Design Issue2024-03-12T17:15:45ZEzekiel DohmenState-space Support Design Issue## Loading and Tracking the state of the part/matrices.
Do we have to use SDF? Would that display even work for matrices?
For current matrix parts we generate EPICS channels at build time of the model, however we would like dynamic siz...## Loading and Tracking the state of the part/matrices.
Do we have to use SDF? Would that display even work for matrices?
For current matrix parts we generate EPICS channels at build time of the model, however we would like dynamic sizing for the state-space configuration. So it seems like we would have to "compress" data into a known set of channels. Ex. string channel for matrix: `[0, 1, 5; 5, 3, 2; 0, 0, 0]`?
### Open Questions
- Does EPICS have to be the interface by which we configure the states/configuration of the part?
- Does EPICS have to be the interface by which we read out the state of the state-space parts?
- Do we need to ramp up/down output for reloading of the state-space part?
- Do we need specific control over when a new/reloaded state-space part engages/takes effect?Ezekiel DohmenEzekiel Dohmenhttps://git.ligo.org/cds/software/rtcds/-/issues/40Desire for more characters in front-end model / channel name "subsystem"2024-03-08T17:50:40ZJeffrey KisselDesire for more characters in front-end model / channel name "subsystem"As the IFO gets more complex, and we're running low on three-letter-acronyms that make sense, we'd like the RCG team to consider allowing for more than 3 characters for "subsystems" in channel names. For example, in A+ O5, it makes a lot...As the IFO gets more complex, and we're running low on three-letter-acronyms that make sense, we'd like the RCG team to consider allowing for more than 3 characters for "subsystems" in channel names. For example, in A+ O5, it makes a lot of sense to convert
H1:OMC-{channel}_{details}
to
H1:OMCA-{channel}_{details} and H1:OMCB-{channel}_{details}
where the channel structure will remain
{IFO}:{SUBSYSTEM}_<channel>_<details>
In discussing this with @ezekiel.dohmen and @david.barker, they suggest, ideally, the RCG would be revamped to build channel names and infrastructure *not* based on the first 5 characters of the .mdl file name, but instead the {IFO} be parsed from the CDS parameter block, and the {SUBSYSTEM} be parsed from the top_names of the blocks on the top level of the .mdl. The existing "top_names" feature does override that "last three of the first five define the channel subsystem" rule, but as it stands, I think those top_names still need to be three characters.
No urgent time-line on this request, but having this "by the end of O4" would probably be good so we can get a jump on the O5 controls infrastructure. All I'd need at this point is a promise that "yup, we'll definitely do that" soon, since we're in the final design phase of A+ O5 ISC and naming sensors, so we'd like to know that we can handle that.https://git.ligo.org/cds/software/advligorts/-/issues/614LLO IPC RFM Errors, and generally Dolphin BW limits as measured by the BW ben...2024-03-12T17:48:53ZEzekiel DohmenLLO IPC RFM Errors, and generally Dolphin BW limits as measured by the BW benchmark.The bandwidth benchmark suggests that we can send 4 IPCs both ways every 16 us. That's 1 IPC every 4 us, or a total of 262144 one way, 524288 both ways.
## LLO IPCs
### After March 5 Rate Decrease
| Direction | Num IPCs | IPCs/se...The bandwidth benchmark suggests that we can send 4 IPCs both ways every 16 us. That's 1 IPC every 4 us, or a total of 262144 one way, 524288 both ways.
## LLO IPCs
### After March 5 Rate Decrease
| Direction | Num IPCs | IPCs/sec | Avg. time for IPC (us)
|-----------|------------|----------|------------------------------------|
|CS -> EX | 30 | 253952 | 3.938 |
|CS -> EY | 30 | 253952 | 3.938 |
|EX -> CS | 29 | 303104 | 3.299 |
|EY -> CS | 27 | 356352 | 2.806 |
##### CS <-> EX total: 557056
##### CS <-> EY total: 610304
### Pre Rate Decrease
| Direction | Num IPCs | IPCs/sec | Avg. time for IPC (us)
|-----------|------------|----------|------------------------------------|
|CS -> EX | 30 | 253952 | 3.938 |
|CS -> EY | 30 | 253952 | 3.938 |
|EX -> CS | 29 | 389120 | 2.570 |
|EY -> CS | 27 | 356352 | 2.806 |
##### CS <-> EX total: 643072
##### CS <-> EY total: 610304
## LHO IPCs
| Direction | Num IPCs | IPCs/sec | Avg. time for IPC (us)
|-----------|------------|----------|------------------------------------|
|CS -> EX | 21 | 180224 | 5.549 |
|CS -> EY | 21 | 180224 | 5.549 |
|EX -> CS | 29 | 413696 | 2.417 |
|EY -> CS | 29 | 413696 | 2.417 |
##### CS <-> EX total: 593920
##### CS <-> EY total: 593920
## LLO IPC Errors
```
IPC L1:FEC-25_IPC_CAL_EX_PCAL_RXPD_OUT_RFM in l1oaf had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-25_IPC_PEM_EX_2_OAF_VEA_MAG_X in l1oaf had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-25_IPC_SUS_ETMX_CAL_CS_L2_LINE in l1oaf had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-25_IPC_SUS_ETMX_CAL_CS_L3_LINE in l1oaf had last error at 2024-03-11 09:34:54 UTC
At IPC 400 out of 1122
At IPC 500 out of 1122
IPC L1:FEC-117_IPC_CAL_EX_PCAL_RXPD_OUT_RFM in l1calcs had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-117_IPC_CAL_EX_PCAL_TXPD_OUT_RFM in l1calcs had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-117_IPC_SUS_ETMX_CAL_CS_L1_LINE in l1calcs had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-117_IPC_SUS_ETMX_CAL_CS_L2_LINE in l1calcs had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-117_IPC_SUS_ETMX_CAL_CS_L3_LINE in l1calcs had last error at 2024-03-11 09:34:54 UTC
At IPC 600 out of 1122
IPC L1:FEC-19_IPC_SBR_ASC_CHARD_PIT_CTL in l1asc had last error at 2024-03-08 21:50:11 UTC
IPC L1:FEC-19_IPC_SBR_ASC_CHARD_YAW_CTL in l1asc had last error at 2024-03-08 21:50:11 UTC
IPC L1:FEC-19_IPC_SBR_ASC_DHARD_PIT_CTL in l1asc had last error at 2024-03-08 21:50:11 UTC
IPC L1:FEC-19_IPC_SBR_ASC_DHARD_YAW_CTL in l1asc had last error at 2024-03-08 21:50:11 UTC
At IPC 700 out of 1122
IPC L1:FEC-10_IPC_ISCEX_ASC_TR_B_SUM_RFM in l1lsc had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-10_IPC_ISCEX_LSC_IR_TRAIR_RFM in l1lsc had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-10_IPC_ISCEX_LSC_ALSPDH_REFL_CTRL in l1lsc had last error at 2024-03-11 09:34:54 UTC
IPC L1:FEC-8_IPC_PEM_ETMX_PI_MUX in l1omc had last error at 2024-03-11 09:34:54 UTC
At IPC 800 out of 1122
At IPC 900 out of 1122
At IPC 1000 out of 1122
IPC L1:FEC-100_IPC_IOP_SUS_EY_ETMY_WDIPC in l1iopseiey had last error at 2024-03-11 23:16:20 UTC
```Ezekiel DohmenEzekiel Dohmenhttps://git.ligo.org/cds/helpdesk/-/issues/37Opslogin02024-03-05T14:56:18ZErik von ReisOpslogin0Opsologin0 sometimes experiences very long (~30 minute) reboot times. From looking at the console, it appears opslogin0 is trying to re-sync network shares after the network is already shut down.Opsologin0 sometimes experiences very long (~30 minute) reboot times. From looking at the console, it appears opslogin0 is trying to re-sync network shares after the network is already shut down.https://git.ligo.org/cds/software/advligorts/-/issues/613when 1pps is not synchronized, report cycle of rising edge2024-02-29T21:08:24ZErik von Reiswhen 1pps is not synchronized, report cycle of rising edgeCurrently if the rising edge of 1pps is not in cycle 0 or 1, then an error is raised, but we should report when the rising edge is seen. It'll be useful for debugging purposes. Also, if the error is small and stable, some users may cho...Currently if the rising edge of 1pps is not in cycle 0 or 1, then an error is raised, but we should report when the rising edge is seen. It'll be useful for debugging purposes. Also, if the error is small and stable, some users may choose to ignore it.https://git.ligo.org/cds/software/ndscope/-/issues/334modifier key to restrict zoom to one axis or the other2024-03-01T22:03:21ZJameson Rollinsjameson.rollins@ligo.orgmodifier key to restrict zoom to one axis or the otherthis might help with issues with zoom using the axis onlythis might help with issues with zoom using the axis onlyhttps://git.ligo.org/cds/software/ndscope/-/issues/331request that pan (past) in online mode goes offline2024-02-29T00:10:38ZDhruva Ganapathyrequest that pan (past) in online mode goes offlinehttps://git.ligo.org/cds/software/ndscope/-/issues/330please provide gap after t0 in online mode2024-02-29T00:09:37ZDhruva Ganapathyplease provide gap after t0 in online modehttps://git.ligo.org/cds/software/dtt/-/issues/397fantom cannot be built with --std=c++202024-03-15T21:16:43ZRhys Poultonfantom cannot be built with --std=c++20I am attempting to build `cds-crtools` with `root_base=6.28.12`, which requires `--std=c++20` flag. But it seems that `fantom` cannot be built with this standard and the build fails with the following error:
```
In file included from /ho...I am attempting to build `cds-crtools` with `root_base=6.28.12`, which requires `--std=c++20` flag. But it seems that `fantom` cannot be built with this standard and the build fails with the following error:
```
In file included from /home/conda/feedstock_root/build_artifacts/cds-crtools-split_1709043938721/work/src/dtt/fantom/fantom.hh:45,
from /home/conda/feedstock_root/build_artifacts/cds-crtools-split_1709043938721/work/src/dtt/fantom/fantom.cc:11:
/home/conda/feedstock_root/build_artifacts/cds-crtools-split_1709043938721/work/src/dtt/fantom/smartio.hh:505:17: error: template-id not allowed for destructor
505 | smart_io<T>::~smart_io<T>()
| ^
make[2]: *** [src/dtt/fantom/CMakeFiles/fantom.dir/build.make:104: src/dtt/fantom/CMakeFiles/fantom.dir/fantom.cc.o] Error 1
make[2]: Leaving directory '$SRC_DIR/_build'
```
The full log is [here](https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis/build/builds/885344/logs/19) if helpful.https://git.ligo.org/cds/software/ndscope/-/issues/327opportunistically download channel list2024-02-15T16:57:49ZJameson Rollinsjameson.rollins@ligo.orgopportunistically download channel listFor many/most invocations of ndscope the full channel list is not needed. For external servers the list can be very large. We should only download it opportunistically as needed, not on every invocation.For many/most invocations of ndscope the full channel list is not needed. For external servers the list can be very large. We should only download it opportunistically as needed, not on every invocation.