PycWB 0.27.1__tar.gz → 0.28.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.27.1 → pycwb-0.28.0}/PKG-INFO +1 -1
- {pycwb-0.27.1 → pycwb-0.28.0}/PycWB.egg-info/PKG-INFO +1 -1
- {pycwb-0.27.1 → pycwb-0.28.0}/PycWB.egg-info/SOURCES.txt +1 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/likelihood/generate_data_for_likelihood.py +15 -7
- pycwb-0.28.0/benchmark/likelihood/perf_cuda.py +168 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/_version.py +9 -4
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/constants/user_parameters_schema.py +6 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/reconstruction/getMRAwaveform.py +3 -3
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/module.py +10 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/batch.py +10 -5
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/run.py +9 -2
- {pycwb-0.27.1 → pycwb-0.28.0}/.gitignore +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/.gitlab-ci.yml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/.readthedocs.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/LICENSE +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/MANIFEST.in +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/Makefile +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/PycWB.egg-info/dependency_links.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/PycWB.egg-info/requires.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/PycWB.egg-info/top_level.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/README.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/README.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/likelihood/README.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/likelihood/performance_test_dpf.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/supercluster/README.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/supercluster/generate_data.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/supercluster/generate_data_2.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/supercluster/performance_supercluster.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/bin/pycwb +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/bin/pycwb_search +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/bin/pycwb_show +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Biorthogonal.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Biorthogonal.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/CMakeLists.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Daubechies.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Daubechies.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/FourierCoefficients.icc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Haar.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Haar.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/LineFilter.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/LineFilter.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Makefile +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Meyer.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Meyer.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Symlet.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Symlet.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/SymmArray.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/SymmArray.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/SymmArraySSE.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/SymmArraySSE.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/SymmObjArray.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/SymmObjArray.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/WDM.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/WDM.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/WDMOverlap.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/WDMOverlap.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/WaveDWT.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/WaveDWT.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Wavelet.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/Wavelet.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/alm.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/build.sh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/cluster.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/cluster.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/cmake/install_function.cmake +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/constants.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/detector.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/detector.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/injection.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/injection.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/lossy.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/lossy.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/monster.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/monster.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/netcluster.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/netcluster.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/netevent.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/netevent.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/netpixel.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/netpixel.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/network.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/network.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/pycwb.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/rdfr.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/rdfr.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/readframe.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/readframe.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/readfrfile.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/readfrfile.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/regression.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/regression.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/skycoord.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/skymap.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/skymap.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/sseries.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/sseries.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/time.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/time.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wat.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watasm.S +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watasm_elf64.o +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watavx.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watbranch.in +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watfun.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wathash.in +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watplot.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watplot.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watsse.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wattag.in +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/waturl.in +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/watversion.hh.in +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavearray.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavearray.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavecomplex.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavecomplex.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavecor.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavecor.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavefft.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavefft.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavelet_LinkDef.h +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavelinefilter.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wavelinefilter.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/waverdc.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/waverdc.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wseries.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wseries.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/cwb-core/wslice.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/0.installation_guide.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/1.initialisation_guide.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/4.py_cwb_inet_2G.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/5.cwb2G_analyse.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/6.wat_codes_notes.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/Makefile +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/diagram.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/make.bat +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/_static/.keep +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/_templates/.keep +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/conf.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/credit.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/index.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/install.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/mod_cwb.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/package.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/schema.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/tutorial_batch_inj.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/tutorial_injection.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/tutorial_multi_injection.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/tutorial_search.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/tutorials.rst +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/docs/source/workflow.png +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/envs/Dockerfile +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/envs/environment.yml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/envs/mamba/Dockerfile +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/batch_injection/generate_parameters.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/batch_injection/pycwb_injection.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/input/OPBM.period +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/pycwb_mdc.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/gwosc/user_parameters.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/injection/pycwb_injection.ipynb +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/injection/wdmXTalk/OverlapCatalog16-1024.bin +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/multiple_injection/pycwb_injection.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/cwb_core/coherence.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/cwb_core/coherence.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/cwb_core/likelihood.cc +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/cwb_core/likelihood.hh +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/dag/dag.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/dag/dask-prefect.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/dag/prefect_test.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger/server.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger/visualizition.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/.gitignore +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/README.md +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/index.html +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/package.json +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/main.js +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/performance/numba_test.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/performance/taichi_test.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/pp_workflow/simple.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/pp_workflow/simple_module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/pp_workflow/workflow.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/prototypes/search.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/batch_runner.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/batch_setup.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/flow.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/gwosc.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/merge_catalog.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/post_process.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/run.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/server.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/cli/xtalk.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/config/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/config/config.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/constants/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/constants/detectors.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/constants/physics_constants.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/constants/project_constants.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/autoencoder/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/autoencoder/autoencoder.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/autoencoder/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/catalog/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/catalog/catalog.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/catalog/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/coherence/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/coherence/coherence.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/coherence/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/condor/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/condor/condor.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/condor/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/cwb_conversions/series.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/data_conditioning/regression.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/data_conditioning/whitening.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/energy_threshold/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/energy_threshold/threshold.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/gracedb/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/gracedb/gracedb.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/gracedb/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/gracedb/test_gracedb.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/gwosc/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/gwosc/gwosc.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/dq_segment.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/frame.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/job_segment.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/plots.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/super_lag.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/job_segment/test_job_segment.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihood/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihood/likelihood.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihood/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihoodWP/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihoodWP/dpf.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/likelihoodWP/utils.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/logger/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/logger/logger.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/logger/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot/cluster_statistics.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot/event.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot/spectrogram.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot/waveform.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot_map/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot_map/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/plot_map/world_map.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/read_data/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/read_data/data_check.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/read_data/data_find.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/read_data/mdc.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/read_data/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/read_data/read_data.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/reconstruction/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/reconstruction/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/report/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/report/continues_poisson.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/report/far_rho.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/report/read_results.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/report/report.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/sparse_series/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/sparse_series/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/sparse_series/sparse_table.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/statistics/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/statistics/eff.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/statistics/eff_plot.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/statistics/merge.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/statistics/sigmoid_fit.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/super_cluster/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/super_cluster/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/super_cluster/super_cluster.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/super_cluster/supercluster.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/super_cluster/utils.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/supercluster_naive/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/supercluster_naive/supercluster2.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/superlag/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/superlag/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/superlag/superlag.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/web_viewer/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/web_viewer/create.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/web_viewer/module.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/workflow_utils/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/workflow_utils/job_setup.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/xtalk/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/xtalk/monster.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/xtalk/monster_old.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/modules/xtalk/xtalk_data.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/post_production/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/post_production/workflow.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/prefect_flow/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/prefect_flow/pycwb_flow.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/prefect_flow/tasks/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/prefect_flow/tasks/builtin.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/data_quality_file.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/detector.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/job.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/network.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/network_cluster.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/network_event.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/network_pixel.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/sparse_series.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/time_frequency_series.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/wdm.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/types/wdm_xtalk.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/async_write.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/check_ROOT.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/conversions/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/conversions/timeseries.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/dataclass_object_io.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/dep_check.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/generate_params_table.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/image.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/network.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/parser.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/skymap_coord.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/utils/yaml_helper.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/autoencoder/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/example.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/lib/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/template/gwosc/user_parameters.yaml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/web_viewer/styles.css +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/merge.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/subflow/__init__.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/subflow/postprocess_and_plots.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/subflow/prepare_job_runs.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pycwb/workflow/subflow/process_job_segment.py +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/pyproject.toml +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/setup.cfg +0 -0
- {pycwb-0.27.1 → pycwb-0.28.0}/setup.py +0 -0
|
@@ -15,6 +15,7 @@ PycWB.egg-info/top_level.txt
|
|
|
15
15
|
benchmark/README.md
|
|
16
16
|
benchmark/likelihood/README.md
|
|
17
17
|
benchmark/likelihood/generate_data_for_likelihood.py
|
|
18
|
+
benchmark/likelihood/perf_cuda.py
|
|
18
19
|
benchmark/likelihood/performance_test_dpf.py
|
|
19
20
|
benchmark/likelihood/performance_test_opt_sky.py
|
|
20
21
|
benchmark/likelihood/user_parameters_injection.yaml
|
|
@@ -3,9 +3,9 @@ import os
|
|
|
3
3
|
from pycwb.config import Config
|
|
4
4
|
from pycwb.modules.logger import logger_init
|
|
5
5
|
|
|
6
|
-
if not os.environ.get('HOME_WAT_FILTERS'):
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
# if not os.environ.get('HOME_WAT_FILTERS'):
|
|
7
|
+
# print('Please set HOME_WAT_FILTERS to the directory of WAT filters')
|
|
8
|
+
# exit(1)
|
|
9
9
|
|
|
10
10
|
logger_init()
|
|
11
11
|
|
|
@@ -14,13 +14,21 @@ config = Config('./user_parameters_injection.yaml')
|
|
|
14
14
|
#%% md
|
|
15
15
|
## generate injected data for each detector with given parameters in config
|
|
16
16
|
#%%
|
|
17
|
-
from pycwb.modules.read_data import generate_injection
|
|
18
|
-
from pycwb.modules.job_segment import create_job_segment_from_injection
|
|
17
|
+
from pycwb.modules.read_data import generate_injection, read_from_job_segment, generate_noise_for_job_seg
|
|
18
|
+
from pycwb.modules.job_segment import create_job_segment_from_injection, create_job_segment_from_config
|
|
19
19
|
|
|
20
|
-
job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection)
|
|
20
|
+
job_segments = create_job_segment_from_config(config) #create_job_segment_from_injection(config.ifo, config.simulation, config.injection)
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
job_seg = job_segments[0]
|
|
23
23
|
|
|
24
|
+
data = None
|
|
25
|
+
# data = generate_injection(config, job_segments[0])
|
|
26
|
+
if job_seg.frames:
|
|
27
|
+
data = read_from_job_segment(config, job_seg)
|
|
28
|
+
if job_seg.noise:
|
|
29
|
+
data = generate_noise_for_job_seg(job_seg, config.inRate, data=data)
|
|
30
|
+
if job_seg.injections:
|
|
31
|
+
data = generate_injection(config, job_seg, data)
|
|
24
32
|
#%% md
|
|
25
33
|
## apply data conditioning to the data
|
|
26
34
|
#%%
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import cupy as cp
|
|
2
|
+
|
|
3
|
+
def dpf_cupy(FP, FX, rms):
|
|
4
|
+
"""
|
|
5
|
+
Vectorized version of dpf_np using CuPy for GPU acceleration.
|
|
6
|
+
|
|
7
|
+
:param FP: (n_sky, NIFO, 1) array
|
|
8
|
+
:param FX: (n_sky, NIFO, 1) array
|
|
9
|
+
:param rms: (NIFO, NPIX) array
|
|
10
|
+
:return: aa, fp, fx, si, co, ni (all as cupy arrays)
|
|
11
|
+
"""
|
|
12
|
+
# Broadcast multiply
|
|
13
|
+
f = FP * rms[cp.newaxis, :, :] # Shape: (n_sky, NIFO, NPIX)
|
|
14
|
+
F = FX * rms[cp.newaxis, :, :]
|
|
15
|
+
|
|
16
|
+
# Sum over NIFO (axis=1)
|
|
17
|
+
_ff = (f ** 2).sum(axis=1)
|
|
18
|
+
_FF = (F ** 2).sum(axis=1)
|
|
19
|
+
_fF = (f * F).sum(axis=1)
|
|
20
|
+
|
|
21
|
+
# Intermediate terms
|
|
22
|
+
_si = 2.0 * _fF
|
|
23
|
+
_co = _ff - _FF
|
|
24
|
+
_AP = _ff + _FF
|
|
25
|
+
_nn = cp.sqrt(_co**2 + _si**2)
|
|
26
|
+
_cc = _co / (_nn + 0.0001)
|
|
27
|
+
fp = (_AP + _nn) / 2.0
|
|
28
|
+
|
|
29
|
+
# Compute co and si with sign correction
|
|
30
|
+
si = cp.sqrt((1.0 - _cc) / 2.0)
|
|
31
|
+
co = cp.where(_si > 0.0,
|
|
32
|
+
cp.sqrt((1.0 + _cc) / 2.0),
|
|
33
|
+
-cp.sqrt((1.0 + _cc) / 2.0))
|
|
34
|
+
|
|
35
|
+
# Expand dimensions for broadcasting
|
|
36
|
+
co_exp = co[:, cp.newaxis, :]
|
|
37
|
+
si_exp = si[:, cp.newaxis, :]
|
|
38
|
+
|
|
39
|
+
# Update basis vectors
|
|
40
|
+
f_new = f * co_exp + F * si_exp
|
|
41
|
+
F_new = F * co_exp - f * si_exp
|
|
42
|
+
|
|
43
|
+
# Compute new correlation
|
|
44
|
+
fF_new = (f_new * F_new).sum(axis=1) / (fp + 0.0001)
|
|
45
|
+
|
|
46
|
+
# Adjust F
|
|
47
|
+
F_adj = F_new - f_new * fF_new[:, cp.newaxis, :]
|
|
48
|
+
|
|
49
|
+
# Final energy terms
|
|
50
|
+
fx = (F_adj ** 2).sum(axis=1)
|
|
51
|
+
ni = (f_new ** 4).sum(axis=1) / (fp**2 + 0.0001)
|
|
52
|
+
|
|
53
|
+
# Network statistics
|
|
54
|
+
NI = (fx / (ni + 0.0001)).sum(axis=1)
|
|
55
|
+
NN = (fp > 0.0).sum(axis=1)
|
|
56
|
+
aa = cp.sqrt(NI / (NN + 0.01))
|
|
57
|
+
|
|
58
|
+
return aa, fp, fx, si, co, ni
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def dpf_cupy(Fp0, Fx0, rms):
|
|
62
|
+
"""
|
|
63
|
+
:param Fp0: Fp0 is a NIFO x 1 array (CuPy array)
|
|
64
|
+
:param Fx0: Fx0 is a NIFO x 1 array (CuPy array)
|
|
65
|
+
:param rms: rms is a NIFO x NPIX array (CuPy array)
|
|
66
|
+
:return: Tuple of results as CuPy arrays
|
|
67
|
+
"""
|
|
68
|
+
f = rms * Fp0
|
|
69
|
+
F = rms * Fx0
|
|
70
|
+
|
|
71
|
+
_ff = cp.sum(f * f, axis=1)
|
|
72
|
+
_FF = cp.sum(F * F, axis=1)
|
|
73
|
+
_fF = cp.sum(f * F, axis=1)
|
|
74
|
+
|
|
75
|
+
_si = 2.0 * _fF
|
|
76
|
+
_co = _ff - _FF
|
|
77
|
+
_AP = _ff + _FF
|
|
78
|
+
_nn = cp.sqrt(_co**2 + _si**2)
|
|
79
|
+
_cc = _co / (_nn + 0.0001)
|
|
80
|
+
fp = (_AP + _nn) / 2.0
|
|
81
|
+
|
|
82
|
+
si = cp.sqrt((1.0 - _cc) / 2.0)
|
|
83
|
+
co = cp.where(_si > 0.0,
|
|
84
|
+
cp.sqrt((1.0 + _cc) / 2.0),
|
|
85
|
+
-cp.sqrt((1.0 + _cc) / 2.0))
|
|
86
|
+
|
|
87
|
+
# Update f and F with broadcasting
|
|
88
|
+
f = f * co[:, cp.newaxis] + F * si[:, cp.newaxis]
|
|
89
|
+
F = F * co[:, cp.newaxis] - f * si[:, cp.newaxis]
|
|
90
|
+
|
|
91
|
+
fF_new = cp.sum(f * F, axis=1) / (fp + 0.0001)
|
|
92
|
+
F -= f * fF_new[:, cp.newaxis]
|
|
93
|
+
|
|
94
|
+
fx = cp.sum(F * F, axis=1)
|
|
95
|
+
ni = cp.sum(f**4, axis=1) / (fp**2 + 0.0001)
|
|
96
|
+
|
|
97
|
+
NI = cp.sum(fx / (ni + 0.0001))
|
|
98
|
+
NN = cp.sum(fp > 0.0)
|
|
99
|
+
|
|
100
|
+
return cp.sqrt(NI / (NN + 0.01)), fp, fx, si, co, ni
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def calculate_dpf_gpu(FP, FX, rms, n_sky: int, gamma_regulator: float,
|
|
104
|
+
network_energy_threshold: float):
|
|
105
|
+
"""
|
|
106
|
+
GPU-accelerated version of calculate_dpf using CuPy.
|
|
107
|
+
|
|
108
|
+
:param FP: (n_sky, NIFO, 1) array
|
|
109
|
+
:param FX: (n_sky, NIFO, 1) array
|
|
110
|
+
:param rms: (NIFO, NPIX) array
|
|
111
|
+
:return: network energy statistic
|
|
112
|
+
"""
|
|
113
|
+
# Convert to float32 and ensure on GPU
|
|
114
|
+
FP = cp.asarray(FP, dtype=cp.float32)
|
|
115
|
+
FX = cp.asarray(FX, dtype=cp.float32)
|
|
116
|
+
rms = cp.asarray(rms, dtype=cp.float32)
|
|
117
|
+
|
|
118
|
+
# Compute all aa values in parallel
|
|
119
|
+
aa, _, _, _, _, _ = dpf_cupy(FP, FX, rms)
|
|
120
|
+
|
|
121
|
+
# Compute selection mask
|
|
122
|
+
mm = (aa > gamma_regulator).astype(cp.uint8)
|
|
123
|
+
ff = mm.sum()
|
|
124
|
+
FF = n_sky # Original code sets all MM[i] = 1
|
|
125
|
+
|
|
126
|
+
# Final calculation
|
|
127
|
+
return (FF**2 / (ff**2 + 1e-9) - 1) * network_energy_threshold
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
import pickle
|
|
132
|
+
import numpy as np
|
|
133
|
+
|
|
134
|
+
from pycwb.modules.likelihoodWP.likelihood import load_data_from_pixels
|
|
135
|
+
|
|
136
|
+
# load FP, FX, rms, n_sky, gamma_regulator, network_energy_threshold from pickle
|
|
137
|
+
with open('test_data.pkl', 'rb') as f:
|
|
138
|
+
test_data = pickle.load(f)
|
|
139
|
+
|
|
140
|
+
FP = test_data['FP']
|
|
141
|
+
FX = test_data['FX']
|
|
142
|
+
pixels = test_data['pixels']
|
|
143
|
+
n_ifo = test_data['n_ifo']
|
|
144
|
+
n_sky = test_data['n_sky']
|
|
145
|
+
gamma_regulator = test_data['gamma_regulator']
|
|
146
|
+
network_energy_threshold = test_data['network_energy_threshold']
|
|
147
|
+
rms, td00, td90, td_energy = load_data_from_pixels(pixels, n_ifo)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
calculate_dpf_gpu(FP.T, FX.T, rms.T,
|
|
151
|
+
int(n_sky),
|
|
152
|
+
gamma_regulator, network_energy_threshold)
|
|
153
|
+
|
|
154
|
+
print(dpf_cupy(FP.T[1000].astype(np.float32), FX.T[1000].astype(np.float32), rms.T.astype(np.float32))[0])
|
|
155
|
+
|
|
156
|
+
import time
|
|
157
|
+
|
|
158
|
+
total_time = 0
|
|
159
|
+
# # convert FP, FX, rms to float32
|
|
160
|
+
for i in range(10):
|
|
161
|
+
start = time.time()
|
|
162
|
+
calculate_dpf_gpu(FP.T, FX.T, rms.T,
|
|
163
|
+
int(n_sky),
|
|
164
|
+
gamma_regulator, network_energy_threshold)
|
|
165
|
+
end = time.time()
|
|
166
|
+
total_time += end - start
|
|
167
|
+
print(end - start)
|
|
168
|
+
print(f"Average time: {total_time / 10:.4f} s")
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '0.
|
|
16
|
-
__version_tuple__ = version_tuple = (0,
|
|
20
|
+
__version__ = version = '0.28.0'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 28, 0)
|
|
@@ -81,6 +81,12 @@ schema = {
|
|
|
81
81
|
"default": False,
|
|
82
82
|
"cwb": False
|
|
83
83
|
},
|
|
84
|
+
"segment_processer": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "main segment processer function for the analysis, the arguments for the function are: func(working_dir, config, job_seg, **kwargs)",
|
|
87
|
+
"default": "pycwb.workflow.subflow.process_job_segment.process_job_segment",
|
|
88
|
+
"cwb": False
|
|
89
|
+
},
|
|
84
90
|
"use_root_supercluster": {
|
|
85
91
|
"type": "boolean",
|
|
86
92
|
"description": "use cwb supercluster, if false use python version",
|
|
@@ -8,7 +8,7 @@ from numba import njit
|
|
|
8
8
|
logger = logging.getLogger(__name__)
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
def get_MRA_wave(cluster, wdmList, rate, ifo, a_type, mode, nproc, whiten=False):
|
|
11
|
+
def get_MRA_wave(cluster, wdmList, rate, ifo, a_type, mode, nproc, whiten=False) -> TimeSeries:
|
|
12
12
|
"""
|
|
13
13
|
get MRA waveforms of type atype in time domain given lag nomber and cluster ID
|
|
14
14
|
|
|
@@ -122,9 +122,9 @@ def get_network_MRA_wave(config, cluster, rate, nIFO, rTDF, a_type, mode, tof, w
|
|
|
122
122
|
# apply time delay
|
|
123
123
|
if tof:
|
|
124
124
|
R = rTDF # effective time-delay rate
|
|
125
|
-
t_shift = v[i] / R
|
|
125
|
+
t_shift = -v[i] / R
|
|
126
126
|
xf = x.to_frequencyseries()
|
|
127
|
-
xf
|
|
127
|
+
xf.data *= np.exp(-2j * np.pi * xf.sample_frequencies * t_shift)
|
|
128
128
|
x = xf.to_timeseries()
|
|
129
129
|
|
|
130
130
|
waveforms.append(x)
|
|
@@ -13,3 +13,13 @@ def import_helper(module_str, module_name):
|
|
|
13
13
|
module = importlib.import_module(module_str)
|
|
14
14
|
|
|
15
15
|
return module
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def import_function(func_str):
|
|
19
|
+
func_name = func_str.split('.')[-1]
|
|
20
|
+
module_name = '.'.join(func_str.split('.')[:-1])
|
|
21
|
+
if not module_name.startswith('pycwb'):
|
|
22
|
+
module_name = f"pycwb.modules.{module_name}"
|
|
23
|
+
module = import_helper(module_name, module_name)
|
|
24
|
+
func = getattr(module, func_name)
|
|
25
|
+
return func
|
|
@@ -2,13 +2,13 @@ import multiprocessing
|
|
|
2
2
|
import os
|
|
3
3
|
import getpass
|
|
4
4
|
import shutil
|
|
5
|
+
import logging
|
|
5
6
|
from pathlib import Path
|
|
6
|
-
|
|
7
|
-
from htcondor import dags
|
|
8
|
-
|
|
9
7
|
from pycwb.modules.logger import logger_init, log_prints
|
|
10
8
|
from pycwb.workflow.subflow import prepare_job_runs, load_batch_run
|
|
11
|
-
from pycwb.
|
|
9
|
+
from pycwb.utils.module import import_function
|
|
10
|
+
|
|
11
|
+
logger = logging.getLogger(__name__)
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
def batch_setup(file_name, working_dir='.',
|
|
@@ -17,6 +17,7 @@ def batch_setup(file_name, working_dir='.',
|
|
|
17
17
|
accounting_group=None, job_per_worker=10, n_proc=1, memory="6GB", disk="4GB",
|
|
18
18
|
dry_run=False, submit=False):
|
|
19
19
|
import htcondor
|
|
20
|
+
from htcondor import dags
|
|
20
21
|
|
|
21
22
|
logger_init(log_file, log_level)
|
|
22
23
|
job_segments, config, working_dir = prepare_job_runs(working_dir, file_name, n_proc, dry_run, overwrite,
|
|
@@ -139,6 +140,10 @@ def batch_run(config_file, working_dir='.', log_file=None, log_level="INFO",
|
|
|
139
140
|
n_proc=n_proc, compress_json=compress_json)
|
|
140
141
|
logger_init(log_file, log_level)
|
|
141
142
|
|
|
143
|
+
logger.info(f"Loading segment processer: {config.segment_processer}")
|
|
144
|
+
main_func = import_function(config.segment_processer)
|
|
145
|
+
logger.info(f"Segment processer loaded: {main_func}")
|
|
146
|
+
|
|
142
147
|
exceptions = []
|
|
143
148
|
for job_seg in job_segments:
|
|
144
149
|
# check if the job is done
|
|
@@ -152,7 +157,7 @@ def batch_run(config_file, working_dir='.', log_file=None, log_level="INFO",
|
|
|
152
157
|
# args=(working_dir, config, job_seg, compress_json, catalog_file))
|
|
153
158
|
# process.start()
|
|
154
159
|
# process.join()
|
|
155
|
-
|
|
160
|
+
main_func(working_dir, config, job_seg,
|
|
156
161
|
compress_json=compress_json, catalog_file=catalog_file)
|
|
157
162
|
|
|
158
163
|
# create a flag file to indicate the job is done
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
from pycwb.modules.logger import logger_init
|
|
2
2
|
from pycwb.workflow.subflow import prepare_job_runs
|
|
3
|
-
from pycwb.
|
|
3
|
+
from pycwb.utils.module import import_function
|
|
4
|
+
import logging
|
|
5
|
+
|
|
6
|
+
logger = logging.getLogger(__name__)
|
|
4
7
|
|
|
5
8
|
|
|
6
9
|
def search(file_name, working_dir='.', overwrite=False, log_file=None, log_level="INFO",
|
|
@@ -17,7 +20,11 @@ def search(file_name, working_dir='.', overwrite=False, log_file=None, log_level
|
|
|
17
20
|
# cluster.scale(n_proc)
|
|
18
21
|
# client = Client(cluster)
|
|
19
22
|
|
|
23
|
+
logger.info(f"Loading segment processer: {config.segment_processer}")
|
|
24
|
+
main_func = import_function(config.segment_processer)
|
|
25
|
+
logger.info(f"Segment processer loaded: {main_func}")
|
|
26
|
+
|
|
20
27
|
for job_seg in job_segments:
|
|
21
|
-
|
|
28
|
+
main_func(working_dir, config, job_seg, compress_json=compress_json)
|
|
22
29
|
|
|
23
30
|
# client.close()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|