PycWB 0.26.0__tar.gz → 0.27.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pycwb-0.26.0 → pycwb-0.27.1}/PKG-INFO +6 -2
- {pycwb-0.26.0 → pycwb-0.27.1}/PycWB.egg-info/PKG-INFO +6 -2
- {pycwb-0.26.0 → pycwb-0.27.1}/PycWB.egg-info/SOURCES.txt +8 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/bin/pycwb +6 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/index.rst +4 -0
- pycwb-0.27.1/examples/gwosc/user_parameters.yaml +89 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/pp_workflow/simple_module.yaml +10 -6
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/_version.py +2 -2
- pycwb-0.27.1/pycwb/cli/gwosc.py +84 -0
- pycwb-0.27.1/pycwb/constants/detectors.py +119 -0
- pycwb-0.27.1/pycwb/constants/physics_constants.py +2 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/cwb_conversions/series.py +8 -2
- pycwb-0.27.1/pycwb/modules/gwosc/gwosc.py +142 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/job_segment.py +1 -1
- pycwb-0.27.1/pycwb/modules/report/continues_poisson.py +129 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/report/read_results.py +3 -1
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/report/report.py +14 -4
- pycwb-0.27.1/pycwb/types/detector.py +112 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/network_event.py +1 -1
- pycwb-0.27.1/pycwb/vendor/template/gwosc/user_parameters.yaml +89 -0
- pycwb-0.27.1/pycwb/workflow/__init__.py +0 -0
- pycwb-0.26.0/pycwb/types/detector.py +0 -14
- {pycwb-0.26.0 → pycwb-0.27.1}/.gitignore +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/.gitlab-ci.yml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/.readthedocs.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/LICENSE +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/MANIFEST.in +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/Makefile +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/PycWB.egg-info/dependency_links.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/PycWB.egg-info/requires.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/PycWB.egg-info/top_level.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/README.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/README.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/likelihood/README.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/likelihood/generate_data_for_likelihood.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/likelihood/performance_test_dpf.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/supercluster/README.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/supercluster/generate_data.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/supercluster/generate_data_2.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/supercluster/performance_supercluster.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/bin/pycwb_search +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/bin/pycwb_show +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Biorthogonal.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Biorthogonal.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/CMakeLists.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Daubechies.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Daubechies.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/FourierCoefficients.icc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Haar.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Haar.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/LineFilter.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/LineFilter.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Makefile +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Meyer.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Meyer.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Symlet.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Symlet.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/SymmArray.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/SymmArray.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/SymmArraySSE.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/SymmArraySSE.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/SymmObjArray.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/SymmObjArray.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/WDM.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/WDM.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/WDMOverlap.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/WDMOverlap.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/WaveDWT.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/WaveDWT.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Wavelet.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/Wavelet.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/alm.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/build.sh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/cluster.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/cluster.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/cmake/FindHealpix.cmake +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/cmake/FindeBBH.cmake +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/cmake/install_function.cmake +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/constants.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/detector.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/detector.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/injection.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/injection.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/lossy.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/lossy.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/monster.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/monster.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/netcluster.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/netcluster.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/netevent.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/netevent.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/netpixel.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/netpixel.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/network.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/network.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/pycwb.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/rdfr.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/rdfr.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/readframe.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/readframe.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/readfrfile.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/readfrfile.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/regression.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/regression.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/skycoord.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/skymap.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/skymap.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/sseries.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/sseries.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/time.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/time.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wat.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watasm.S +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watasm_elf64.o +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watavx.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watbranch.in +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watfun.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wathash.in +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watplot.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watplot.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watsse.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wattag.in +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/waturl.in +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/watversion.hh.in +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavearray.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavearray.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavecomplex.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavecomplex.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavecor.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavecor.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavefft.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavefft.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavelet_LinkDef.h +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavelinefilter.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wavelinefilter.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/waverdc.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/waverdc.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wseries.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wseries.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/cwb-core/wslice.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/0.installation_guide.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/1.initialisation_guide.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/3.run_pycwb_with_yaml_config.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/4.py_cwb_inet_2G.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/5.cwb2G_analyse.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/6.wat_codes_notes.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/Makefile +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/diagram.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/make.bat +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/_static/.keep +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/_templates/.keep +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/conf.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/credit.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/install.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/mod_cwb.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/package.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/schema.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/tutorial_batch_inj.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/tutorial_customized_wf_gen.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/tutorial_injection.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/tutorial_multi_injection.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/tutorial_search.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/tutorials.rst +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/docs/source/workflow.png +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/envs/Dockerfile +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/envs/environment.yml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/envs/mamba/Dockerfile +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/autoencoder/pycwb_injection.ipynb +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/autoencoder/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/batch_injection/generate_parameters.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/batch_injection/pycwb_injection.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/batch_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/H1_cat0.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/H1_cat1.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/H1_cat2.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/H1_cat4.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/L1_cat0.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/L1_cat1.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/L1_cat2.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/DQ/L1_cat4.txt +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/input/OPBM.period +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/input/OPBM_H1.frames +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/input/OPBM_L1.frames +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/pycwb_mdc.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/benchmark/user_parameters_mdc.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/colab/pycWB_GW150914.ipynb +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/injection/pycwb_injection.ipynb +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/injection/wdmXTalk/OverlapCatalog16-1024.bin +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/lvk_sep_2023/demo.ipynb +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/multiple_injection/pycwb_injection.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/pyseobnr_injection/generate_parameters.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/cwb_core/coherence.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/cwb_core/coherence.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/cwb_core/likelihood.cc +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/cwb_core/likelihood.hh +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/dag/dag.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/dag/dask-prefect.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/dag/prefect_test.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger/server.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger/visualizition.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/.gitignore +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/README.md +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/index.html +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/package-lock.json +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/package.json +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/App.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/main.js +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/router/index.js +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/messenger-web-interface/vite.config.js +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/performance/numba_test.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/performance/taichi_test.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/pp_workflow/simple.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/pp_workflow/workflow.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/prototypes/search.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/batch_runner.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/batch_setup.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/flow.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/merge_catalog.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/post_process.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/run.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/server.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/cli/xtalk.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/config/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/config/config.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/constants/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/constants/project_constants.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/constants/user_parameters_schema.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/autoencoder/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/autoencoder/autoencoder.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/autoencoder/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/catalog/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/catalog/catalog.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/catalog/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/coherence/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/coherence/coherence.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/coherence/coherence_lite.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/coherence/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/condor/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/condor/condor.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/condor/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/cwb_conversions/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/cwb_conversions/cluster.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/cwb_conversions/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/cwb_conversions/pixel.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/data_conditioning/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/data_conditioning/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/data_conditioning/regression.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/data_conditioning/whitening.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/energy_threshold/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/energy_threshold/threshold.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/gracedb/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/gracedb/gracedb.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/gracedb/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/gracedb/test_gracedb.py +0 -0
- {pycwb-0.26.0/pycwb/modules/likelihoodWP → pycwb-0.27.1/pycwb/modules/gwosc}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/dq_segment.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/frame.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/plots.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/super_lag.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/job_segment/test_job_segment.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihood/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihood/likelihood.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihood/module.yaml +0 -0
- {pycwb-0.26.0/pycwb/modules/plot_map → pycwb-0.27.1/pycwb/modules/likelihoodWP}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihoodWP/dpf.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/likelihoodWP/utils.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/logger/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/logger/logger.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/logger/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot/cluster_statistics.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot/event.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot/spectrogram.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot/waveform.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot_data_quality/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot_data_quality/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot_data_quality/plot.py +0 -0
- {pycwb-0.26.0/pycwb/modules/report → pycwb-0.27.1/pycwb/modules/plot_map}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot_map/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/plot_map/world_map.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/read_data/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/read_data/data_check.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/read_data/data_find.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/read_data/mdc.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/read_data/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/read_data/read_data.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/reconstruction/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/reconstruction/module.yaml +0 -0
- {pycwb-0.26.0/pycwb/modules/statistics → pycwb-0.27.1/pycwb/modules/report}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/report/far_rho.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/sparse_series/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/sparse_series/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/sparse_series/sparse_table.py +0 -0
- {pycwb-0.26.0/pycwb/modules/supercluster_naive → pycwb-0.27.1/pycwb/modules/statistics}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/statistics/eff.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/statistics/eff_plot.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/statistics/merge.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/statistics/sigmoid_fit.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/super_cluster/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/super_cluster/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/super_cluster/super_cluster.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/super_cluster/supercluster.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/super_cluster/utils.py +0 -0
- {pycwb-0.26.0/pycwb/modules/web_viewer → pycwb-0.27.1/pycwb/modules/supercluster_naive}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/supercluster_naive/supercluster2.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/superlag/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/superlag/module.yaml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/superlag/superlag.py +0 -0
- {pycwb-0.26.0/pycwb/modules/workflow_utils → pycwb-0.27.1/pycwb/modules/web_viewer}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/web_viewer/create.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/web_viewer/module.yaml +0 -0
- {pycwb-0.26.0/pycwb/modules/xtalk → pycwb-0.27.1/pycwb/modules/workflow_utils}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/workflow_utils/job_setup.py +0 -0
- {pycwb-0.26.0/pycwb/post_production → pycwb-0.27.1/pycwb/modules/xtalk}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/xtalk/monster.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/xtalk/monster_old.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/modules/xtalk/xtalk_data.py +0 -0
- {pycwb-0.26.0/pycwb/prefect_flow → pycwb-0.27.1/pycwb/post_production}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/post_production/workflow.py +0 -0
- {pycwb-0.26.0/pycwb/prefect_flow/tasks → pycwb-0.27.1/pycwb/prefect_flow}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/prefect_flow/pycwb_flow.py +0 -0
- {pycwb-0.26.0/pycwb/types → pycwb-0.27.1/pycwb/prefect_flow/tasks}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/prefect_flow/tasks/builtin.py +0 -0
- {pycwb-0.26.0/pycwb/utils → pycwb-0.27.1/pycwb/types}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/data_quality_file.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/job.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/network.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/network_cluster.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/network_pixel.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/sparse_series.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/time_frequency_series.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/wdm.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/types/wdm_xtalk.py +0 -0
- {pycwb-0.26.0/pycwb/utils/conversions → pycwb-0.27.1/pycwb/utils}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/async_write.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/check_ROOT.py +0 -0
- {pycwb-0.26.0/pycwb/vendor → pycwb-0.27.1/pycwb/utils/conversions}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/conversions/timeseries.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/dataclass_object_io.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/dep_check.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/generate_params_table.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/image.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/module.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/network.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/parser.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/skymap_coord.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/utils/yaml_helper.py +0 -0
- {pycwb-0.26.0/pycwb/vendor/autoencoder → pycwb-0.27.1/pycwb/vendor}/__init__.py +0 -0
- {pycwb-0.26.0/pycwb/vendor/lib → pycwb-0.27.1/pycwb/vendor/autoencoder}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/vendor/example.yaml +0 -0
- {pycwb-0.26.0/pycwb/workflow → pycwb-0.27.1/pycwb/vendor/lib}/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/vendor/web_viewer/event_dump.html +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/vendor/web_viewer/styles.css +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/vendor/web_viewer/viewer.html +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/batch.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/merge.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/run.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/subflow/__init__.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/subflow/postprocess_and_plots.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/subflow/prepare_job_runs.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pycwb/workflow/subflow/process_job_segment.py +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/pyproject.toml +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/setup.cfg +0 -0
- {pycwb-0.26.0 → pycwb-0.27.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: PycWB
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.27.1
|
|
4
4
|
Summary: A Python package for coherent gravitational wave burst analysis
|
|
5
5
|
Home-page: https://git.ligo.org/yumeng.xu/pycwb
|
|
6
6
|
Author-email: The PycWB team <yumeng.xu@ligo.org>
|
|
@@ -32,6 +32,10 @@ Requires-Dist: dask
|
|
|
32
32
|
Requires-Dist: dask_jobqueue
|
|
33
33
|
Requires-Dist: htcondor
|
|
34
34
|
Requires-Dist: psutil
|
|
35
|
+
Dynamic: description
|
|
36
|
+
Dynamic: description-content-type
|
|
37
|
+
Dynamic: home-page
|
|
38
|
+
Dynamic: requires-dist
|
|
35
39
|
|
|
36
40
|
# PycWB
|
|
37
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: PycWB
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.27.1
|
|
4
4
|
Summary: A Python package for coherent gravitational wave burst analysis
|
|
5
5
|
Home-page: https://git.ligo.org/yumeng.xu/pycwb
|
|
6
6
|
Author-email: The PycWB team <yumeng.xu@ligo.org>
|
|
@@ -32,6 +32,10 @@ Requires-Dist: dask
|
|
|
32
32
|
Requires-Dist: dask_jobqueue
|
|
33
33
|
Requires-Dist: htcondor
|
|
34
34
|
Requires-Dist: psutil
|
|
35
|
+
Dynamic: description
|
|
36
|
+
Dynamic: description-content-type
|
|
37
|
+
Dynamic: home-page
|
|
38
|
+
Dynamic: requires-dist
|
|
35
39
|
|
|
36
40
|
# PycWB
|
|
37
41
|
|
|
@@ -175,6 +175,7 @@ examples/benchmark/input/OPBM.period
|
|
|
175
175
|
examples/benchmark/input/OPBM_H1.frames
|
|
176
176
|
examples/benchmark/input/OPBM_L1.frames
|
|
177
177
|
examples/colab/pycWB_GW150914.ipynb
|
|
178
|
+
examples/gwosc/user_parameters.yaml
|
|
178
179
|
examples/injection/pycwb_injection.ipynb
|
|
179
180
|
examples/injection/user_parameters_injection.yaml
|
|
180
181
|
examples/injection/wdmXTalk/OverlapCatalog16-1024.bin
|
|
@@ -240,6 +241,7 @@ pycwb/cli/__init__.py
|
|
|
240
241
|
pycwb/cli/batch_runner.py
|
|
241
242
|
pycwb/cli/batch_setup.py
|
|
242
243
|
pycwb/cli/flow.py
|
|
244
|
+
pycwb/cli/gwosc.py
|
|
243
245
|
pycwb/cli/merge_catalog.py
|
|
244
246
|
pycwb/cli/post_process.py
|
|
245
247
|
pycwb/cli/run.py
|
|
@@ -248,6 +250,8 @@ pycwb/cli/xtalk.py
|
|
|
248
250
|
pycwb/config/__init__.py
|
|
249
251
|
pycwb/config/config.py
|
|
250
252
|
pycwb/constants/__init__.py
|
|
253
|
+
pycwb/constants/detectors.py
|
|
254
|
+
pycwb/constants/physics_constants.py
|
|
251
255
|
pycwb/constants/project_constants.py
|
|
252
256
|
pycwb/constants/user_parameters_schema.py
|
|
253
257
|
pycwb/modules/__init__.py
|
|
@@ -282,6 +286,8 @@ pycwb/modules/gracedb/__init__.py
|
|
|
282
286
|
pycwb/modules/gracedb/gracedb.py
|
|
283
287
|
pycwb/modules/gracedb/module.yaml
|
|
284
288
|
pycwb/modules/gracedb/test_gracedb.py
|
|
289
|
+
pycwb/modules/gwosc/__init__.py
|
|
290
|
+
pycwb/modules/gwosc/gwosc.py
|
|
285
291
|
pycwb/modules/job_segment/__init__.py
|
|
286
292
|
pycwb/modules/job_segment/dq_segment.py
|
|
287
293
|
pycwb/modules/job_segment/frame.py
|
|
@@ -327,6 +333,7 @@ pycwb/modules/reconstruction/__init__.py
|
|
|
327
333
|
pycwb/modules/reconstruction/getMRAwaveform.py
|
|
328
334
|
pycwb/modules/reconstruction/module.yaml
|
|
329
335
|
pycwb/modules/report/__init__.py
|
|
336
|
+
pycwb/modules/report/continues_poisson.py
|
|
330
337
|
pycwb/modules/report/far_rho.py
|
|
331
338
|
pycwb/modules/report/read_results.py
|
|
332
339
|
pycwb/modules/report/report.py
|
|
@@ -395,6 +402,7 @@ pycwb/vendor/example.yaml
|
|
|
395
402
|
pycwb/vendor/autoencoder/__init__.py
|
|
396
403
|
pycwb/vendor/autoencoder/cwb_autoencoder.h5
|
|
397
404
|
pycwb/vendor/lib/__init__.py
|
|
405
|
+
pycwb/vendor/template/gwosc/user_parameters.yaml
|
|
398
406
|
pycwb/vendor/web_viewer/event_dump.html
|
|
399
407
|
pycwb/vendor/web_viewer/styles.css
|
|
400
408
|
pycwb/vendor/web_viewer/viewer.html
|
|
@@ -12,6 +12,7 @@ import pycwb.cli.batch_runner as batch_runner
|
|
|
12
12
|
import pycwb.cli.xtalk as xtalk
|
|
13
13
|
import pycwb.cli.merge_catalog as merge_catalog
|
|
14
14
|
import pycwb.cli.post_process as post_process
|
|
15
|
+
import pycwb.cli.gwosc as gwosc
|
|
15
16
|
|
|
16
17
|
def main():
|
|
17
18
|
parser = argparse.ArgumentParser(prog='pycwb')
|
|
@@ -51,6 +52,11 @@ def main():
|
|
|
51
52
|
post_process.init_parser(post_process_parser)
|
|
52
53
|
post_process_parser.set_defaults(func=post_process.command)
|
|
53
54
|
|
|
55
|
+
#gwosc subcommand
|
|
56
|
+
gwosc_parser = subparsers.add_parser('gwosc', help='Download files to run a pycwb analysis of a GW event of your choice')
|
|
57
|
+
gwosc.init_parser(gwosc_parser)
|
|
58
|
+
gwosc_parser.set_defaults(func=gwosc.command)
|
|
59
|
+
|
|
54
60
|
args = parser.parse_args()
|
|
55
61
|
if hasattr(args, 'func'):
|
|
56
62
|
args.func(args)
|
|
@@ -124,6 +124,10 @@ You can get help by running the command with the ``-h`` option. Here are the cur
|
|
|
124
124
|
- Setup batch run
|
|
125
125
|
* - ``pycwb batch-runner``
|
|
126
126
|
- Runner for batch run, used for the job submission
|
|
127
|
+
* - ``pycwb post-process``
|
|
128
|
+
- Run the post process workflow
|
|
129
|
+
* - ``pycwb gwosc``
|
|
130
|
+
- Download data from GWOSC and setup the search
|
|
127
131
|
* - ``pycwb flow``
|
|
128
132
|
- Run search with prefect flow
|
|
129
133
|
* - ``pycwb xtalk``
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
|
|
2
|
+
outputDir: "output"
|
|
3
|
+
nproc: 6
|
|
4
|
+
plot_trigger: True
|
|
5
|
+
plot_waveform: True
|
|
6
|
+
plot_injection: True
|
|
7
|
+
plot_sky_map: True
|
|
8
|
+
save_sky_map: True
|
|
9
|
+
save_injection: True
|
|
10
|
+
save_waveform: True
|
|
11
|
+
|
|
12
|
+
analysis: "2G"
|
|
13
|
+
cfg_search: "r"
|
|
14
|
+
|
|
15
|
+
optim: False
|
|
16
|
+
|
|
17
|
+
###### network configuration ######
|
|
18
|
+
ifo: ["L1","H1"]
|
|
19
|
+
refIFO: "L1"
|
|
20
|
+
|
|
21
|
+
inRate: 16384
|
|
22
|
+
# lags
|
|
23
|
+
lagSize: 1
|
|
24
|
+
lagStep: 1.
|
|
25
|
+
lagOff: 0
|
|
26
|
+
lagMax: 0
|
|
27
|
+
|
|
28
|
+
# superlags
|
|
29
|
+
slagSize: 0 # number of super lags (simulation=1) - if slagSize=0 -> Standard Segments
|
|
30
|
+
slagMin: 0
|
|
31
|
+
slagMax: 0
|
|
32
|
+
slagOff: 0
|
|
33
|
+
|
|
34
|
+
# job
|
|
35
|
+
segLen: 1200
|
|
36
|
+
segMLS: 600
|
|
37
|
+
segTHR: 200
|
|
38
|
+
segEdge: 10
|
|
39
|
+
|
|
40
|
+
# frequency
|
|
41
|
+
fLow: 16.
|
|
42
|
+
fHigh: 1024.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
levelR: 3
|
|
46
|
+
l_low: 4 # low frequency resolution level // std (sthr = 2)
|
|
47
|
+
l_high: 10 # high frequency resolution level // std (sthr = 8)
|
|
48
|
+
|
|
49
|
+
wdmXTalk: "wdmXTalk/OverlapCatalog16-1024.bin"
|
|
50
|
+
|
|
51
|
+
healpix: 7
|
|
52
|
+
|
|
53
|
+
###### cWB production thresholds & regulators ######
|
|
54
|
+
|
|
55
|
+
bpp: 0.001
|
|
56
|
+
subnet: 0.5
|
|
57
|
+
subcut: 0.0
|
|
58
|
+
netRHO: 5.5
|
|
59
|
+
netCC: 0.5
|
|
60
|
+
Acore: 1.7
|
|
61
|
+
Tgap: 0.2
|
|
62
|
+
Fgap: 128.0
|
|
63
|
+
delta: 0.5
|
|
64
|
+
cfg_gamma: -1.0
|
|
65
|
+
LOUD: 300
|
|
66
|
+
|
|
67
|
+
pattern: 5
|
|
68
|
+
|
|
69
|
+
iwindow: 30
|
|
70
|
+
|
|
71
|
+
nSky: 196608
|
|
72
|
+
|
|
73
|
+
# simulation
|
|
74
|
+
simulation: None #PREVIOUSLY COMMENTED
|
|
75
|
+
nfactor: 1
|
|
76
|
+
|
|
77
|
+
channelNamesRaw: ["L1:GWOSC-4KHZ_R1_STRAIN","H1:GWOSC-4KHZ_R1_STRAIN"]
|
|
78
|
+
frFiles: ["./GW170104/input/L1_frames.in", "./GW170104/input/H1_frames.in"]
|
|
79
|
+
|
|
80
|
+
DQF: [
|
|
81
|
+
[ "L1" ,"./GW170104/input/L1_cat0.txt", CWB_CAT0, 0., False, False ],
|
|
82
|
+
[ "H1" ,"./GW170104/input/H1_cat0.txt", CWB_CAT0, 0., False, False ],
|
|
83
|
+
[ "L1" ,"./GW170104/input/L1_cat1.txt", CWB_CAT1, 0., False, False ],
|
|
84
|
+
[ "H1" ,"./GW170104/input/H1_cat1.txt", CWB_CAT1, 0., False, False ],
|
|
85
|
+
[ "L1" ,"./GW170104/input/L1_cat2.txt", CWB_CAT2, 0., False, False ],
|
|
86
|
+
[ "H1" ,"./GW170104/input/H1_cat2.txt", CWB_CAT2, 0., False, False ],
|
|
87
|
+
[ "L1" ,"./GW170104/input/cwb_period.txt", CWB_CAT0, 0., False, False ],
|
|
88
|
+
[ "H1" ,"./GW170104/input/cwb_period.txt", CWB_CAT0, 0., False, False ],
|
|
89
|
+
]
|
|
@@ -4,14 +4,14 @@ steps:
|
|
|
4
4
|
- action: report.read_results.read_triggers
|
|
5
5
|
args:
|
|
6
6
|
run_dir: background
|
|
7
|
-
|
|
8
|
-
- "
|
|
7
|
+
prefilters:
|
|
8
|
+
- "shift[0] != 0 or shift[1] != 0 or lag != 0"
|
|
9
9
|
output_alias: 'background'
|
|
10
10
|
- action: report.read_results.read_live_time
|
|
11
11
|
args:
|
|
12
12
|
run_dir: background
|
|
13
13
|
filters:
|
|
14
|
-
- "
|
|
14
|
+
- "shift[0] != 0 or shift[1] != 0 or lag != 0"
|
|
15
15
|
output_alias: 'livetime'
|
|
16
16
|
- action: report.far_rho.far_rho # this module will calculate the far_rho and pass the output to the downstream modules
|
|
17
17
|
args:
|
|
@@ -24,14 +24,18 @@ steps:
|
|
|
24
24
|
- action: report.read_results.read_triggers
|
|
25
25
|
args:
|
|
26
26
|
run_dir: background
|
|
27
|
-
|
|
28
|
-
- "lag
|
|
27
|
+
prefilters:
|
|
28
|
+
- "lag==0"
|
|
29
|
+
- "slag[0]==0"
|
|
30
|
+
- "slag[1]==0"
|
|
29
31
|
output_alias: 'zero_lag'
|
|
30
32
|
- action: report.read_results.read_live_time
|
|
31
33
|
args:
|
|
32
34
|
run_dir: background
|
|
33
35
|
filters:
|
|
34
|
-
- "lag
|
|
36
|
+
- "lag==0"
|
|
37
|
+
- "shift[0]==0"
|
|
38
|
+
- "shift[1]==0"
|
|
35
39
|
output_alias: 'livetime_zerolag'
|
|
36
40
|
- action: report.report.report_zero_lag
|
|
37
41
|
args:
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
3
|
+
import pycwb
|
|
4
|
+
from pycwb.modules.gwosc.gwosc import download_frames_files
|
|
5
|
+
from pycwb.modules.gwosc.gwosc import get_cat_files
|
|
6
|
+
from pycwb.modules.gwosc.gwosc import analysis_period
|
|
7
|
+
|
|
8
|
+
def init_parser(parser):
|
|
9
|
+
|
|
10
|
+
# Select the GW event
|
|
11
|
+
parser.add_argument('event_name',
|
|
12
|
+
metavar='event_name', # Corrected metavar
|
|
13
|
+
type=str,
|
|
14
|
+
help='The name of the GW event you want (e.g., "GW150914").')
|
|
15
|
+
|
|
16
|
+
# Time left for cWB analysis
|
|
17
|
+
parser.add_argument('--time_left',
|
|
18
|
+
metavar='time_left',
|
|
19
|
+
type=float,
|
|
20
|
+
default=610,
|
|
21
|
+
help='The pycWB analysis interval is '
|
|
22
|
+
'[event_gps_time - time_left; event_gps_time + time_right]. Default: 610 seconds.')
|
|
23
|
+
|
|
24
|
+
# Time right for cWB analysis
|
|
25
|
+
parser.add_argument('--time_right',
|
|
26
|
+
metavar='time_right',
|
|
27
|
+
type=float,
|
|
28
|
+
default=610,
|
|
29
|
+
help='The pycWB analysis interval is: '
|
|
30
|
+
'[event_gps_time - time_left; event_gps_time + time_right]. Default: 610 seconds.')
|
|
31
|
+
|
|
32
|
+
# List of detectors
|
|
33
|
+
parser.add_argument('--ifos',
|
|
34
|
+
metavar='ifos',
|
|
35
|
+
type=str,
|
|
36
|
+
nargs='+',
|
|
37
|
+
default=['H1', 'L1'],
|
|
38
|
+
help='List of the detectors you want data from. For example: --ifos H1 L1. The default is H1 L1.')
|
|
39
|
+
|
|
40
|
+
parser.add_argument('--user_parameters_path',
|
|
41
|
+
metavar='user_parameters_path',
|
|
42
|
+
type=str,
|
|
43
|
+
default=None,
|
|
44
|
+
help='Path of the user_parameters file, default pycwb/vendor/template/gwosc/')
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def copy_user_parameters(user_parameters_path):
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
file_to_copy = os.path.join(user_parameters_path, 'user_parameters.yaml')
|
|
51
|
+
|
|
52
|
+
# Check if the file exists
|
|
53
|
+
if not os.path.exists(file_to_copy):
|
|
54
|
+
raise FileNotFoundError(f"The file {file_to_copy} does not exist. The default file is {file_to_copy}")
|
|
55
|
+
|
|
56
|
+
# Define the destination directory for the event
|
|
57
|
+
destination_dir = os.path.join(".")
|
|
58
|
+
os.makedirs(destination_dir, exist_ok=True) # Ensure the directory exists
|
|
59
|
+
|
|
60
|
+
# Define the destination file path
|
|
61
|
+
destination_file = os.path.join(destination_dir, os.path.basename(file_to_copy))
|
|
62
|
+
|
|
63
|
+
# Copy the file
|
|
64
|
+
shutil.copy(file_to_copy, destination_file)
|
|
65
|
+
print(f"Copied {file_to_copy} to {destination_file}")
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def command(args):
|
|
69
|
+
|
|
70
|
+
if not all(ifo in ["H1", "L1"] for ifo in args.ifos) and not args.user_parameters_path:
|
|
71
|
+
raise ValueError("Only H1 and L1 are supported in ifos with the default user_parameters file, "
|
|
72
|
+
"please provide a custom user_parameters file")
|
|
73
|
+
|
|
74
|
+
output = './input'
|
|
75
|
+
|
|
76
|
+
if args.user_parameters_path is None:
|
|
77
|
+
package_abs_path = os.path.dirname(os.path.abspath(pycwb.__file__))
|
|
78
|
+
args.user_parameters_path = os.path.join(package_abs_path, 'vendor/template/gwosc')
|
|
79
|
+
print(f'{args.user_parameters_path}')
|
|
80
|
+
|
|
81
|
+
download_frames_files(args.event_name, output, args.ifos)
|
|
82
|
+
get_cat_files(args.event_name, output, args.ifos)
|
|
83
|
+
analysis_period(args.event_name, output, args.time_left, args.time_right, args.ifos)
|
|
84
|
+
copy_user_parameters(args.user_parameters_path)
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
DETECTORS = {
|
|
2
|
+
"H1": {
|
|
3
|
+
"name": "LHO_4k",
|
|
4
|
+
"lat": 0.81079526383,
|
|
5
|
+
"lon": -2.08405676917,
|
|
6
|
+
"x": {
|
|
7
|
+
"alt": -0.00061950000,
|
|
8
|
+
"az": 5.65487724844
|
|
9
|
+
},
|
|
10
|
+
"y": {
|
|
11
|
+
"alt": 0.00001250000,
|
|
12
|
+
"az": 4.08408092164
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"L1": {
|
|
16
|
+
"name": "LLO_4k",
|
|
17
|
+
"lat": 0.53342313506,
|
|
18
|
+
"lon": -1.58430937078,
|
|
19
|
+
"x": {
|
|
20
|
+
"alt": -0.00031210000,
|
|
21
|
+
"az": 4.40317772346
|
|
22
|
+
},
|
|
23
|
+
"y": {
|
|
24
|
+
"alt": -0.00061070000,
|
|
25
|
+
"az": 2.83238139666
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"V1": {
|
|
29
|
+
"name": "VIRGO",
|
|
30
|
+
"lat": 0.76151183984,
|
|
31
|
+
"lon": 0.18333805213,
|
|
32
|
+
"x": {
|
|
33
|
+
"alt": 0.00000000000,
|
|
34
|
+
"az": 0.33916285222
|
|
35
|
+
},
|
|
36
|
+
"y": {
|
|
37
|
+
"alt": 0.00000000000,
|
|
38
|
+
"az": 5.05155183261
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"G1": {
|
|
42
|
+
"name": "GEO_600",
|
|
43
|
+
"lat": 0.91184982752,
|
|
44
|
+
"lon": 0.17116780435,
|
|
45
|
+
"x": {
|
|
46
|
+
"alt": 0.00000000000,
|
|
47
|
+
"az": 1.19360100484
|
|
48
|
+
},
|
|
49
|
+
"y": {
|
|
50
|
+
"alt": 0.00000000000,
|
|
51
|
+
"az": 5.83039279401
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"E1": {
|
|
55
|
+
"name": "ET1_T1400308",
|
|
56
|
+
"lat": 0.76151183984,
|
|
57
|
+
"lon": 0.18333805213,
|
|
58
|
+
"x": {
|
|
59
|
+
"alt": 0.00000000000,
|
|
60
|
+
"az": 0.33916285222
|
|
61
|
+
},
|
|
62
|
+
"y": {
|
|
63
|
+
"alt": 0.00000000000,
|
|
64
|
+
"az": 5.57515060820
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"E2": {
|
|
68
|
+
"name": "ET2_T1400308",
|
|
69
|
+
"lat": 0.76299307990,
|
|
70
|
+
"lon": 0.18405858870,
|
|
71
|
+
"x": {
|
|
72
|
+
"alt": 0.00000000000,
|
|
73
|
+
"az": 4.52795305701
|
|
74
|
+
},
|
|
75
|
+
"y": {
|
|
76
|
+
"alt": 0.00000000000,
|
|
77
|
+
"az": 3.48075550581
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"E3": {
|
|
81
|
+
"name": "ET3_T1400308",
|
|
82
|
+
"lat": 0.76270463257,
|
|
83
|
+
"lon": 0.18192996730,
|
|
84
|
+
"x": {
|
|
85
|
+
"alt": 0.00000000000,
|
|
86
|
+
"az": 2.43355795462
|
|
87
|
+
},
|
|
88
|
+
"y": {
|
|
89
|
+
"alt": 0.00000000000,
|
|
90
|
+
"az": 1.38636040342
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"E0": {
|
|
94
|
+
"name": "ET0_T1400308",
|
|
95
|
+
"lat": 0.76270463257,
|
|
96
|
+
"lon": 0.18192996730,
|
|
97
|
+
"x": {
|
|
98
|
+
"alt": 0.00000000000,
|
|
99
|
+
"az": 0.00000000000
|
|
100
|
+
},
|
|
101
|
+
"y": {
|
|
102
|
+
"alt": 0.00000000000,
|
|
103
|
+
"az": 0.00000000000
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"K1": {
|
|
107
|
+
"name": "KAGRA",
|
|
108
|
+
"lat": 0.6355068497,
|
|
109
|
+
"lon": 2.396441015,
|
|
110
|
+
"x": {
|
|
111
|
+
"alt": 0.0031414,
|
|
112
|
+
"az": 1.054113
|
|
113
|
+
},
|
|
114
|
+
"y": {
|
|
115
|
+
"alt": -0.0036270,
|
|
116
|
+
"az": -0.5166798
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -98,7 +98,10 @@ def convert_timeseries_to_wavearray(data: TimeSeries):
|
|
|
98
98
|
# if not hasattr(ROOT, "_copy_to_wavearray"):
|
|
99
99
|
# declare_function()
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
# convert it to contiguous array to prevent segmentation fault
|
|
102
|
+
new_data = np.ascontiguousarray(data.value, dtype=np.float64)
|
|
103
|
+
|
|
104
|
+
ROOT.pycwb_copy_to_wavearray(new_data.ctypes.data_as(c_double_p), h, len(data.value))
|
|
102
105
|
|
|
103
106
|
h.start(np.asarray(data.t0, dtype=np.double))
|
|
104
107
|
h.rate(int(1. / np.asarray(data.dt, dtype=np.double)))
|
|
@@ -122,7 +125,10 @@ def convert_pycbc_timeseries_to_wavearray(data: pycbcTimeSeries):
|
|
|
122
125
|
# if not hasattr(ROOT, "_copy_to_wavearray"):
|
|
123
126
|
# declare_function()
|
|
124
127
|
|
|
125
|
-
|
|
128
|
+
# convert it to contiguous array to prevent segmentation fault
|
|
129
|
+
new_data = np.ascontiguousarray(data.data, dtype=np.float64)
|
|
130
|
+
|
|
131
|
+
ROOT.pycwb_copy_to_wavearray(new_data.ctypes.data_as(c_double_p), h, len(data.data))
|
|
126
132
|
|
|
127
133
|
h.start(np.asarray(data.start_time, dtype=np.double))
|
|
128
134
|
h.rate(int(1. / np.asarray(data.delta_t, dtype=np.double)))
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
from gwosc.datasets import event_gps, event_detectors, event_segment
|
|
2
|
+
from gwosc.locate import get_urls
|
|
3
|
+
from gwosc.timeline import get_segments
|
|
4
|
+
import os
|
|
5
|
+
import requests
|
|
6
|
+
|
|
7
|
+
def event_info(event_name, ifos):
|
|
8
|
+
"""
|
|
9
|
+
Retrieve key information about the specified gravitational wave event.
|
|
10
|
+
|
|
11
|
+
Parameters:
|
|
12
|
+
-----------
|
|
13
|
+
event_name : str
|
|
14
|
+
The name of the gravitational wave event (e.g., "GW150914").
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
--------
|
|
18
|
+
tuple :
|
|
19
|
+
- A list of detectors that observed the event, filtered to include only allowed detectors.
|
|
20
|
+
- The GPS time of the event.
|
|
21
|
+
- The start and end GPS time of the event segment.
|
|
22
|
+
"""
|
|
23
|
+
allowed_cWB_detectors = ifos
|
|
24
|
+
detectors = event_detectors(event_name)
|
|
25
|
+
detectors = [detector for detector in detectors if detector in allowed_cWB_detectors]
|
|
26
|
+
event_gps_time = event_gps(event_name)
|
|
27
|
+
start_time, end_time = event_segment(event_name)
|
|
28
|
+
|
|
29
|
+
return detectors, event_gps_time, start_time, end_time
|
|
30
|
+
|
|
31
|
+
def download_frames_files(event_name, output_dir, ifos):
|
|
32
|
+
"""
|
|
33
|
+
Download frame files for the given gravitational wave event and save a list of their paths.
|
|
34
|
+
|
|
35
|
+
Parameters:
|
|
36
|
+
-----------
|
|
37
|
+
event_name : str
|
|
38
|
+
The name of the gravitational wave event (e.g., "GW150914").
|
|
39
|
+
output_dir : str
|
|
40
|
+
The directory where frame files and associated lists will be saved.
|
|
41
|
+
|
|
42
|
+
Returns:
|
|
43
|
+
--------
|
|
44
|
+
None
|
|
45
|
+
"""
|
|
46
|
+
os.makedirs(output_dir, exist_ok=True)
|
|
47
|
+
|
|
48
|
+
detectors, event_gps_time, start_time, end_time = event_info(event_name, ifos)
|
|
49
|
+
|
|
50
|
+
for detector in detectors:
|
|
51
|
+
urls = get_urls(detector=detector, start=start_time, end=end_time, dataset=event_name, format='gwf', sample_rate=4096)
|
|
52
|
+
|
|
53
|
+
# Exclude files with '-32.gwf'
|
|
54
|
+
urls = [url for url in urls if "-32.gwf" not in url]
|
|
55
|
+
|
|
56
|
+
frame_dir = os.path.join(f"{output_dir}/frames/", f"{detector}_frames")
|
|
57
|
+
os.makedirs(frame_dir, exist_ok=True)
|
|
58
|
+
|
|
59
|
+
local_paths = []
|
|
60
|
+
|
|
61
|
+
# Download files
|
|
62
|
+
for url in urls:
|
|
63
|
+
frame_file_path = os.path.join(frame_dir, os.path.basename(url))
|
|
64
|
+
print(f"Downloading {frame_file_path} from {url}...")
|
|
65
|
+
response = requests.get(url)
|
|
66
|
+
with open(frame_file_path, 'wb') as frame_file:
|
|
67
|
+
frame_file.write(response.content)
|
|
68
|
+
local_paths.append(frame_file_path)
|
|
69
|
+
|
|
70
|
+
# Save *_frames.in file
|
|
71
|
+
frame_list_file = os.path.join(output_dir, f"{detector}_frames.in")
|
|
72
|
+
with open(frame_list_file, 'w') as f:
|
|
73
|
+
for path in local_paths:
|
|
74
|
+
f.write(path + "\n")
|
|
75
|
+
|
|
76
|
+
print(f"Frame list saved to {frame_list_file}")
|
|
77
|
+
|
|
78
|
+
def get_cat_files(event_name, output_dir, ifos):
|
|
79
|
+
"""
|
|
80
|
+
Generate files containing Data Quality (DQ) segments for the given gravitational wave event.
|
|
81
|
+
|
|
82
|
+
Parameters:
|
|
83
|
+
-----------
|
|
84
|
+
event_name : str
|
|
85
|
+
The name of the gravitational wave event (e.g., "GW150914").
|
|
86
|
+
output_dir : str
|
|
87
|
+
The directory where DQ segment files will be saved.
|
|
88
|
+
|
|
89
|
+
Returns:
|
|
90
|
+
--------
|
|
91
|
+
None
|
|
92
|
+
"""
|
|
93
|
+
os.makedirs(output_dir, exist_ok=True)
|
|
94
|
+
|
|
95
|
+
detectors, event_gps_time, start_time, end_time = event_info(event_name, ifos)
|
|
96
|
+
|
|
97
|
+
for detector in detectors:
|
|
98
|
+
for category, cat_name in [
|
|
99
|
+
(f'{detector}_DATA', f'{detector}_cat0.txt'),
|
|
100
|
+
(f'{detector}_BURST_CAT1', f'{detector}_cat1.txt'),
|
|
101
|
+
(f'{detector}_BURST_CAT2', f'{detector}_cat2.txt'),
|
|
102
|
+
]:
|
|
103
|
+
segments = get_segments(category, start_time, end_time)
|
|
104
|
+
cat_file_path = os.path.join(output_dir, cat_name)
|
|
105
|
+
|
|
106
|
+
with open(cat_file_path, 'w') as cat_file:
|
|
107
|
+
for segment in segments:
|
|
108
|
+
cat_file.write(f"{segment[0]} {segment[1]}\n")
|
|
109
|
+
|
|
110
|
+
print(f"Segments saved in {cat_file_path}")
|
|
111
|
+
|
|
112
|
+
def analysis_period(event_name, output_dir, time_left, time_right, ifos):
|
|
113
|
+
"""
|
|
114
|
+
Calculate the analysis period for cWB based on the event GPS time and save it to a file.
|
|
115
|
+
|
|
116
|
+
This function calculates the start and end times for the cWB analysis period by subtracting
|
|
117
|
+
and adding the specified offsets (`time_left` and `time_right`) to the GPS time of the
|
|
118
|
+
gravitational wave event. The resulting period is saved in a file named `cwb_period.txt`.
|
|
119
|
+
|
|
120
|
+
Parameters:
|
|
121
|
+
-----------
|
|
122
|
+
event_name : str
|
|
123
|
+
The name of the gravitational wave event (e.g., "GW150914").
|
|
124
|
+
time_left : int, optional
|
|
125
|
+
Time in seconds to subtract from the event GPS time to determine the start of the analysis period
|
|
126
|
+
(default is 610 seconds).
|
|
127
|
+
time_right : int, optional
|
|
128
|
+
Time in seconds to add to the event GPS time to determine the end of the analysis period
|
|
129
|
+
(default is 610 seconds).
|
|
130
|
+
|
|
131
|
+
Returns:
|
|
132
|
+
--------
|
|
133
|
+
None
|
|
134
|
+
"""
|
|
135
|
+
_, event_gps_time, _, _ = event_info(event_name, ifos)
|
|
136
|
+
print(f"Event gps time: {event_gps_time}")
|
|
137
|
+
analysis_period = [event_gps_time - time_left, event_gps_time + time_right]
|
|
138
|
+
|
|
139
|
+
cwb_period_file_path = os.path.join(output_dir, "cwb_period.txt")
|
|
140
|
+
with open(cwb_period_file_path, 'w') as cwb_period_file:
|
|
141
|
+
cwb_period_file.write(f"{analysis_period[0]} {analysis_period[1]}\n")
|
|
142
|
+
print(f"cWB analysis period saved in {cwb_period_file_path}")
|
|
@@ -148,7 +148,7 @@ def job_segment_from_dq(dq_file_list, ifos, seg_len, seg_mls, seg_edge, seg_over
|
|
|
148
148
|
seg_lists = []
|
|
149
149
|
for ifo in ifos:
|
|
150
150
|
dq_files = [dq_file for dq_file in dq_file_list if dq_file.ifo == ifo]
|
|
151
|
-
cat1_list = read_seg_list(dq_files, 'CWB_CAT1')
|
|
151
|
+
cat1_list = read_seg_list(dq_files, 'CWB_CAT1', periods)
|
|
152
152
|
seg_lists.append(cat1_list)
|
|
153
153
|
|
|
154
154
|
# for zero super lag, merge the segments, and get the standard job segments
|