PycWB 0.22.2__tar.gz → 0.23.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.
Files changed (394) hide show
  1. {pycwb-0.22.2 → pycwb-0.23.0}/PKG-INFO +1 -1
  2. {pycwb-0.22.2 → pycwb-0.23.0}/PycWB.egg-info/PKG-INFO +1 -1
  3. {pycwb-0.22.2 → pycwb-0.23.0}/PycWB.egg-info/SOURCES.txt +11 -2
  4. {pycwb-0.22.2 → pycwb-0.23.0}/bin/pycwb +14 -5
  5. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/_version.py +2 -2
  6. pycwb-0.23.0/pycwb/cli/batch_runner.py +48 -0
  7. pycwb-0.22.2/pycwb/cli/batch.py → pycwb-0.23.0/pycwb/cli/batch_setup.py +43 -23
  8. pycwb-0.23.0/pycwb/cli/merge_catalog.py +18 -0
  9. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/cli/run.py +3 -3
  10. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/config/config.py +3 -0
  11. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/constants/user_parameters_schema.py +19 -2
  12. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/coherence/coherence.py +3 -0
  13. pycwb-0.23.0/pycwb/modules/energy_threshold/threshold.py +48 -0
  14. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/job_segment.py +8 -8
  15. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihood/likelihood.py +4 -3
  16. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot/cluster_statistics.py +4 -2
  17. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/read_data/data_check.py +5 -1
  18. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/read_data/mdc.py +81 -52
  19. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/statistics/sigmoid_fit.py +16 -4
  20. pycwb-0.23.0/pycwb/modules/supercluster_naive/supercluster2.py +46 -0
  21. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/workflow_utils/job_setup.py +13 -2
  22. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/prefect_flow/tasks/builtin.py +1 -1
  23. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/network_cluster.py +22 -0
  24. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/network_event.py +2 -0
  25. pycwb-0.23.0/pycwb/utils/parser.py +14 -0
  26. pycwb-0.23.0/pycwb/vendor/lib/__init__.py +0 -0
  27. pycwb-0.23.0/pycwb/workflow/__init__.py +0 -0
  28. pycwb-0.23.0/pycwb/workflow/batch.py +174 -0
  29. pycwb-0.23.0/pycwb/workflow/merge.py +39 -0
  30. pycwb-0.23.0/pycwb/workflow/run.py +23 -0
  31. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/workflow/subflow/postprocess_and_plots.py +47 -15
  32. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/workflow/subflow/prepare_job_runs.py +22 -15
  33. pycwb-0.23.0/pycwb/workflow/subflow/process_job_segment.py +115 -0
  34. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/workflow/subflow/supercluster_and_likelihood.py +18 -6
  35. pycwb-0.22.2/pycwb/search.py +0 -275
  36. pycwb-0.22.2/pycwb/workflow/batch.py +0 -168
  37. {pycwb-0.22.2 → pycwb-0.23.0}/.gitignore +0 -0
  38. {pycwb-0.22.2 → pycwb-0.23.0}/.gitlab-ci.yml +0 -0
  39. {pycwb-0.22.2 → pycwb-0.23.0}/LICENSE +0 -0
  40. {pycwb-0.22.2 → pycwb-0.23.0}/MANIFEST.in +0 -0
  41. {pycwb-0.22.2 → pycwb-0.23.0}/Makefile +0 -0
  42. {pycwb-0.22.2 → pycwb-0.23.0}/PycWB.egg-info/dependency_links.txt +0 -0
  43. {pycwb-0.22.2 → pycwb-0.23.0}/PycWB.egg-info/requires.txt +0 -0
  44. {pycwb-0.22.2 → pycwb-0.23.0}/PycWB.egg-info/top_level.txt +0 -0
  45. {pycwb-0.22.2 → pycwb-0.23.0}/README.md +0 -0
  46. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/README.md +0 -0
  47. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/likelihood/README.md +0 -0
  48. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/likelihood/generate_data_for_likelihood.py +0 -0
  49. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/likelihood/performance_test_dpf.py +0 -0
  50. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
  51. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
  52. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/supercluster/README.md +0 -0
  53. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/supercluster/generate_data.py +0 -0
  54. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/supercluster/generate_data_2.py +0 -0
  55. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/supercluster/performance_supercluster.py +0 -0
  56. {pycwb-0.22.2 → pycwb-0.23.0}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
  57. {pycwb-0.22.2 → pycwb-0.23.0}/bin/pycwb_search +0 -0
  58. {pycwb-0.22.2 → pycwb-0.23.0}/bin/pycwb_show +0 -0
  59. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Biorthogonal.cc +0 -0
  60. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Biorthogonal.hh +0 -0
  61. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/CMakeLists.txt +0 -0
  62. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Daubechies.cc +0 -0
  63. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Daubechies.hh +0 -0
  64. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/FourierCoefficients.icc +0 -0
  65. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Haar.cc +0 -0
  66. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Haar.hh +0 -0
  67. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/LineFilter.cc +0 -0
  68. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/LineFilter.hh +0 -0
  69. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Makefile +0 -0
  70. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Meyer.cc +0 -0
  71. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Meyer.hh +0 -0
  72. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Symlet.cc +0 -0
  73. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Symlet.hh +0 -0
  74. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/SymmArray.cc +0 -0
  75. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/SymmArray.hh +0 -0
  76. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/SymmArraySSE.cc +0 -0
  77. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/SymmArraySSE.hh +0 -0
  78. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/SymmObjArray.cc +0 -0
  79. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/SymmObjArray.hh +0 -0
  80. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/WDM.cc +0 -0
  81. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/WDM.hh +0 -0
  82. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/WDMOverlap.cc +0 -0
  83. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/WDMOverlap.hh +0 -0
  84. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/WaveDWT.cc +0 -0
  85. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/WaveDWT.hh +0 -0
  86. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Wavelet.cc +0 -0
  87. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/Wavelet.hh +0 -0
  88. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/alm.hh +0 -0
  89. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/build.sh +0 -0
  90. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/cluster.cc +0 -0
  91. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/cluster.hh +0 -0
  92. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
  93. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
  94. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/cmake/install_function.cmake +0 -0
  95. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/constants.hh +0 -0
  96. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/detector.cc +0 -0
  97. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/detector.hh +0 -0
  98. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/injection.cc +0 -0
  99. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/injection.hh +0 -0
  100. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/lossy.cc +0 -0
  101. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/lossy.hh +0 -0
  102. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/monster.cc +0 -0
  103. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/monster.hh +0 -0
  104. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/netcluster.cc +0 -0
  105. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/netcluster.hh +0 -0
  106. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/netevent.cc +0 -0
  107. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/netevent.hh +0 -0
  108. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/netpixel.cc +0 -0
  109. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/netpixel.hh +0 -0
  110. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/network.cc +0 -0
  111. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/network.hh +0 -0
  112. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/pycwb.hh +0 -0
  113. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/rdfr.cc +0 -0
  114. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/rdfr.hh +0 -0
  115. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/readframe.cc +0 -0
  116. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/readframe.hh +0 -0
  117. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/readfrfile.cc +0 -0
  118. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/readfrfile.hh +0 -0
  119. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/regression.cc +0 -0
  120. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/regression.hh +0 -0
  121. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/skycoord.hh +0 -0
  122. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/skymap.cc +0 -0
  123. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/skymap.hh +0 -0
  124. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/sseries.cc +0 -0
  125. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/sseries.hh +0 -0
  126. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/time.cc +0 -0
  127. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/time.hh +0 -0
  128. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wat.hh +0 -0
  129. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watasm.S +0 -0
  130. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watasm_elf64.o +0 -0
  131. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watavx.hh +0 -0
  132. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watbranch.in +0 -0
  133. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watfun.hh +0 -0
  134. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wathash.in +0 -0
  135. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watplot.cc +0 -0
  136. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watplot.hh +0 -0
  137. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watsse.hh +0 -0
  138. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wattag.in +0 -0
  139. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/waturl.in +0 -0
  140. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/watversion.hh.in +0 -0
  141. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavearray.cc +0 -0
  142. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavearray.hh +0 -0
  143. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavecomplex.cc +0 -0
  144. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavecomplex.hh +0 -0
  145. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavecor.cc +0 -0
  146. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavecor.hh +0 -0
  147. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavefft.cc +0 -0
  148. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavefft.hh +0 -0
  149. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavelet_LinkDef.h +0 -0
  150. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavelinefilter.cc +0 -0
  151. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wavelinefilter.hh +0 -0
  152. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/waverdc.cc +0 -0
  153. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/waverdc.hh +0 -0
  154. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wseries.cc +0 -0
  155. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wseries.hh +0 -0
  156. {pycwb-0.22.2 → pycwb-0.23.0}/cwb-core/wslice.hh +0 -0
  157. {pycwb-0.22.2 → pycwb-0.23.0}/docs/0.installation_guide.md +0 -0
  158. {pycwb-0.22.2 → pycwb-0.23.0}/docs/1.initialisation_guide.md +0 -0
  159. {pycwb-0.22.2 → pycwb-0.23.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
  160. {pycwb-0.22.2 → pycwb-0.23.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
  161. {pycwb-0.22.2 → pycwb-0.23.0}/docs/4.py_cwb_inet_2G.md +0 -0
  162. {pycwb-0.22.2 → pycwb-0.23.0}/docs/5.cwb2G_analyse.md +0 -0
  163. {pycwb-0.22.2 → pycwb-0.23.0}/docs/6.wat_codes_notes.md +0 -0
  164. {pycwb-0.22.2 → pycwb-0.23.0}/docs/Makefile +0 -0
  165. {pycwb-0.22.2 → pycwb-0.23.0}/docs/diagram.py +0 -0
  166. {pycwb-0.22.2 → pycwb-0.23.0}/docs/make.bat +0 -0
  167. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/_static/.keep +0 -0
  168. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/_templates/.keep +0 -0
  169. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/conf.py +0 -0
  170. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/credit.rst +0 -0
  171. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/index.rst +0 -0
  172. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/install.rst +0 -0
  173. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/mod_cwb.rst +0 -0
  174. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/package.rst +0 -0
  175. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/schema.rst +0 -0
  176. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/tutorial_batch_inj.rst +0 -0
  177. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
  178. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/tutorial_injection.rst +0 -0
  179. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/tutorial_multi_injection.rst +0 -0
  180. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/tutorial_search.rst +0 -0
  181. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/tutorials.rst +0 -0
  182. {pycwb-0.22.2 → pycwb-0.23.0}/docs/source/workflow.png +0 -0
  183. {pycwb-0.22.2 → pycwb-0.23.0}/envs/Dockerfile +0 -0
  184. {pycwb-0.22.2 → pycwb-0.23.0}/envs/mamba/Dockerfile +0 -0
  185. {pycwb-0.22.2 → pycwb-0.23.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
  186. {pycwb-0.22.2 → pycwb-0.23.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
  187. {pycwb-0.22.2 → pycwb-0.23.0}/examples/batch_injection/generate_parameters.py +0 -0
  188. {pycwb-0.22.2 → pycwb-0.23.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
  189. {pycwb-0.22.2 → pycwb-0.23.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
  190. {pycwb-0.22.2 → pycwb-0.23.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
  191. {pycwb-0.22.2 → pycwb-0.23.0}/examples/batch_injection/pycwb_injection.py +0 -0
  192. {pycwb-0.22.2 → pycwb-0.23.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
  193. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
  194. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
  195. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
  196. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
  197. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
  198. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
  199. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
  200. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
  201. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/input/OPBM.period +0 -0
  202. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
  203. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
  204. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/pycwb_mdc.py +0 -0
  205. {pycwb-0.22.2 → pycwb-0.23.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
  206. {pycwb-0.22.2 → pycwb-0.23.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
  207. {pycwb-0.22.2 → pycwb-0.23.0}/examples/injection/pycwb_injection.ipynb +0 -0
  208. {pycwb-0.22.2 → pycwb-0.23.0}/examples/injection/pycwb_injection.py +0 -0
  209. {pycwb-0.22.2 → pycwb-0.23.0}/examples/injection/user_parameters_injection.yaml +0 -0
  210. {pycwb-0.22.2 → pycwb-0.23.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
  211. {pycwb-0.22.2 → pycwb-0.23.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
  212. {pycwb-0.22.2 → pycwb-0.23.0}/examples/multiple_injection/pycwb_injection.py +0 -0
  213. {pycwb-0.22.2 → pycwb-0.23.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
  214. {pycwb-0.22.2 → pycwb-0.23.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
  215. {pycwb-0.22.2 → pycwb-0.23.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
  216. {pycwb-0.22.2 → pycwb-0.23.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
  217. {pycwb-0.22.2 → pycwb-0.23.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
  218. {pycwb-0.22.2 → pycwb-0.23.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
  219. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/cwb_core/coherence.cc +0 -0
  220. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/cwb_core/coherence.hh +0 -0
  221. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/cwb_core/likelihood.cc +0 -0
  222. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/cwb_core/likelihood.hh +0 -0
  223. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/dag/dag.py +0 -0
  224. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/dag/dask-prefect.py +0 -0
  225. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/dag/prefect_test.py +0 -0
  226. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger/__init__.py +0 -0
  227. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger/server.py +0 -0
  228. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger/visualizition.py +0 -0
  229. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
  230. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/.gitignore +0 -0
  231. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
  232. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/README.md +0 -0
  233. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/index.html +0 -0
  234. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
  235. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/package.json +0 -0
  236. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
  237. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
  238. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
  239. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
  240. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
  241. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
  242. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
  243. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
  244. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
  245. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
  246. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
  247. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
  248. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
  249. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
  250. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
  251. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/main.js +0 -0
  252. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
  253. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
  254. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
  255. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
  256. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
  257. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
  258. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
  259. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
  260. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/performance/numba_test.py +0 -0
  261. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/performance/taichi_test.py +0 -0
  262. {pycwb-0.22.2 → pycwb-0.23.0}/prototypes/search.yaml +0 -0
  263. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/__init__.py +0 -0
  264. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/cli/__init__.py +0 -0
  265. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/cli/flow.py +0 -0
  266. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/cli/server.py +0 -0
  267. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/cli/xtalk.py +0 -0
  268. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/config/__init__.py +0 -0
  269. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/constants/__init__.py +0 -0
  270. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/constants/project_constants.py +0 -0
  271. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/__init__.py +0 -0
  272. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/autoencoder/__init__.py +0 -0
  273. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/autoencoder/autoencoder.py +0 -0
  274. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
  275. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/autoencoder/module.yaml +0 -0
  276. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/catalog/__init__.py +0 -0
  277. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/catalog/catalog.py +0 -0
  278. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/catalog/module.yaml +0 -0
  279. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/coherence/__init__.py +0 -0
  280. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
  281. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/coherence/module.yaml +0 -0
  282. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/condor/__init__.py +0 -0
  283. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/condor/condor.py +0 -0
  284. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/condor/module.yaml +0 -0
  285. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
  286. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
  287. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
  288. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
  289. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/series.py +0 -0
  290. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
  291. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
  292. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
  293. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
  294. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/data_conditioning/regression.py +0 -0
  295. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/data_conditioning/whitening.py +0 -0
  296. {pycwb-0.22.2/pycwb/modules/likelihoodWP → pycwb-0.23.0/pycwb/modules/energy_threshold}/__init__.py +0 -0
  297. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/__init__.py +0 -0
  298. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/dq_segment.py +0 -0
  299. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/frame.py +0 -0
  300. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/module.yaml +0 -0
  301. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/plots.py +0 -0
  302. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/job_segment/super_lag.py +0 -0
  303. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihood/__init__.py +0 -0
  304. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihood/module.yaml +0 -0
  305. {pycwb-0.22.2/pycwb/modules/plot_map → pycwb-0.23.0/pycwb/modules/likelihoodWP}/__init__.py +0 -0
  306. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/dpf.py +0 -0
  307. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
  308. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
  309. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
  310. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/utils.py +0 -0
  311. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/logger/__init__.py +0 -0
  312. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/logger/logger.py +0 -0
  313. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/logger/module.yaml +0 -0
  314. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
  315. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
  316. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
  317. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot/__init__.py +0 -0
  318. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot/event.py +0 -0
  319. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot/module.yaml +0 -0
  320. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot/spectrogram.py +0 -0
  321. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot/waveform.py +0 -0
  322. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
  323. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
  324. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
  325. {pycwb-0.22.2/pycwb/modules/statistics → pycwb-0.23.0/pycwb/modules/plot_map}/__init__.py +0 -0
  326. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot_map/module.yaml +0 -0
  327. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/plot_map/world_map.py +0 -0
  328. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/read_data/__init__.py +0 -0
  329. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/read_data/data_find.py +0 -0
  330. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/read_data/module.yaml +0 -0
  331. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/read_data/read_data.py +0 -0
  332. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/reconstruction/__init__.py +0 -0
  333. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
  334. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/reconstruction/module.yaml +0 -0
  335. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/sparse_series/__init__.py +0 -0
  336. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/sparse_series/module.yaml +0 -0
  337. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/sparse_series/sparse_table.py +0 -0
  338. {pycwb-0.22.2/pycwb/modules/web_viewer → pycwb-0.23.0/pycwb/modules/statistics}/__init__.py +0 -0
  339. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/statistics/eff.py +0 -0
  340. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/statistics/eff_plot.py +0 -0
  341. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/statistics/merge.py +0 -0
  342. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/super_cluster/__init__.py +0 -0
  343. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/super_cluster/module.yaml +0 -0
  344. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
  345. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/super_cluster/super_cluster.py +0 -0
  346. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/super_cluster/supercluster.py +0 -0
  347. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/super_cluster/utils.py +0 -0
  348. {pycwb-0.22.2/pycwb/modules/workflow_utils → pycwb-0.23.0/pycwb/modules/supercluster_naive}/__init__.py +0 -0
  349. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/superlag/__init__.py +0 -0
  350. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/superlag/superlag.py +0 -0
  351. {pycwb-0.22.2/pycwb/modules/xtalk → pycwb-0.23.0/pycwb/modules/web_viewer}/__init__.py +0 -0
  352. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/web_viewer/create.py +0 -0
  353. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/web_viewer/module.yaml +0 -0
  354. {pycwb-0.22.2/pycwb/prefect_flow → pycwb-0.23.0/pycwb/modules/workflow_utils}/__init__.py +0 -0
  355. {pycwb-0.22.2/pycwb/prefect_flow/tasks → pycwb-0.23.0/pycwb/modules/xtalk}/__init__.py +0 -0
  356. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/xtalk/monster.py +0 -0
  357. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/xtalk/monster_old.py +0 -0
  358. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/modules/xtalk/xtalk_data.py +0 -0
  359. {pycwb-0.22.2/pycwb/types → pycwb-0.23.0/pycwb/prefect_flow}/__init__.py +0 -0
  360. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/prefect_flow/pycwb_flow.py +0 -0
  361. {pycwb-0.22.2/pycwb/utils → pycwb-0.23.0/pycwb/prefect_flow/tasks}/__init__.py +0 -0
  362. {pycwb-0.22.2/pycwb/utils/conversions → pycwb-0.23.0/pycwb/types}/__init__.py +0 -0
  363. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/data_quality_file.py +0 -0
  364. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/detector.py +0 -0
  365. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/job.py +0 -0
  366. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/network.py +0 -0
  367. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/network_pixel.py +0 -0
  368. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/sparse_series.py +0 -0
  369. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/time_frequency_series.py +0 -0
  370. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/wdm.py +0 -0
  371. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/types/wdm_xtalk.py +0 -0
  372. {pycwb-0.22.2/pycwb/vendor → pycwb-0.23.0/pycwb/utils}/__init__.py +0 -0
  373. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/async_write.py +0 -0
  374. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/check_ROOT.py +0 -0
  375. {pycwb-0.22.2/pycwb/vendor/autoencoder → pycwb-0.23.0/pycwb/utils/conversions}/__init__.py +0 -0
  376. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/conversions/timeseries.py +0 -0
  377. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/dataclass_object_io.py +0 -0
  378. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/dep_check.py +0 -0
  379. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/image.py +0 -0
  380. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/module.py +0 -0
  381. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/network.py +0 -0
  382. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/skymap_coord.py +0 -0
  383. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/utils/yaml_helper.py +0 -0
  384. {pycwb-0.22.2/pycwb/vendor/lib → pycwb-0.23.0/pycwb/vendor}/__init__.py +0 -0
  385. {pycwb-0.22.2/pycwb/workflow → pycwb-0.23.0/pycwb/vendor/autoencoder}/__init__.py +0 -0
  386. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
  387. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/vendor/example.yaml +0 -0
  388. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
  389. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/vendor/web_viewer/styles.css +0 -0
  390. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
  391. {pycwb-0.22.2 → pycwb-0.23.0}/pycwb/workflow/subflow/__init__.py +0 -0
  392. {pycwb-0.22.2 → pycwb-0.23.0}/pyproject.toml +0 -0
  393. {pycwb-0.22.2 → pycwb-0.23.0}/setup.cfg +0 -0
  394. {pycwb-0.22.2 → pycwb-0.23.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PycWB
3
- Version: 0.22.2
3
+ Version: 0.23.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>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PycWB
3
- Version: 0.22.2
3
+ Version: 0.23.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>
@@ -231,10 +231,11 @@ prototypes/performance/numba_test.py
231
231
  prototypes/performance/taichi_test.py
232
232
  pycwb/__init__.py
233
233
  pycwb/_version.py
234
- pycwb/search.py
235
234
  pycwb/cli/__init__.py
236
- pycwb/cli/batch.py
235
+ pycwb/cli/batch_runner.py
236
+ pycwb/cli/batch_setup.py
237
237
  pycwb/cli/flow.py
238
+ pycwb/cli/merge_catalog.py
238
239
  pycwb/cli/run.py
239
240
  pycwb/cli/server.py
240
241
  pycwb/cli/xtalk.py
@@ -269,6 +270,8 @@ pycwb/modules/data_conditioning/data_conditioning.py
269
270
  pycwb/modules/data_conditioning/module.yaml
270
271
  pycwb/modules/data_conditioning/regression.py
271
272
  pycwb/modules/data_conditioning/whitening.py
273
+ pycwb/modules/energy_threshold/__init__.py
274
+ pycwb/modules/energy_threshold/threshold.py
272
275
  pycwb/modules/job_segment/__init__.py
273
276
  pycwb/modules/job_segment/dq_segment.py
274
277
  pycwb/modules/job_segment/frame.py
@@ -326,6 +329,8 @@ pycwb/modules/super_cluster/sub_net_cut.py
326
329
  pycwb/modules/super_cluster/super_cluster.py
327
330
  pycwb/modules/super_cluster/supercluster.py
328
331
  pycwb/modules/super_cluster/utils.py
332
+ pycwb/modules/supercluster_naive/__init__.py
333
+ pycwb/modules/supercluster_naive/supercluster2.py
329
334
  pycwb/modules/superlag/__init__.py
330
335
  pycwb/modules/superlag/superlag.py
331
336
  pycwb/modules/web_viewer/__init__.py
@@ -361,6 +366,7 @@ pycwb/utils/dep_check.py
361
366
  pycwb/utils/image.py
362
367
  pycwb/utils/module.py
363
368
  pycwb/utils/network.py
369
+ pycwb/utils/parser.py
364
370
  pycwb/utils/skymap_coord.py
365
371
  pycwb/utils/yaml_helper.py
366
372
  pycwb/utils/conversions/__init__.py
@@ -375,7 +381,10 @@ pycwb/vendor/web_viewer/styles.css
375
381
  pycwb/vendor/web_viewer/viewer.html
376
382
  pycwb/workflow/__init__.py
377
383
  pycwb/workflow/batch.py
384
+ pycwb/workflow/merge.py
385
+ pycwb/workflow/run.py
378
386
  pycwb/workflow/subflow/__init__.py
379
387
  pycwb/workflow/subflow/postprocess_and_plots.py
380
388
  pycwb/workflow/subflow/prepare_job_runs.py
389
+ pycwb/workflow/subflow/process_job_segment.py
381
390
  pycwb/workflow/subflow/supercluster_and_likelihood.py
@@ -7,9 +7,10 @@ import argparse
7
7
  import pycwb.cli.server as server
8
8
  import pycwb.cli.run as run
9
9
  import pycwb.cli.flow as flow
10
- import pycwb.cli.batch as batch
10
+ import pycwb.cli.batch_setup as batch_setup
11
+ import pycwb.cli.batch_runner as batch_runner
11
12
  import pycwb.cli.xtalk as xtalk
12
-
13
+ import pycwb.cli.merge_catalog as merge_catalog
13
14
 
14
15
  def main():
15
16
  parser = argparse.ArgumentParser(prog='pycwb')
@@ -29,14 +30,22 @@ def main():
29
30
  flow.init_parser(flow_parser)
30
31
  flow_parser.set_defaults(func=flow.command)
31
32
 
32
- batch_parser = subparsers.add_parser('batch', help='Run search')
33
- batch.init_parser(batch_parser)
34
- batch_parser.set_defaults(func=batch.command)
33
+ batch_parser = subparsers.add_parser('batch-setup', help='Setup batch run')
34
+ batch_setup.init_parser(batch_parser)
35
+ batch_parser.set_defaults(func=batch_setup.command)
36
+
37
+ batch_runner_parser = subparsers.add_parser('batch-runner', help='Runner for batch run')
38
+ batch_runner.init_parser(batch_runner_parser)
39
+ batch_runner_parser.set_defaults(func=batch_runner.command)
35
40
 
36
41
  xtalk_parser = subparsers.add_parser('xtalk', help='Convert xtalk file')
37
42
  xtalk.init_parser(xtalk_parser)
38
43
  xtalk_parser.set_defaults(func=xtalk.command)
39
44
 
45
+ merge_catalog_parser = subparsers.add_parser('merge-catalog', help='Merge catalog files')
46
+ merge_catalog.init_parser(merge_catalog_parser)
47
+ merge_catalog_parser.set_defaults(func=merge_catalog.command)
48
+
40
49
  args = parser.parse_args()
41
50
  if hasattr(args, 'func'):
42
51
  args.func(args)
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.22.2'
16
- __version_tuple__ = version_tuple = (0, 22, 2)
15
+ __version__ = version = '0.23.0'
16
+ __version_tuple__ = version_tuple = (0, 23, 0)
@@ -0,0 +1,48 @@
1
+ import os
2
+
3
+
4
+ def init_parser(parser):
5
+ # Add the arguments
6
+ parser.add_argument('user_parameter_file',
7
+ metavar='file_path',
8
+ type=str,
9
+ help='the path to the user parameter file')
10
+
11
+ # working dir
12
+ parser.add_argument('--work-dir',
13
+ '-d',
14
+ metavar='work_dir',
15
+ type=str,
16
+ default='.',
17
+ help='the working directory')
18
+
19
+ # threads
20
+ parser.add_argument('--n-proc',
21
+ '-n',
22
+ metavar='n_proc',
23
+ type=int,
24
+ default=1,
25
+ help='the number of cpu to use, default to 1. If it set to 0, '
26
+ 'it will use the value from the user parameter file.')
27
+
28
+ # jobs
29
+ parser.add_argument('--jobs',
30
+ '-j',
31
+ metavar='jobs',
32
+ type=str,
33
+ default=None,
34
+ help='the range of jobs to run, e.g., 0-9')
35
+
36
+ # compress json
37
+ parser.add_argument('--compress_json',
38
+ action='store_true',
39
+ default=True,
40
+ help='compress the json files, by default True')
41
+
42
+
43
+ def command(args):
44
+ from pycwb.workflow.batch import batch_run
45
+
46
+ # Run the search function with the specified user parameter file
47
+ batch_run(args.user_parameter_file, working_dir=args.work_dir,
48
+ jobs=args.jobs, compress_json=args.compress_json, n_proc=args.n_proc)
@@ -8,13 +8,20 @@ def init_parser(parser):
8
8
  type=str,
9
9
  help='the path to the user parameter file')
10
10
 
11
- parser.add_argument('--submit',
12
- '-s',
11
+ parser.add_argument('--cluster',
12
+ '-c',
13
13
  metavar='job_submission_system',
14
14
  type=str,
15
15
  choices=['condor', 'slurm'],
16
+ default='condor',
16
17
  help='the submit option, the available options are condor and slurm')
17
18
 
19
+ parser.add_argument('--submit',
20
+ '-s',
21
+ action='store_true',
22
+ default=False,
23
+ help='submit the jobs to the job submission system')
24
+
18
25
  # working dir
19
26
  parser.add_argument('--work-dir',
20
27
  '-d',
@@ -38,12 +45,18 @@ def init_parser(parser):
38
45
  default=os.environ.get('CONDA_DEFAULT_ENV'),
39
46
  help='the conda environment')
40
47
 
48
+ # additional init
49
+ parser.add_argument('--additional-init',
50
+ '-a',
51
+ metavar='additional_init',
52
+ type=str,
53
+ help='additional initialization commands')
54
+
41
55
  # accounting_group
42
56
  parser.add_argument('--accounting-group',
43
57
  '-g',
44
58
  metavar='accounting_group',
45
59
  type=str,
46
- default='ligo.sim.o4.burst.allsky.cwboffline',
47
60
  help='the condor accounting group')
48
61
 
49
62
  # threads
@@ -51,28 +64,23 @@ def init_parser(parser):
51
64
  '-n',
52
65
  metavar='n_proc',
53
66
  type=int,
54
- default=0,
55
- help='the number of cpu to use, if it set to 0, '
67
+ default=1,
68
+ help='the number of cpu to use, default to 1. If it set to 0, '
56
69
  'it will use the value from the user parameter file.')
57
70
 
58
- # generate plot
59
- parser.add_argument('--plot',
60
- action='store_true',
61
- default=False,
62
- help='generate the plot, by default False')
71
+ # job_per_worker
72
+ parser.add_argument('--job-per-worker',
73
+ '-j',
74
+ metavar='job_per_worker',
75
+ type=int,
76
+ default=5,
77
+ help='the number of jobs per worker')
63
78
 
64
79
  # compress json
65
80
  parser.add_argument('--compress_json',
66
81
  action='store_true',
67
- default=False,
68
- help='compress the json files, by default False')
69
-
70
- # serve name
71
- parser.add_argument('--name',
72
- metavar='name',
73
- type=str,
74
- default='pycwb',
75
- help='the name of the serve')
82
+ default=True,
83
+ help='compress the json files, by default True')
76
84
 
77
85
  # list number of jobs
78
86
  parser.add_argument('--list-n-jobs',
@@ -88,10 +96,10 @@ def init_parser(parser):
88
96
 
89
97
 
90
98
  def command(args):
91
- from pycwb.workflow.batch import search
99
+ from pycwb.workflow.batch import batch_setup
92
100
 
93
101
  if args.list_n_jobs or args.list_jobs:
94
- jobs = search(args.user_parameter_file, working_dir=args.work_dir, n_proc=1, dry_run=True)
102
+ jobs = batch_setup(args.user_parameter_file, working_dir=args.work_dir, n_proc=1, dry_run=True)
95
103
 
96
104
  print(f"Number of jobs: {len(jobs)}")
97
105
 
@@ -105,6 +113,18 @@ def command(args):
105
113
 
106
114
  return 0
107
115
 
116
+ if args.cluster is 'slurm':
117
+ print("Slurm is not supported yet.")
118
+ return 1
119
+
108
120
  # Run the search function with the specified user parameter file
109
- search(args.user_parameter_file, working_dir=args.work_dir, n_proc=args.n_proc, submit=args.submit,
110
- overwrite=args.force_overwrite, plot=args.plot, compress_json=args.compress_json)
121
+ batch_setup(args.user_parameter_file, working_dir=args.work_dir,
122
+ compress_json=args.compress_json,
123
+ cluster=args.cluster,
124
+ conda_env=args.conda_env,
125
+ additional_init=args.additional_init,
126
+ n_proc=args.n_proc,
127
+ accounting_group=args.accounting_group,
128
+ job_per_worker=args.job_per_worker,
129
+ submit=args.submit,
130
+ overwrite=args.force_overwrite, )
@@ -0,0 +1,18 @@
1
+ import os
2
+
3
+
4
+ def init_parser(parser):
5
+ # working dir
6
+ parser.add_argument('--work-dir',
7
+ '-d',
8
+ metavar='work_dir',
9
+ type=str,
10
+ default='.',
11
+ help='the working directory')
12
+
13
+
14
+ def command(args):
15
+ from pycwb.workflow.merge import merge_catalog
16
+
17
+ # Run the search function with the specified user parameter file
18
+ merge_catalog(working_dir=args.work_dir)
@@ -35,7 +35,7 @@ def init_parser(parser):
35
35
  # generate plot
36
36
  parser.add_argument('--plot',
37
37
  action='store_true',
38
- default=False,
38
+ default=None,
39
39
  help='generate the plot, by default False')
40
40
 
41
41
  # compress json
@@ -65,7 +65,7 @@ def init_parser(parser):
65
65
 
66
66
 
67
67
  def command(args):
68
- from pycwb.workflow.batch import search
68
+ from pycwb.workflow.run import search
69
69
 
70
70
  if args.list_n_jobs or args.list_jobs:
71
71
  jobs = search(args.user_parameter_file, working_dir=args.work_dir, n_proc=1, dry_run=True)
@@ -83,5 +83,5 @@ def command(args):
83
83
  return 0
84
84
 
85
85
  # Run the search function with the specified user parameter file
86
- search(args.user_parameter_file, working_dir=args.work_dir, n_proc=args.n_proc, submit=args.submit,
86
+ search(args.user_parameter_file, working_dir=args.work_dir, n_proc=args.n_proc,
87
87
  overwrite=args.force_overwrite, plot=args.plot, compress_json=args.compress_json)
@@ -221,3 +221,6 @@ class Config:
221
221
  logger.info(f"MRA catalog has tag {wdm_MRA.tag}, updating beta order and precision from MRA catalog")
222
222
  self.WDM_beta_order, self.WDM_precision = int(wdm_MRA.beta_order), int(wdm_MRA.precision)
223
223
 
224
+ @staticmethod
225
+ def get_precision(cluster_size_threshold, healpix_order):
226
+ return cluster_size_threshold+65536*healpix_order
@@ -51,6 +51,18 @@ schema = {
51
51
  "default": False,
52
52
  "cwb": False
53
53
  },
54
+ "save_injection": {
55
+ "type": "boolean",
56
+ "description": "save injected waveform",
57
+ "default": False,
58
+ "cwb": False
59
+ },
60
+ "plot_injection": {
61
+ "type": "boolean",
62
+ "description": "plot injected waveform",
63
+ "default": False,
64
+ "cwb": False
65
+ },
54
66
  "save_sky_map": {
55
67
  "type": "boolean",
56
68
  "description": "save sky maps to json",
@@ -69,6 +81,12 @@ schema = {
69
81
  "default": False,
70
82
  "cwb": False
71
83
  },
84
+ "use_root_supercluster": {
85
+ "type": "boolean",
86
+ "description": "use cwb supercluster, if false use python version",
87
+ "default": True,
88
+ "cwb": False
89
+ },
72
90
  "nproc": {
73
91
  "type": "integer",
74
92
  "description": "number of processes",
@@ -301,9 +319,8 @@ schema = {
301
319
  },
302
320
  "netRHO": {
303
321
  "type": "number",
304
- "description": "[>4.0] coherent network SNR (supercluster, likelihood)",
322
+ "description": "[>4.0] coherent network SNR (supercluster, likelihood), if <=0 then use the new statistics for XGBoost",
305
323
  "default": 4.0,
306
- "minimum": 4.0,
307
324
  },
308
325
  "netCC": {
309
326
  "type": "number",
@@ -123,6 +123,9 @@ def coherence_single_res(i, config, tf_maps, nRMS_list, up_n=None, net=None):
123
123
 
124
124
  # produce TF maps with max over the sky energy
125
125
  alp = 0.0
126
+
127
+ # FIXME: max time delay is different to pycbc
128
+ config.max_delay = net.get_max_delay()
126
129
  for n in range(len(config.ifo)):
127
130
  ts = convert_to_wavearray(tf_maps[n])
128
131
  ts.Edge = config.segEdge
@@ -0,0 +1,48 @@
1
+ import math
2
+ import numba
3
+
4
+
5
+ @numba.jit(nopython=True)
6
+ def threshold(tf_maps, nIFO, Edge, p, shape):
7
+ """
8
+ Calculate WaveBurst energy threshold for a given black pixel probability p
9
+ and single detector Gamma distribution shape. TF data should contain pixel energy.
10
+ """
11
+
12
+ # The WSeries, wavearray and iGamma should be replaced with equivalent
13
+ # Python implementation or library
14
+
15
+ N = nIFO
16
+ pw = tf_maps[0]
17
+ M = pw.maxLayer() + 1
18
+ nL = int(Edge * pw.w_rate * M)
19
+ nR = len(pw.data) - nL - 1
20
+ w = pw.copy()
21
+
22
+ for i in range(1, N):
23
+ w += tf_maps[i]
24
+
25
+ amp, avr, bbb, alp = 0, 0, 0, 0
26
+ nn = 0
27
+
28
+ for i in range(nL, nR):
29
+ amp = w.data[i]
30
+ if amp > N * 100:
31
+ amp = N * 100
32
+ if amp > 0.001:
33
+ avr += amp
34
+ bbb += math.log(amp)
35
+ nn += 1
36
+
37
+ avr /= nn
38
+ alp = math.log(avr) - bbb / nn
39
+ alp = (3 - alp + math.sqrt((alp - 3) * (alp - 3) + 24 * alp)) / (12 * alp)
40
+
41
+ bbb = p * alp / shape
42
+
43
+ # Assuming iGamma is defined elsewhere or imported from some library/module
44
+ return avr * iGamma(alp, bbb) / alp / 2
45
+
46
+ # Call the function
47
+ # result = threshold(tf_maps, nIFO, Edge, p, shape)
48
+ # print(result)
@@ -12,20 +12,20 @@ logger = logging.getLogger(__name__)
12
12
 
13
13
 
14
14
  def create_job_segment_from_config(config):
15
+ logger.info("-" * 80)
16
+ logger.info("Initializing job segments")
17
+
15
18
  if not config.simulation:
16
- logger.info("-" * 80)
17
- logger.info("Initializing job segments")
18
19
  job_segments = select_job_segment(config.dq_files, config.ifo, config.frFiles,
19
20
  config.segLen, config.segMLS, config.segEdge, config.segOverlap,
20
21
  config.rateANA, config.l_high)
21
-
22
- # log number of segments
23
- logger.info(f"Number of segments: {len(job_segments)}")
24
- logger.info("-" * 80)
25
22
  else:
26
23
  job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection)
27
- for job_seg in job_segments:
28
- logger.info(job_seg)
24
+ # for job_seg in job_segments:
25
+ # logger.info(job_seg)
26
+ # log number of segments
27
+ logger.info(f"Number of segments: {len(job_segments)}")
28
+ logger.info("-" * 80)
29
29
  return job_segments
30
30
 
31
31
 
@@ -4,13 +4,13 @@ import logging
4
4
  from pycwb.config import Config
5
5
  from pycwb.modules.cwb_conversions import convert_fragment_clusters_to_netcluster, \
6
6
  convert_netcluster_to_fragment_clusters
7
- from pycwb.types.network_cluster import FragmentCluster
7
+ from pycwb.types.network_cluster import FragmentCluster, Cluster
8
8
  from pycwb.types.network_event import Event
9
9
 
10
10
  logger = logging.getLogger(__name__)
11
11
 
12
12
 
13
- def likelihood(config, network, fragment_clusters):
13
+ def likelihood(config, network, fragment_clusters) -> tuple[list[Event], list[Cluster], list[dict]]:
14
14
  """
15
15
  calculate likelihood
16
16
 
@@ -107,7 +107,8 @@ def _likelihood(config, network, lag, cluster_id, fragment_cluster):
107
107
  wdm_list = network.get_wdm_list()
108
108
  for wdm in wdm_list:
109
109
  wdm.setTDFilter(config.TDSize, config.upTDF)
110
-
110
+ # FIXME: precision setup in config
111
+ # network.net.precision = config.get_precision(100, 5)
111
112
  network.set_delay_index(config.TDRate)
112
113
 
113
114
  # sparse_table_list = sparse_table_from_fragment_clusters(config, tf_maps, [fragment_cluster])
@@ -5,13 +5,15 @@ import logging
5
5
  logger = logging.getLogger(__name__)
6
6
 
7
7
 
8
- def plot_statistics(cluster, key='likelihood', filename=None):
8
+ def plot_statistics(cluster, key='likelihood', gps_shift=0, filename=None):
9
9
  """Plot the statistics of the event
10
10
 
11
11
  :param cluster: cluster
12
12
  :type cluster: Cluster
13
13
  :param key: key of the statistics, defaults to 'likelihood'
14
14
  :type key: str, optional
15
+ :param gps_shift: gps time shift, defaults to 0
16
+ :type gps_shift: int, optional
15
17
  :param filename: path to save the plot, defaults to None
16
18
  :type filename: str, optional
17
19
  """
@@ -20,7 +22,7 @@ def plot_statistics(cluster, key='likelihood', filename=None):
20
22
 
21
23
  merged_map, start, dt, df = cluster.get_sparse_map(key)
22
24
 
23
- plt = Spectrogram(merged_map, t0=start, dt=dt, f0=0, df=df).plot()
25
+ plt = Spectrogram(merged_map, t0=start + gps_shift, dt=dt, f0=0, df=df).plot()
24
26
  plt.colorbar()
25
27
  # save to png
26
28
  if filename is not None:
@@ -55,11 +55,15 @@ def check_and_resample(data, config, ifo_index):
55
55
  # DC correction
56
56
  if config.dcCal[ifo_index] > 0 and config.dcCal[ifo_index] != 1.0:
57
57
  data.data *= config.dcCal[config.ifo.indexof(ifo_index)]
58
+ logger.info(f"DC correction: {config.dcCal[ifo_index]}")
58
59
 
59
60
  # resampling
60
61
  if config.fResample > 0:
61
62
  logger.info(f"Resampling data from {data.sample_rate} to {config.fResample}")
62
- data = data.resample(1.0 / config.fResample)
63
+ # data = data.resample(1.0 / config.fResample)
64
+ w = convert_to_wavearray(data)
65
+ w.Resample(config.fResample)
66
+ data = convert_wavearray_to_pycbc_timeseries(w)
63
67
 
64
68
  new_sample_rate = data.sample_rate / (1 << config.levelR)
65
69
  if new_sample_rate != config.inRate: