Move to output directory after reading input files in C executables
This MR patches BayesWave
and BayesWavePost
to chdir
to the output directory after reading the input cache and injection files.
Fixes #88
Merge request reports
Activity
Disclaimer: I have not tested this, but only because I have no idea how (cc @james-clark)
This looks ok, but won't it break the BW pipeline? @james-clark ?
This fails: something's up with the outputDir. I can see the modifications required in the pipeline easily enough but here's what happens on execution - looks to me like the outputDir parsing is somehow mangled:
$ /home/james.clark/opt/lscsoft/bayeswave-fix-88/bin/BayesWave --L1-flow 20.0 --psdlength 4.0 --V1-timeslide 0.0 --bayesLine --cleanOnly --V1-cache datafind/V1.cache --inj S190413ac_injection.xml --srate 2048.0 --event 0 --seglen 4.0 --L1-channel L1:DCS-CALIB_STRAIN_CLEAN_C01 --checkpoint --trigtime 1239196167.305711985 --window 1.0 --psdstart 1239196165.305711985 --H1-cache datafind/H1.cache --Dmax 100 --L1-timeslide 0.0 --H1-channel H1:DCS-CALIB_STRAIN_CLEAN_C01 --V1-channel V1:Hrec_hoft_16384Hz --Niter 10000 --inj-fref 20.0 --updateGeocenterPSD --V1-flow 20.0 --waveletPrior --L1-cache datafind/L1.cache --segment-start 1239196165.305711985 --dataseed 1234 --H1-flow 20.0 --ifo H1 --ifo L1 --ifo V1 ========= BayesWave Version: ======== Git remote origin: Git version: Git commit: Git commit author: Git commit date: Command line: --L1-flow 20.0 --psdlength 4.0 --V1-timeslide 0.0 --bayesLine --cleanOnly --V1-cache datafind/V1.cache --inj S190413ac_injection.xml --srate 2048.0 --event 0 --seglen 4.0 --L1-channel L1:DCS-CALIB_STRAIN_CLEAN_C01 --checkpoint --trigtime 1239196167.305711985 --window 1.0 --psdstart 1239196165.305711985 --H1-cache datafind/H1.cache --Dmax 100 --L1-timeslide 0.0 --H1-channel H1:DCS-CALIB_STRAIN_CLEAN_C01 --V1-channel V1:Hrec_hoft_16384Hz --Niter 10000 --inj-fref 20.0 --updateGeocenterPSD --V1-flow 20.0 --waveletPrior --L1-cache datafind/L1.cache --segment-start 1239196165.305711985 --dataseed 1234 --H1-flow 20.0 --ifo H1 --ifo L1 --ifo V1 ======= LALInferenceReadData() ====== Set trigtime to 1239196167.3057119846 Estimating PSD for H1 using 1 segments of 8192 samples (4.000000s) Slid PSD estimation of H1 by -0.000000 s from 1239196165.3057119846 to 1239196165.3057119846 Slid H1 by -0.000000 s from 1239196165.3057119846 to 1239196165.3057119846 Estimating PSD for L1 using 1 segments of 8192 samples (4.000000s) Slid PSD estimation of L1 by -0.000000 s from 1239196165.3057119846 to 1239196165.3057119846 Slid L1 by -0.000000 s from 1239196165.3057119846 to 1239196165.3057119846 Estimating PSD for V1 using 1 segments of 8192 samples (4.000000s) Slid PSD estimation of V1 by -0.000000 s from 1239196165.3057119846 to 1239196165.3057119846 Slid V1 by -0.000000 s from 1239196165.3057119846 to 1239196165.3057119846 ============= Channels ============== Detector H1: channel DCS-CALIB_STRAIN_CLEAN_C01 Detector L1: channel DCS-CALIB_STRAIN_CLEAN_C01 Detector V1: channel Hrec_hoft_16384Hz ************************ WARNING ************************ Too few iterations for spline integration (10000) Reverting to trapezoid integration Request --Niter > 1000000 for spline integration ********************************************************* ==== LALInferenceInjectInspiralSignal(): started. ==== Injecting event 0 Level 0: (null) Status code 0: Nominal function (null), file (null), line 0 Ninj 200 Injecting approximant 79: IMRPhenomPv2pseudoFourPN Level 0: (null) Status code 0: Nominal function (null), file (null), line 0 --- --- Injection will run using Approximant 79 (IMRPhenomPv2), phase order 8, amp order 0, spin order -1, tidal order -1, in the frequency domain. --- --- injected SNR 59.0 in IFO H1 injected SNR 43.5 in IFO L1 injected SNR 5.7 in IFO V1 injected Network SNR 73.5 ==== LALInferenceInjectInspiralSignal(): finished. ==== Outputting all data to: � [1] 834349 segmentation fault /home/james.clark/opt/lscsoft/bayeswave-fix-88/bin/BayesWave --L1-flow 20.0
This should be enough to reproduce the error & test on CIT, assuming the executable from the fix-88 branch is in your path (will get this kind of thing into the CI one day...):
$ OUTDIR="fix-88-injection-test" $ mkdir -p ${OUTDIR} $ CACHEDIR="/home/james.clark/Projects/fix-88/S190413ac_catalog_run/datafind" $ INJFILE="/home/james.clark/Projects/fix-88/S190413ac_catalog_run/S190413ac_injection.xml" $ BayesWave --L1-flow 20.0 --psdlength 4.0 --V1-timeslide 0.0 --bayesLine --cleanOnly --V1-cache ${CACHEDIR}/V1.cache --inj ${INJFILE} --srate 2048.0 --event 0 --seglen 4.0 --L1-channel L1:DCS-CALIB_STRAIN_CLEAN_C01 --checkpoint --trigtime 1239196167.305711985 --window 1.0 --psdstart 1239196165.305711985 --H1-cache ${CACHEDIR}/H1.cache --Dmax 100 --L1-timeslide 0.0 --H1-channel H1:DCS-CALIB_STRAIN_CLEAN_C01 --V1-channel V1:Hrec_hoft_16384Hz --Niter 10000 --inj-fref 20.0 --updateGeocenterPSD --V1-flow 20.0 --waveletPrior --L1-cache ${CACHEDIR}/L1.cache --segment-start 1239196165.305711985 --dataseed 1234 --H1-flow 20.0 --ifo H1 --ifo L1 --ifo V1
Edited by James Clark
Please register or sign in to reply