PycWB 0.23.1__tar.gz → 0.24.0__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.23.1 → pycwb-0.24.0}/PKG-INFO +8 -5
- {pycwb-0.23.1 → pycwb-0.24.0}/PycWB.egg-info/PKG-INFO +8 -5
- {pycwb-0.23.1 → pycwb-0.24.0}/PycWB.egg-info/SOURCES.txt +6 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/README.md +7 -4
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/CMakeLists.txt +2 -1
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/tutorial_injection.rst +4 -7
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/tutorial_search.rst +0 -10
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/injection/pycwb_injection.ipynb +41 -37
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/injection/user_parameters_injection.yaml +8 -0
- pycwb-0.24.0/examples/injection/wdmXTalk/OverlapCatalog16-1024.bin +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/_version.py +2 -2
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/constants/user_parameters_schema.py +40 -0
- pycwb-0.24.0/pycwb/modules/gracedb/__init__.py +1 -0
- pycwb-0.24.0/pycwb/modules/gracedb/gracedb.py +40 -0
- pycwb-0.24.0/pycwb/modules/gracedb/module.yaml +4 -0
- pycwb-0.24.0/pycwb/modules/gracedb/test_gracedb.py +27 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/dq_segment.py +36 -15
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/frame.py +45 -2
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/job_segment.py +109 -17
- pycwb-0.24.0/pycwb/modules/job_segment/test_job_segment.py +30 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/read_data/read_data.py +7 -7
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/job.py +9 -1
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/yaml_helper.py +1 -1
- {pycwb-0.23.1 → pycwb-0.24.0}/.gitignore +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/.gitlab-ci.yml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/.readthedocs.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/LICENSE +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/MANIFEST.in +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/Makefile +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/PycWB.egg-info/dependency_links.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/PycWB.egg-info/requires.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/PycWB.egg-info/top_level.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/README.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/likelihood/README.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/likelihood/generate_data_for_likelihood.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/likelihood/performance_test_dpf.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/supercluster/README.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/supercluster/generate_data.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/supercluster/generate_data_2.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/supercluster/performance_supercluster.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/bin/pycwb +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/bin/pycwb_search +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/bin/pycwb_show +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Biorthogonal.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Biorthogonal.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Daubechies.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Daubechies.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/FourierCoefficients.icc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Haar.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Haar.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/LineFilter.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/LineFilter.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Makefile +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Meyer.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Meyer.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Symlet.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Symlet.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/SymmArray.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/SymmArray.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/SymmArraySSE.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/SymmArraySSE.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/SymmObjArray.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/SymmObjArray.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/WDM.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/WDM.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/WDMOverlap.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/WDMOverlap.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/WaveDWT.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/WaveDWT.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Wavelet.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/Wavelet.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/alm.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/build.sh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/cluster.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/cluster.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/cmake/install_function.cmake +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/constants.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/detector.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/detector.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/injection.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/injection.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/lossy.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/lossy.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/monster.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/monster.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/netcluster.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/netcluster.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/netevent.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/netevent.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/netpixel.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/netpixel.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/network.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/network.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/pycwb.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/rdfr.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/rdfr.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/readframe.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/readframe.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/readfrfile.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/readfrfile.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/regression.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/regression.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/skycoord.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/skymap.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/skymap.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/sseries.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/sseries.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/time.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/time.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wat.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watasm.S +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watasm_elf64.o +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watavx.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watbranch.in +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watfun.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wathash.in +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watplot.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watplot.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watsse.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wattag.in +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/waturl.in +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/watversion.hh.in +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavearray.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavearray.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavecomplex.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavecomplex.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavecor.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavecor.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavefft.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavefft.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavelet_LinkDef.h +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavelinefilter.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wavelinefilter.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/waverdc.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/waverdc.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wseries.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wseries.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/cwb-core/wslice.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/0.installation_guide.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/1.initialisation_guide.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/4.py_cwb_inet_2G.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/5.cwb2G_analyse.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/6.wat_codes_notes.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/Makefile +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/diagram.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/make.bat +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/_static/.keep +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/_templates/.keep +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/conf.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/credit.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/index.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/install.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/mod_cwb.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/package.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/schema.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/tutorial_batch_inj.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/tutorial_multi_injection.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/tutorials.rst +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/docs/source/workflow.png +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/envs/Dockerfile +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/envs/environment.yml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/envs/mamba/Dockerfile +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/batch_injection/generate_parameters.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/batch_injection/pycwb_injection.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/input/OPBM.period +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/pycwb_mdc.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/multiple_injection/pycwb_injection.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/cwb_core/coherence.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/cwb_core/coherence.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/cwb_core/likelihood.cc +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/cwb_core/likelihood.hh +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/dag/dag.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/dag/dask-prefect.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/dag/prefect_test.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger/server.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger/visualizition.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/.gitignore +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/README.md +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/index.html +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/package.json +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/main.js +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/performance/numba_test.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/performance/taichi_test.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/prototypes/search.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/batch_runner.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/batch_setup.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/flow.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/merge_catalog.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/run.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/server.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/cli/xtalk.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/config/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/config/config.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/constants/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/constants/project_constants.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/autoencoder/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/autoencoder/autoencoder.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/autoencoder/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/catalog/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/catalog/catalog.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/catalog/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/coherence/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/coherence/coherence.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/coherence/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/condor/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/condor/condor.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/condor/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/cwb_conversions/series.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/data_conditioning/regression.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/data_conditioning/whitening.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/energy_threshold/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/energy_threshold/threshold.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/plots.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/job_segment/super_lag.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihood/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihood/likelihood.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihood/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihoodWP/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihoodWP/dpf.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/likelihoodWP/utils.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/logger/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/logger/logger.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/logger/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot/cluster_statistics.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot/event.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot/spectrogram.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot/waveform.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot_map/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot_map/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/plot_map/world_map.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/read_data/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/read_data/data_check.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/read_data/data_find.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/read_data/mdc.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/read_data/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/reconstruction/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/reconstruction/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/sparse_series/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/sparse_series/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/sparse_series/sparse_table.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/statistics/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/statistics/eff.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/statistics/eff_plot.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/statistics/merge.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/statistics/sigmoid_fit.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/super_cluster/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/super_cluster/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/super_cluster/super_cluster.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/super_cluster/supercluster.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/super_cluster/utils.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/supercluster_naive/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/supercluster_naive/supercluster2.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/superlag/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/superlag/superlag.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/web_viewer/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/web_viewer/create.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/web_viewer/module.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/workflow_utils/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/workflow_utils/job_setup.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/xtalk/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/xtalk/monster.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/xtalk/monster_old.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/modules/xtalk/xtalk_data.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/prefect_flow/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/prefect_flow/pycwb_flow.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/prefect_flow/tasks/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/prefect_flow/tasks/builtin.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/data_quality_file.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/detector.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/network.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/network_cluster.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/network_event.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/network_pixel.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/sparse_series.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/time_frequency_series.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/wdm.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/types/wdm_xtalk.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/async_write.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/check_ROOT.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/conversions/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/conversions/timeseries.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/dataclass_object_io.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/dep_check.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/image.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/module.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/network.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/parser.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/utils/skymap_coord.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/autoencoder/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/example.yaml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/lib/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/web_viewer/styles.css +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/batch.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/merge.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/run.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/subflow/__init__.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/subflow/postprocess_and_plots.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/subflow/prepare_job_runs.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/subflow/process_job_segment.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pycwb/workflow/subflow/supercluster_and_likelihood.py +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/pyproject.toml +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/setup.cfg +0 -0
- {pycwb-0.23.1 → pycwb-0.24.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PycWB
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.24.0
|
|
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>
|
|
@@ -34,14 +34,14 @@ Requires-Dist: htcondor
|
|
|
34
34
|
|
|
35
35
|
# PycWB
|
|
36
36
|
|
|
37
|
-
[](https://pycwb.readthedocs.io
|
|
37
|
+
[](https://pycwb.readthedocs.io)
|
|
38
38
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/pipelines)
|
|
39
39
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/releases)
|
|
40
40
|
[](https://badge.fury.io/py/pycWB)
|
|
41
41
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/blob/main/LICENSE)
|
|
42
42
|
|
|
43
43
|
PycWB is a modularized Python package for gravitational wave burst search based on the core function of cWB.
|
|
44
|
-
The documentation can be found at [pycwb.readthedocs.io](https://pycwb.readthedocs.io
|
|
44
|
+
The documentation can be found at [pycwb.readthedocs.io](https://pycwb.readthedocs.io).
|
|
45
45
|
|
|
46
46
|
## Installation
|
|
47
47
|
|
|
@@ -62,10 +62,13 @@ Currently, pycWB is only available for x64 architecture.
|
|
|
62
62
|
For Apple Silicon users, you can install the dependencies with the following commands:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
|
|
65
|
+
# make sure rosetta is installed
|
|
66
|
+
softwareupdate --install-rosetta --agree-to-license
|
|
67
|
+
# Optional: export CONDA_BUILD=1
|
|
68
|
+
conda create -n pycwb
|
|
66
69
|
conda activate pycwb
|
|
67
70
|
conda config --env --set subdir osx-64
|
|
68
|
-
conda install -c conda-forge root=6.26.10 healpix_cxx=3.81 nds2-client python-nds2-client lalsuite setuptools_scm cmake pkg-config htcondor
|
|
71
|
+
conda install -c conda-forge "python>=3.9,<3.11" root=6.26.10 healpix_cxx=3.81 nds2-client python-nds2-client lalsuite setuptools_scm cmake pkg-config ruamel.yaml htcondor
|
|
69
72
|
```
|
|
70
73
|
|
|
71
74
|
### Install pycWB from source
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PycWB
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.24.0
|
|
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>
|
|
@@ -34,14 +34,14 @@ Requires-Dist: htcondor
|
|
|
34
34
|
|
|
35
35
|
# PycWB
|
|
36
36
|
|
|
37
|
-
[](https://pycwb.readthedocs.io
|
|
37
|
+
[](https://pycwb.readthedocs.io)
|
|
38
38
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/pipelines)
|
|
39
39
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/releases)
|
|
40
40
|
[](https://badge.fury.io/py/pycWB)
|
|
41
41
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/blob/main/LICENSE)
|
|
42
42
|
|
|
43
43
|
PycWB is a modularized Python package for gravitational wave burst search based on the core function of cWB.
|
|
44
|
-
The documentation can be found at [pycwb.readthedocs.io](https://pycwb.readthedocs.io
|
|
44
|
+
The documentation can be found at [pycwb.readthedocs.io](https://pycwb.readthedocs.io).
|
|
45
45
|
|
|
46
46
|
## Installation
|
|
47
47
|
|
|
@@ -62,10 +62,13 @@ Currently, pycWB is only available for x64 architecture.
|
|
|
62
62
|
For Apple Silicon users, you can install the dependencies with the following commands:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
|
|
65
|
+
# make sure rosetta is installed
|
|
66
|
+
softwareupdate --install-rosetta --agree-to-license
|
|
67
|
+
# Optional: export CONDA_BUILD=1
|
|
68
|
+
conda create -n pycwb
|
|
66
69
|
conda activate pycwb
|
|
67
70
|
conda config --env --set subdir osx-64
|
|
68
|
-
conda install -c conda-forge root=6.26.10 healpix_cxx=3.81 nds2-client python-nds2-client lalsuite setuptools_scm cmake pkg-config htcondor
|
|
71
|
+
conda install -c conda-forge "python>=3.9,<3.11" root=6.26.10 healpix_cxx=3.81 nds2-client python-nds2-client lalsuite setuptools_scm cmake pkg-config ruamel.yaml htcondor
|
|
69
72
|
```
|
|
70
73
|
|
|
71
74
|
### Install pycWB from source
|
|
@@ -177,6 +177,7 @@ examples/benchmark/input/OPBM_L1.frames
|
|
|
177
177
|
examples/colab/pycWB_GW150914.ipynb
|
|
178
178
|
examples/injection/pycwb_injection.ipynb
|
|
179
179
|
examples/injection/user_parameters_injection.yaml
|
|
180
|
+
examples/injection/wdmXTalk/OverlapCatalog16-1024.bin
|
|
180
181
|
examples/lvk_sep_2023/demo.ipynb
|
|
181
182
|
examples/lvk_sep_2023/user_parameters.yaml
|
|
182
183
|
examples/multiple_injection/pycwb_injection.py
|
|
@@ -273,6 +274,10 @@ pycwb/modules/data_conditioning/regression.py
|
|
|
273
274
|
pycwb/modules/data_conditioning/whitening.py
|
|
274
275
|
pycwb/modules/energy_threshold/__init__.py
|
|
275
276
|
pycwb/modules/energy_threshold/threshold.py
|
|
277
|
+
pycwb/modules/gracedb/__init__.py
|
|
278
|
+
pycwb/modules/gracedb/gracedb.py
|
|
279
|
+
pycwb/modules/gracedb/module.yaml
|
|
280
|
+
pycwb/modules/gracedb/test_gracedb.py
|
|
276
281
|
pycwb/modules/job_segment/__init__.py
|
|
277
282
|
pycwb/modules/job_segment/dq_segment.py
|
|
278
283
|
pycwb/modules/job_segment/frame.py
|
|
@@ -280,6 +285,7 @@ pycwb/modules/job_segment/job_segment.py
|
|
|
280
285
|
pycwb/modules/job_segment/module.yaml
|
|
281
286
|
pycwb/modules/job_segment/plots.py
|
|
282
287
|
pycwb/modules/job_segment/super_lag.py
|
|
288
|
+
pycwb/modules/job_segment/test_job_segment.py
|
|
283
289
|
pycwb/modules/likelihood/__init__.py
|
|
284
290
|
pycwb/modules/likelihood/likelihood.py
|
|
285
291
|
pycwb/modules/likelihood/module.yaml
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# PycWB
|
|
2
2
|
|
|
3
|
-
[](https://pycwb.readthedocs.io
|
|
3
|
+
[](https://pycwb.readthedocs.io)
|
|
4
4
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/pipelines)
|
|
5
5
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/releases)
|
|
6
6
|
[](https://badge.fury.io/py/pycWB)
|
|
7
7
|
[](https://git.ligo.org/yumeng.xu/pycwb/-/blob/main/LICENSE)
|
|
8
8
|
|
|
9
9
|
PycWB is a modularized Python package for gravitational wave burst search based on the core function of cWB.
|
|
10
|
-
The documentation can be found at [pycwb.readthedocs.io](https://pycwb.readthedocs.io
|
|
10
|
+
The documentation can be found at [pycwb.readthedocs.io](https://pycwb.readthedocs.io).
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
@@ -28,10 +28,13 @@ Currently, pycWB is only available for x64 architecture.
|
|
|
28
28
|
For Apple Silicon users, you can install the dependencies with the following commands:
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
|
|
31
|
+
# make sure rosetta is installed
|
|
32
|
+
softwareupdate --install-rosetta --agree-to-license
|
|
33
|
+
# Optional: export CONDA_BUILD=1
|
|
34
|
+
conda create -n pycwb
|
|
32
35
|
conda activate pycwb
|
|
33
36
|
conda config --env --set subdir osx-64
|
|
34
|
-
conda install -c conda-forge root=6.26.10 healpix_cxx=3.81 nds2-client python-nds2-client lalsuite setuptools_scm cmake pkg-config htcondor
|
|
37
|
+
conda install -c conda-forge "python>=3.9,<3.11" root=6.26.10 healpix_cxx=3.81 nds2-client python-nds2-client lalsuite setuptools_scm cmake pkg-config ruamel.yaml htcondor
|
|
35
38
|
```
|
|
36
39
|
|
|
37
40
|
### Install pycWB from source
|
|
@@ -25,10 +25,6 @@ Next, load the environment and the configuration file:
|
|
|
25
25
|
from pycwb.config import Config
|
|
26
26
|
from pycwb.modules.logger import logger_init
|
|
27
27
|
|
|
28
|
-
if not os.environ.get('HOME_WAT_FILTERS'):
|
|
29
|
-
pyburst_path = os.path.dirname(os.path.abspath(pycwb.__file__))
|
|
30
|
-
os.environ['HOME_WAT_FILTERS'] = f"{os.path.abspath(pyburst_path)}/vendor"
|
|
31
|
-
|
|
32
28
|
logger_init()
|
|
33
29
|
|
|
34
30
|
config = Config('./user_parameters_injection.yaml')
|
|
@@ -39,12 +35,13 @@ Now, create an injection job using the parameters specified in the configuration
|
|
|
39
35
|
|
|
40
36
|
.. code-block:: python
|
|
41
37
|
|
|
42
|
-
from pycwb.modules.read_data import generate_injection
|
|
38
|
+
from pycwb.modules.read_data import generate_injection, generate_noise_for_job_seg
|
|
43
39
|
from pycwb.modules.job_segment import create_job_segment_from_injection
|
|
44
40
|
|
|
45
41
|
job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection)
|
|
46
42
|
|
|
47
|
-
data =
|
|
43
|
+
data = generate_noise_for_job_seg(job_segments[0], config.inRate)
|
|
44
|
+
data = generate_injection(config, job_segments[0], data)
|
|
48
45
|
|
|
49
46
|
A pyCBC time series is generated for each detector defined in the configuration file.
|
|
50
47
|
|
|
@@ -85,7 +82,7 @@ Finally, calculate the likelihood for each supercluster:
|
|
|
85
82
|
|
|
86
83
|
from pycwb.modules.likelihood import likelihood
|
|
87
84
|
|
|
88
|
-
events, clusters = likelihood(config, network, pwc_list)
|
|
85
|
+
events, clusters, skymap_statistics = likelihood(config, network, pwc_list)
|
|
89
86
|
|
|
90
87
|
You can use the following code to plot the events on the spectrogram:
|
|
91
88
|
|
|
@@ -22,16 +22,6 @@ Initialize logger with log_file and log_level, if log_file is None, log will be
|
|
|
22
22
|
from pycwb.modules.logger import logger_init
|
|
23
23
|
logger_init(log_file, log_level)
|
|
24
24
|
|
|
25
|
-
set env HOME_WAT_FILTERS to the path of xdmXTalk. pycWB stops including xdmXTalk file in the package.
|
|
26
|
-
The xdmXTalk file can be downloaded from https://github.com/PycWB/xtalk-data.
|
|
27
|
-
You can also use your own xdmXTalk file.
|
|
28
|
-
|
|
29
|
-
.. code-block:: python
|
|
30
|
-
|
|
31
|
-
import os, pycwb
|
|
32
|
-
|
|
33
|
-
pycwb_path = os.path.dirname(os.path.abspath(pycwb.__file__))
|
|
34
|
-
os.environ['HOME_WAT_FILTERS'] = <You path to the folder containing xdmXTalk files>
|
|
35
25
|
|
|
36
26
|
read user parameters from user_parameters.yaml to a :py:class:`.Config` object.
|
|
37
27
|
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
"cells": [
|
|
3
3
|
{
|
|
4
4
|
"cell_type": "code",
|
|
5
|
-
"execution_count": null,
|
|
6
5
|
"metadata": {
|
|
7
6
|
"collapsed": true
|
|
8
7
|
},
|
|
9
|
-
"outputs": [],
|
|
10
8
|
"source": [
|
|
11
9
|
"import os\n",
|
|
12
10
|
"\n",
|
|
@@ -14,15 +12,13 @@
|
|
|
14
12
|
"from pycwb.config import Config\n",
|
|
15
13
|
"from pycwb.modules.logger import logger_init\n",
|
|
16
14
|
"\n",
|
|
17
|
-
"if not os.environ.get('HOME_WAT_FILTERS'):\n",
|
|
18
|
-
" pyburst_path = os.path.dirname(os.path.abspath(pycwb.__file__))\n",
|
|
19
|
-
" os.environ['HOME_WAT_FILTERS'] = f\"{os.path.abspath(pyburst_path)}/vendor\"\n",
|
|
20
|
-
"\n",
|
|
21
15
|
"logger_init()\n",
|
|
22
16
|
"\n",
|
|
23
17
|
"config = Config('./user_parameters_injection.yaml')\n",
|
|
24
18
|
"config.ifo, config.injection"
|
|
25
|
-
]
|
|
19
|
+
],
|
|
20
|
+
"outputs": [],
|
|
21
|
+
"execution_count": null
|
|
26
22
|
},
|
|
27
23
|
{
|
|
28
24
|
"cell_type": "markdown",
|
|
@@ -35,33 +31,34 @@
|
|
|
35
31
|
},
|
|
36
32
|
{
|
|
37
33
|
"cell_type": "code",
|
|
38
|
-
"execution_count": null,
|
|
39
34
|
"metadata": {
|
|
40
35
|
"collapsed": false
|
|
41
36
|
},
|
|
42
|
-
"outputs": [],
|
|
43
37
|
"source": [
|
|
44
|
-
"from pycwb.modules.read_data import generate_injection\n",
|
|
38
|
+
"from pycwb.modules.read_data import generate_injection, generate_noise_for_job_seg\n",
|
|
45
39
|
"from pycwb.modules.job_segment import create_job_segment_from_injection\n",
|
|
46
40
|
"\n",
|
|
47
41
|
"job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection)\n",
|
|
48
42
|
"\n",
|
|
49
|
-
"data =
|
|
43
|
+
"data = generate_noise_for_job_seg(job_segments[0], config.inRate)\n",
|
|
44
|
+
"data = generate_injection(config, job_segments[0], data)\n",
|
|
50
45
|
"data"
|
|
51
|
-
]
|
|
46
|
+
],
|
|
47
|
+
"outputs": [],
|
|
48
|
+
"execution_count": null
|
|
52
49
|
},
|
|
53
50
|
{
|
|
54
51
|
"cell_type": "code",
|
|
55
|
-
"execution_count": null,
|
|
56
52
|
"metadata": {
|
|
57
53
|
"collapsed": false
|
|
58
54
|
},
|
|
59
|
-
"outputs": [],
|
|
60
55
|
"source": [
|
|
61
56
|
"%matplotlib inline\n",
|
|
62
57
|
"# plot the pycbc time series for L1\n",
|
|
63
58
|
"data[0].plot()"
|
|
64
|
-
]
|
|
59
|
+
],
|
|
60
|
+
"outputs": [],
|
|
61
|
+
"execution_count": null
|
|
65
62
|
},
|
|
66
63
|
{
|
|
67
64
|
"cell_type": "markdown",
|
|
@@ -74,11 +71,9 @@
|
|
|
74
71
|
},
|
|
75
72
|
{
|
|
76
73
|
"cell_type": "code",
|
|
77
|
-
"execution_count": null,
|
|
78
74
|
"metadata": {
|
|
79
75
|
"collapsed": false
|
|
80
76
|
},
|
|
81
|
-
"outputs": [],
|
|
82
77
|
"source": [
|
|
83
78
|
"from pycwb.modules.data_conditioning import data_conditioning\n",
|
|
84
79
|
"from pycwb.modules.plot import plot_spectrogram\n",
|
|
@@ -91,7 +86,9 @@
|
|
|
91
86
|
"ax.set_ylim(15,1024)\n",
|
|
92
87
|
"\n",
|
|
93
88
|
"strains, nRMS"
|
|
94
|
-
]
|
|
89
|
+
],
|
|
90
|
+
"outputs": [],
|
|
91
|
+
"execution_count": null
|
|
95
92
|
},
|
|
96
93
|
{
|
|
97
94
|
"cell_type": "markdown",
|
|
@@ -104,17 +101,17 @@
|
|
|
104
101
|
},
|
|
105
102
|
{
|
|
106
103
|
"cell_type": "code",
|
|
107
|
-
"execution_count": null,
|
|
108
104
|
"metadata": {
|
|
109
105
|
"collapsed": false
|
|
110
106
|
},
|
|
111
|
-
"outputs": [],
|
|
112
107
|
"source": [
|
|
113
108
|
"from pycwb.modules.coherence import coherence\n",
|
|
114
109
|
"\n",
|
|
115
110
|
"# calculate coherence\n",
|
|
116
111
|
"fragment_clusters = coherence(config, strains, nRMS)\n"
|
|
117
|
-
]
|
|
112
|
+
],
|
|
113
|
+
"outputs": [],
|
|
114
|
+
"execution_count": null
|
|
118
115
|
},
|
|
119
116
|
{
|
|
120
117
|
"cell_type": "markdown",
|
|
@@ -127,11 +124,9 @@
|
|
|
127
124
|
},
|
|
128
125
|
{
|
|
129
126
|
"cell_type": "code",
|
|
130
|
-
"execution_count": null,
|
|
131
127
|
"metadata": {
|
|
132
128
|
"collapsed": false
|
|
133
129
|
},
|
|
134
|
-
"outputs": [],
|
|
135
130
|
"source": [
|
|
136
131
|
"from pycwb.modules.super_cluster import supercluster\n",
|
|
137
132
|
"from pycwb.types.network import Network\n",
|
|
@@ -139,7 +134,9 @@
|
|
|
139
134
|
"network = Network(config, strains, nRMS)\n",
|
|
140
135
|
"\n",
|
|
141
136
|
"pwc_list = supercluster(config, network, fragment_clusters, strains)"
|
|
142
|
-
]
|
|
137
|
+
],
|
|
138
|
+
"outputs": [],
|
|
139
|
+
"execution_count": null
|
|
143
140
|
},
|
|
144
141
|
{
|
|
145
142
|
"cell_type": "markdown",
|
|
@@ -152,24 +149,22 @@
|
|
|
152
149
|
},
|
|
153
150
|
{
|
|
154
151
|
"cell_type": "code",
|
|
155
|
-
"execution_count": null,
|
|
156
152
|
"metadata": {
|
|
157
153
|
"collapsed": false
|
|
158
154
|
},
|
|
159
|
-
"outputs": [],
|
|
160
155
|
"source": [
|
|
161
156
|
"from pycwb.modules.likelihood import likelihood\n",
|
|
162
157
|
"\n",
|
|
163
|
-
"events, clusters = likelihood(config, network, pwc_list)"
|
|
164
|
-
]
|
|
158
|
+
"events, clusters, skymap_statistics = likelihood(config, network, pwc_list)"
|
|
159
|
+
],
|
|
160
|
+
"outputs": [],
|
|
161
|
+
"execution_count": null
|
|
165
162
|
},
|
|
166
163
|
{
|
|
167
164
|
"cell_type": "code",
|
|
168
|
-
"execution_count": null,
|
|
169
165
|
"metadata": {
|
|
170
166
|
"collapsed": false
|
|
171
167
|
},
|
|
172
|
-
"outputs": [],
|
|
173
168
|
"source": [
|
|
174
169
|
"%matplotlib inline\n",
|
|
175
170
|
"from pycwb.modules.plot import plot_event_on_spectrogram\n",
|
|
@@ -177,7 +172,9 @@
|
|
|
177
172
|
"for i, tf_map in enumerate(strains):\n",
|
|
178
173
|
" plt = plot_event_on_spectrogram(tf_map, events)\n",
|
|
179
174
|
" plt.show()"
|
|
180
|
-
]
|
|
175
|
+
],
|
|
176
|
+
"outputs": [],
|
|
177
|
+
"execution_count": null
|
|
181
178
|
},
|
|
182
179
|
{
|
|
183
180
|
"attachments": {},
|
|
@@ -189,11 +186,9 @@
|
|
|
189
186
|
},
|
|
190
187
|
{
|
|
191
188
|
"cell_type": "code",
|
|
192
|
-
"execution_count": null,
|
|
193
189
|
"metadata": {
|
|
194
190
|
"collapsed": false
|
|
195
191
|
},
|
|
196
|
-
"outputs": [],
|
|
197
192
|
"source": [
|
|
198
193
|
"%matplotlib inline\n",
|
|
199
194
|
"from gwpy.spectrogram import Spectrogram\n",
|
|
@@ -203,13 +198,13 @@
|
|
|
203
198
|
"\n",
|
|
204
199
|
" plt = Spectrogram(merged_map, t0=start, dt=dt, f0=0, df=df).plot()\n",
|
|
205
200
|
" plt.colorbar()"
|
|
206
|
-
]
|
|
201
|
+
],
|
|
202
|
+
"outputs": [],
|
|
203
|
+
"execution_count": null
|
|
207
204
|
},
|
|
208
205
|
{
|
|
209
206
|
"cell_type": "code",
|
|
210
|
-
"execution_count": null,
|
|
211
207
|
"metadata": {},
|
|
212
|
-
"outputs": [],
|
|
213
208
|
"source": [
|
|
214
209
|
"%matplotlib inline\n",
|
|
215
210
|
"from gwpy.spectrogram import Spectrogram\n",
|
|
@@ -219,7 +214,16 @@
|
|
|
219
214
|
"\n",
|
|
220
215
|
" plt = Spectrogram(merged_map, t0=start, dt=dt, f0=0, df=df).plot()\n",
|
|
221
216
|
" plt.colorbar()"
|
|
222
|
-
]
|
|
217
|
+
],
|
|
218
|
+
"outputs": [],
|
|
219
|
+
"execution_count": null
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"metadata": {},
|
|
223
|
+
"cell_type": "code",
|
|
224
|
+
"source": "",
|
|
225
|
+
"outputs": [],
|
|
226
|
+
"execution_count": null
|
|
223
227
|
}
|
|
224
228
|
],
|
|
225
229
|
"metadata": {
|
|
Binary file
|
|
@@ -99,6 +99,46 @@ schema = {
|
|
|
99
99
|
"default": {},
|
|
100
100
|
"cwb": False
|
|
101
101
|
},
|
|
102
|
+
"gps_start": {
|
|
103
|
+
"type": "number",
|
|
104
|
+
"description": "start gps time, used together with gps_end for generating job segments",
|
|
105
|
+
"cwb": False
|
|
106
|
+
},
|
|
107
|
+
"gps_end": {
|
|
108
|
+
"type": "number",
|
|
109
|
+
"description": "end gps time, used together with gps_start for generating job segments",
|
|
110
|
+
"cwb": False
|
|
111
|
+
},
|
|
112
|
+
"gps_center": {
|
|
113
|
+
"type": "number",
|
|
114
|
+
"description": "center gps time, used together with time_left and time_right for generating job segments",
|
|
115
|
+
"cwb": False
|
|
116
|
+
},
|
|
117
|
+
"time_left": {
|
|
118
|
+
"type": "number",
|
|
119
|
+
"description": "left time offset from gps_center, used together with gps_center and time_right for generating job segments",
|
|
120
|
+
"cwb": False
|
|
121
|
+
},
|
|
122
|
+
"time_right": {
|
|
123
|
+
"type": "number",
|
|
124
|
+
"description": "right time offset from gps_center, used together with gps_center and time_left for generating job segments",
|
|
125
|
+
"cwb": False
|
|
126
|
+
},
|
|
127
|
+
"superevent": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"description": "superevent name, used together with time_left and time_right for generating job segments",
|
|
130
|
+
"cwb": False
|
|
131
|
+
},
|
|
132
|
+
"gwdatafind": {
|
|
133
|
+
"type": "object",
|
|
134
|
+
"description": "If the gwdatafind is set, the framefiles can be pulled from the LIGO data server, "
|
|
135
|
+
"the support keys are: site, frametype, host. Example: ",
|
|
136
|
+
" site: ['L','H']"
|
|
137
|
+
" frametype: ['L1_HOFT_C00','H1_HOFT_C00']"
|
|
138
|
+
" host: 'datafind.ldas.cit:80'"
|
|
139
|
+
"default": {},
|
|
140
|
+
"cwb": False
|
|
141
|
+
},
|
|
102
142
|
"WDM_beta_order": {
|
|
103
143
|
"type": "integer",
|
|
104
144
|
"description": "WDM default parameters: beta function order for Meyer",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .gracedb import *
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from ligo.gracedb.rest import GraceDb
|
|
2
|
+
from ligo.gracedb.exceptions import HTTPError
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def get_superevent(event_name):
|
|
6
|
+
"""
|
|
7
|
+
Get the super event for a given event name.
|
|
8
|
+
|
|
9
|
+
:param event_name: The name of the event.
|
|
10
|
+
:type event_name: str
|
|
11
|
+
:return: The super event.
|
|
12
|
+
:rtype: dict
|
|
13
|
+
"""
|
|
14
|
+
client = GraceDb()
|
|
15
|
+
try:
|
|
16
|
+
response = client.superevent(event_name).json()
|
|
17
|
+
except HTTPError as e:
|
|
18
|
+
if e.response.status_code == 404:
|
|
19
|
+
print('No super event found for event {}'.format(event_name))
|
|
20
|
+
return None
|
|
21
|
+
else:
|
|
22
|
+
raise
|
|
23
|
+
|
|
24
|
+
return response
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def get_superevent_t0(event_name):
|
|
28
|
+
"""
|
|
29
|
+
Get the GPS time of the super event for a given event name.
|
|
30
|
+
|
|
31
|
+
:param event_name: The name of the event.
|
|
32
|
+
:type event_name: str
|
|
33
|
+
:return: The GPS time of the super event.
|
|
34
|
+
:rtype: float
|
|
35
|
+
"""
|
|
36
|
+
super_event = get_superevent(event_name)
|
|
37
|
+
if super_event is None:
|
|
38
|
+
return None
|
|
39
|
+
|
|
40
|
+
return super_event['t_0']
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
from .gracedb import get_superevent_t0, get_superevent
|
|
3
|
+
|
|
4
|
+
class TestGraceDB(unittest.TestCase):
|
|
5
|
+
|
|
6
|
+
def test_get_superevent_t0(self):
|
|
7
|
+
event_name = 'S241011k'
|
|
8
|
+
t0 = get_superevent_t0(event_name)
|
|
9
|
+
self.assertAlmostEqual(t0, 1412725132.96, places=1)
|
|
10
|
+
|
|
11
|
+
def test_get_superevent_t0_no_event(self):
|
|
12
|
+
event_name = 'S000000a'
|
|
13
|
+
t0 = get_superevent_t0(event_name)
|
|
14
|
+
self.assertIsNone(t0)
|
|
15
|
+
|
|
16
|
+
def test_get_superevent(self):
|
|
17
|
+
event_name = 'S241011k'
|
|
18
|
+
super_event = get_superevent(event_name)
|
|
19
|
+
self.assertEqual(super_event['superevent_id'], event_name)
|
|
20
|
+
|
|
21
|
+
def test_get_superevent_no_event(self):
|
|
22
|
+
event_name = 'S000000a'
|
|
23
|
+
super_event = get_superevent(event_name)
|
|
24
|
+
self.assertIsNone(super_event)
|
|
25
|
+
|
|
26
|
+
if __name__ == '__main__':
|
|
27
|
+
unittest.main()
|