lalpulsar_MakeSFTs fails when trying to make "private" SFTs
Description of problem
lalpulsar_MakeSFTs
always requires --observing-run
but does not require --observing-kind
or --observing-revision
or --misc-desc
. The documentation at https://dcc.ligo.org/DocDB/0027/T040164/002/T040164-v2.pdf implies that for public SFTs the first three are required but the last is optional. For private SFTs, it indicates none are required.
When running, I experience the following behaviour:
$ ~/opt/lscsoft/bin/lalpulsar_MakeSFTs -O 4 -K DEV -R 1 -f 7 -t 1800 -p .,. -C H-1411538418-1411540218.cache -s 1411538418 -e 1411540218 -N H1:CAL-DELTAL_EXTERNAL_DQ,H1:PEM-CS_MAG_EBAY_SUSRACK_X_DQ -F 10 -B 10 -w hann -P 0.5
2024-10-10 08:38:35.9884 (1169391) [normal]: Parsed user input successfully
2024-10-10 08:38:35.9886 (1169391) [normal]: Not validating frame checksums as `--observing_kind'=DEV!=RUN
2024-10-10 08:38:36.7081 (1169391) [normal]: Opened frame stream from cache 'H-1411538418-1411540218.cache'
2024-10-10 08:39:07.3636 (1169391) [normal]: Generated first SFT at GPS time 1411538418
2024-10-10 08:39:21.7143 (1169391) [normal]: Generated last SFT at GPS time 1411538418
2024-10-10 08:39:21.7143 (1169391) [normal]: Generated 2 SFTs
$ ~/opt/lscsoft/bin/lalpulsar_MakeSFTs -X TESTSFT -f 7 -t 1800 -p .,. -C H-1411538418-1411540218.cache -s 1411538418 -e 1411540218 -N H1:CAL-DELTAL_EXTERNAL_DQ,H1:PEM-CS_MAG_EBAY_SUSRACK_X_DQ -F 10 -B 10 -w hann -P 0.5
lalpulsar_MakeSFTs: required option `--observing-run' has not been specified!
Usage: lalpulsar_MakeSFTs [-h|--help] [-v|--version] [@<config-file>] -C|--frame-cache [-k|--frame-checksums] -N|--channel-name -s|--gps-start-time -e|--gps-end-time [-x|--allow-skipping] [-t|--sft-duration] [-P|--overlap-fraction] -f|--high-pass-freq [-w|--window-type] [-r|--window-param] [-F|--start-freq] [-B|--band] [-p|--sft-write-path] -O|--observing-run [-K|--observing-kind] [-R|--observing-revision] [-X|--misc-desc] [-c|--comment-field]
$ ~/opt/lscsoft/bin/lalpulsar_MakeSFTs -O 4 -X TESTSFT -f 7 -t 1800 -p .,. -C H-1411538418-1411540218.cache -s 1411538418 -e 1411540218 -N H1:CAL-DELTAL_EXTERNAL_DQ,H1:PEM-CS_MAG_EBAY_SUSRACK_X_DQ -F 10 -B 10 -w hann -P 0.5
Segmentation fault (core dumped)
$ ~/opt/lscsoft/bin/lalpulsar_MakeSFTs -O 4 -K DEV -X TESTSFT -f 7 -t 1800 -p .,. -C H-1411538418-1411540218.cache -s 1411538418 -e 1411540218 -N H1:CAL-DELTAL_EXTERNAL_DQ,H1:PEM-CS_MAG_EBAY_SUSRACK_X_DQ -F 10 -B 10 -w hann -P 0.5
lalpulsar_MakeSFTs: `--observing-revision' must be strictly positive
Usage: lalpulsar_MakeSFTs [-h|--help] [-v|--version] [@<config-file>] -C|--frame-cache [-k|--frame-checksums] -N|--channel-name -s|--gps-start-time -e|--gps-end-time [-x|--allow-skipping] [-t|--sft-duration] [-P|--overlap-fraction] -f|--high-pass-freq [-w|--window-type] [-r|--window-param] [-F|--start-freq] [-B|--band] [-p|--sft-write-path] -O|--observing-run [-K|--observing-kind] [-R|--observing-revision] [-X|--misc-desc] [-c|--comment-field]
$ ~/opt/lscsoft/bin/lalpulsar_MakeSFTs -O 4 -R 1 -X TESTSFT -f 7 -t 1800 -p .,. -C H-1411538418-1411540218.cache -s 1411538418 -e 1411540218 -N H1:CAL-DELTAL_EXTERNAL_DQ,H1:PEM-CS_MAG_EBAY_SUSRACK_X_DQ -F 10 -B 10 -w hann -P 0.5
Segmentation fault (core dumped)
Expected behavior
The code doesn't seem to be able to produce private SFTs, at least it's not clear to me what I'm doing wrong. I can only produce public SFTs. It also seems fragile to user inputs. Perhaps some better input argument checking is required.
Steps to reproduce
See above.
Context/environment
System information
Hostname ldas-grid.ligo-wa.caltech.edu
Platform: Linux-4.18.0-553.22.1.el8_10.x86_64-x86_64-with-glibc2.28 (Rocky Linux 8.10 (Green Obsidian))
Python: 3.10.14 | packaged by conda-forge | (main, Mar 20 2024, 12:45:18) [GCC 12.3.0]
Conda info
$ conda info
Conda list
$ conda list
lalapps_version
$ ~/opt/lscsoft/bin/lalapps_version --verbose
LAL-Version: 7.6.0.1
LAL-Id: 3277f25eec1872a680117cd17ad2bc7d3e8281b7
LAL-Date: 2024-10-9 22:49:15 +0000
LAL-Branch: None
LAL-Tag: None
LAL-Status: CLEAN: All modifications committed
LAL-Configure-Args: '--disable-option-checking' '--prefix=/home/evan.goetz/opt/lscsoft' '--disable-all-lal' '--enable-lalframe' '--enable-lalpulsar' '--disable-swig' '--disable-doxygen' '--without-hdf5' '--disable-cfitsio' '--cache-file=/dev/null' '--srcdir=.' 'CFLAGS=-O0 -g '
LAL-Configure-Date: 2024-10-09T22:52:45+0000
LAL-Build-Date: 2024-10-09T22:53:28+0000
LALFrame-Version: 3.0.5.1
LALFrame-Id: 3277f25eec1872a680117cd17ad2bc7d3e8281b7
LALFrame-Date: 2024-10-9 22:49:15 +0000
LALFrame-Branch: None
LALFrame-Tag: None
LALFrame-Status: CLEAN: All modifications committed
LALFrame-Configure-Args: '--disable-option-checking' '--prefix=/home/evan.goetz/opt/lscsoft' '--disable-all-lal' '--enable-lalframe' '--enable-lalpulsar' '--disable-swig' '--disable-doxygen' '--without-hdf5' '--disable-cfitsio' '--cache-file=/dev/null' '--srcdir=.' 'LAL_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/bin' 'LAL_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/../lal/test' 'LAL_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave' 'LAL_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python' 'LALSUITE_BUILD=true' 'LALSUITE_PACKAGES= LAL LALFrame LALPulsar' 'CFLAGS=-O0 -g ' 'LAL_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LAL_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lal/lib/liblal.la' 'LAL_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalframe/../lal' 'LALSUPPORT_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LALSUPPORT_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lal/lib/support/liblalsupport.la' 'LALSUPPORT_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/bin' 'LALSUPPORT_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/../lal/test' 'LALSUPPORT_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave' 'LALSUPPORT_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python' 'LALSUPPORT_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalframe/../lal'
LALFrame-Configure-Date: 2024-10-09T22:52:57+0000
LALFrame-Build-Date: 2024-10-09T22:53:41+0000
LALPulsar-Version: 6.0.0.1
LALPulsar-Id: b1cef2987bbe043184bca882ac4bb63604b193d4
LALPulsar-Date: 2023-03-24 10:25:41 +0000
LALPulsar-Branch: master
LALPulsar-Tag: None
LALPulsar-Status: CLEAN: All modifications committed
LALPulsar-Configure-Args: '--disable-option-checking' '--prefix=/home/evan.goetz/opt/lscsoft' '--enable-python' '--enable-lalframe' '--disable-lalmetaio' '--disable-lalsimulation' '--disable-lalburst' '--disable-lalinspiral' '--disable-lalinference' '--disable-swig' '--disable-doxygen' '--without-hdf5' '--disable-cfitsio' '--enable-framel' '--cache-file=/dev/null' '--srcdir=.' 'LAL_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/bin' 'LAL_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lal/test' 'LAL_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave' 'LAL_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python' 'LALSUITE_BUILD=true' 'LAL_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LAL_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lal/lib/liblal.la' 'LAL_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalpulsar/../lal' 'LALSUPPORT_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LALSUPPORT_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lal/lib/support/liblalsupport.la' 'LALSUPPORT_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/bin' 'LALSUPPORT_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lal/test' 'LALSUPPORT_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave' 'LALSUPPORT_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python' 'LALSUPPORT_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalpulsar/../lal' 'LALFRAME_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/include -I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LALFRAME_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/lib/liblalframe.la' 'LALFRAME_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/bin' 'LALFRAME_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lal/test:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lalframe/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/../lalframe/test' 'LALFRAME_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/octave' 'LALFRAME_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/python' 'LALFRAME_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalpulsar/../lalframe'
LALPulsar-Configure-Date: 2023-03-29T15:39:31+0000
LALPulsar-Build-Date: 2023-03-29T15:41:10+0000
LALApps-Version: 9.2.0.1
LALApps-Id: b1cef2987bbe043184bca882ac4bb63604b193d4
LALApps-Date: 2023-03-24 10:25:41 +0000
LALApps-Branch: master
LALApps-Tag: None
LALApps-Status: CLEAN: All modifications committed
LALApps-Configure-Args: '--disable-option-checking' '--prefix=/home/evan.goetz/opt/lscsoft' '--enable-python' '--enable-lalframe' '--disable-lalmetaio' '--disable-lalsimulation' '--disable-lalburst' '--disable-lalinspiral' '--disable-lalinference' '--disable-swig' '--disable-doxygen' '--without-hdf5' '--disable-cfitsio' '--enable-framel' '--cache-file=/dev/null' '--srcdir=.' 'LAL_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/bin' 'LAL_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/test' 'LAL_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave' 'LAL_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python' 'LALSUITE_BUILD=true' 'LAL_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LAL_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lal/lib/liblal.la' 'LAL_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalapps/../lal' 'LALSUPPORT_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LALSUPPORT_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lal/lib/support/liblalsupport.la' 'LALSUPPORT_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/bin' 'LALSUPPORT_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/test' 'LALSUPPORT_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave' 'LALSUPPORT_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python' 'LALSUPPORT_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalapps/../lal' 'LALFRAME_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/include -I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include' 'LALFRAME_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/lib/liblalframe.la' 'LALFRAME_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/bin' 'LALFRAME_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/test:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lalframe/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lalframe/test' 'LALFRAME_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/octave' 'LALFRAME_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/python' 'LALFRAME_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalapps/../lalframe' 'LALPULSAR_CFLAGS=-I/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/include -I/home/evan.goetz/lscrepos/lalsuite-eg/lal/include -I/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/include' 'LALPULSAR_LIBS=/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/lib/liblalpulsar.la' 'LALPULSAR_BIN_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/bin' 'LALPULSAR_DATA_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lal/test:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lalframe/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lalframe/test:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lalpulsar/lib:/home/evan.goetz/lscrepos/lalsuite-eg/lalapps/../lalpulsar/test' 'LALPULSAR_OCTAVE_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/octave:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/octave:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/octave' 'LALPULSAR_PYTHON_PATH=/home/evan.goetz/lscrepos/lalsuite-eg/lal/python:/home/evan.goetz/lscrepos/lalsuite-eg/lalframe/python:/home/evan.goetz/lscrepos/lalsuite-eg/lalpulsar/python' 'LALPULSAR_HTMLDIR=/home/evan.goetz/opt/lscsoft/share/doc/lalapps/../lalpulsar'
LALApps-Configure-Date: 2023-03-29T15:39:40+0000
LALApps-Build-Date: 2023-03-29T15:42:10+0000
Suggested solutions
My guess is that there are some use cases or corner cases that need to be resolved in public or private SFT file generation using lalpulsar_MakeSFTs