PycWB 0.29.0__tar.gz → 0.30.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 (501) hide show
  1. {pycwb-0.29.0 → pycwb-0.30.0}/PKG-INFO +6 -1
  2. {pycwb-0.29.0 → pycwb-0.30.0}/PycWB.egg-info/PKG-INFO +6 -1
  3. {pycwb-0.29.0 → pycwb-0.30.0}/PycWB.egg-info/SOURCES.txt +34 -1
  4. {pycwb-0.29.0 → pycwb-0.30.0}/PycWB.egg-info/requires.txt +5 -0
  5. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/likelihood/README.md +2 -2
  6. pycwb-0.30.0/benchmark/likelihood/data_generator.py +154 -0
  7. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/likelihood/performance_test_opt_sky.py +31 -15
  8. {pycwb-0.29.0/benchmark/supercluster → pycwb-0.30.0/benchmark/likelihood}/user_parameters_injection.yaml +4 -13
  9. {pycwb-0.29.0 → pycwb-0.30.0}/bin/pycwb +7 -1
  10. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/network.cc +16 -0
  11. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/pycwb.hh +4 -0
  12. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/mod_cwb.rst +25 -0
  13. pycwb-0.30.0/examples/GW190521_search/README.md +16 -0
  14. pycwb-0.30.0/examples/GW190521_search/user_parameters.yaml +95 -0
  15. pycwb-0.30.0/examples/new_injection_infra_with_LHV/README.md +64 -0
  16. pycwb-0.30.0/examples/new_injection_infra_with_LHV/analyze_events.ipynb +2632 -0
  17. pycwb-0.30.0/examples/new_injection_infra_with_LHV/injection_parameters.py +18 -0
  18. pycwb-0.30.0/examples/new_injection_infra_with_LHV/input/LIGO_zero_det_HP.txt +3000 -0
  19. pycwb-0.30.0/examples/new_injection_infra_with_LHV/input/aligo_O4high.txt +2736 -0
  20. pycwb-0.30.0/examples/new_injection_infra_with_LHV/input/avirgo_O4high_NEW.txt +3000 -0
  21. pycwb-0.30.0/examples/new_injection_infra_with_LHV/user_parameters.yaml +100 -0
  22. pycwb-0.30.0/examples/new_injection_infra_with_gaussian_noise/README.md +55 -0
  23. pycwb-0.30.0/examples/new_injection_infra_with_gaussian_noise/injection_parameters.py +18 -0
  24. pycwb-0.30.0/examples/new_injection_infra_with_gaussian_noise/user_parameters.yaml +95 -0
  25. pycwb-0.30.0/examples/new_injection_infra_with_real_data/README.md +39 -0
  26. pycwb-0.30.0/examples/new_injection_infra_with_real_data/injection_parameters.py +18 -0
  27. pycwb-0.30.0/examples/new_injection_infra_with_real_data/user_parameters.yaml +106 -0
  28. pycwb-0.30.0/examples/new_injection_infra_with_sky_patch/README.md +61 -0
  29. pycwb-0.30.0/examples/new_injection_infra_with_sky_patch/analyze_events.ipynb +195 -0
  30. pycwb-0.30.0/examples/new_injection_infra_with_sky_patch/injection_parameters.py +18 -0
  31. pycwb-0.30.0/examples/new_injection_infra_with_sky_patch/input/aligo_O4high.txt +2736 -0
  32. pycwb-0.30.0/examples/new_injection_infra_with_sky_patch/user_parameters.yaml +104 -0
  33. pycwb-0.30.0/examples/sine_gaussian_injection/README.md +22 -0
  34. pycwb-0.30.0/examples/sine_gaussian_injection/injection_parameters.py +64 -0
  35. pycwb-0.30.0/examples/sine_gaussian_injection/user_parameters.yaml +107 -0
  36. pycwb-0.30.0/examples/white_noise_burst_injection/README.md +28 -0
  37. pycwb-0.30.0/examples/white_noise_burst_injection/injection_parameters.py +92 -0
  38. pycwb-0.30.0/examples/white_noise_burst_injection/user_parameters.yaml +109 -0
  39. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/_version.py +16 -3
  40. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/batch_setup.py +16 -1
  41. pycwb-0.30.0/pycwb/cli/gwosc_data.py +46 -0
  42. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/run.py +22 -2
  43. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/constants/detectors.py +17 -4
  44. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/coherence/coherence.py +5 -0
  45. pycwb-0.30.0/pycwb/modules/cwb_conversions/detector.py +27 -0
  46. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_conversions/series.py +42 -10
  47. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_conversions/sparse_series.py +3 -1
  48. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/data_conditioning/data_conditioning.py +1 -1
  49. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/data_conditioning/regression.py +1 -0
  50. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/data_conditioning/whitening_cwb.py +1 -0
  51. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/data_conditioning/whitening_mesa.py +69 -24
  52. pycwb-0.30.0/pycwb/modules/gwosc/utils.py +92 -0
  53. pycwb-0.30.0/pycwb/modules/injection/inj_generators.py +71 -0
  54. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/injection.py +8 -0
  55. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/par_generator.py +4 -4
  56. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/sky_distribution.py +48 -9
  57. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/job_segment.py +15 -1
  58. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihood/likelihood.py +1 -0
  59. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihoodWP/dpf.py +42 -10
  60. pycwb-0.30.0/pycwb/modules/likelihoodWP/likelihood.py +830 -0
  61. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihoodWP/sky_stat.py +162 -25
  62. pycwb-0.30.0/pycwb/modules/likelihoodWP/typing.py +95 -0
  63. pycwb-0.30.0/pycwb/modules/likelihoodWP/utils.py +983 -0
  64. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/data_check.py +0 -3
  65. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/mdc.py +24 -14
  66. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/super_cluster/supercluster.py +2 -2
  67. pycwb-0.30.0/pycwb/modules/xtalk/type.py +54 -0
  68. pycwb-0.30.0/pycwb/types/detector.py +541 -0
  69. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/network.py +9 -0
  70. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/time_frequency_series.py +14 -3
  71. pycwb-0.30.0/pycwb/types/time_series.py +80 -0
  72. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/wdm.py +44 -3
  73. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/conversions/timeseries.py +8 -1
  74. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/parser.py +9 -0
  75. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/batch.py +2 -0
  76. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/run.py +3 -1
  77. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/subflow/prepare_job_runs.py +56 -5
  78. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/subflow/process_job_segment.py +6 -6
  79. {pycwb-0.29.0 → pycwb-0.30.0}/setup.py +5 -0
  80. pycwb-0.29.0/benchmark/likelihood/generate_data_for_likelihood.py +0 -113
  81. pycwb-0.29.0/pycwb/modules/likelihoodWP/likelihood.py +0 -326
  82. pycwb-0.29.0/pycwb/modules/likelihoodWP/utils.py +0 -214
  83. pycwb-0.29.0/pycwb/types/detector.py +0 -112
  84. {pycwb-0.29.0 → pycwb-0.30.0}/.gitignore +0 -0
  85. {pycwb-0.29.0 → pycwb-0.30.0}/.gitlab-ci.yml +0 -0
  86. {pycwb-0.29.0 → pycwb-0.30.0}/.readthedocs.yaml +0 -0
  87. {pycwb-0.29.0 → pycwb-0.30.0}/LICENSE +0 -0
  88. {pycwb-0.29.0 → pycwb-0.30.0}/MANIFEST.in +0 -0
  89. {pycwb-0.29.0 → pycwb-0.30.0}/Makefile +0 -0
  90. {pycwb-0.29.0 → pycwb-0.30.0}/PycWB.egg-info/dependency_links.txt +0 -0
  91. {pycwb-0.29.0 → pycwb-0.30.0}/PycWB.egg-info/top_level.txt +0 -0
  92. {pycwb-0.29.0 → pycwb-0.30.0}/README.md +0 -0
  93. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/README.md +0 -0
  94. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/io_performance/README.md +0 -0
  95. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/io_performance/data_gen.py +0 -0
  96. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/io_performance/parquet_perf.py +0 -0
  97. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/io_performance/parquet_read_perf.py +0 -0
  98. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/io_performance/read_pref.py +0 -0
  99. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/likelihood/perf_cuda.py +0 -0
  100. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/likelihood/performance_test_dpf.py +0 -0
  101. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/supercluster/README.md +0 -0
  102. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/supercluster/generate_data.py +0 -0
  103. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/supercluster/generate_data_2.py +0 -0
  104. {pycwb-0.29.0 → pycwb-0.30.0}/benchmark/supercluster/performance_supercluster.py +0 -0
  105. {pycwb-0.29.0/benchmark/likelihood → pycwb-0.30.0/benchmark/supercluster}/user_parameters_injection.yaml +0 -0
  106. {pycwb-0.29.0 → pycwb-0.30.0}/bin/pycwb_search +0 -0
  107. {pycwb-0.29.0 → pycwb-0.30.0}/bin/pycwb_show +0 -0
  108. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Biorthogonal.cc +0 -0
  109. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Biorthogonal.hh +0 -0
  110. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/CMakeLists.txt +0 -0
  111. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Daubechies.cc +0 -0
  112. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Daubechies.hh +0 -0
  113. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/FourierCoefficients.icc +0 -0
  114. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Haar.cc +0 -0
  115. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Haar.hh +0 -0
  116. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/LineFilter.cc +0 -0
  117. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/LineFilter.hh +0 -0
  118. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Makefile +0 -0
  119. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Meyer.cc +0 -0
  120. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Meyer.hh +0 -0
  121. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Symlet.cc +0 -0
  122. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Symlet.hh +0 -0
  123. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/SymmArray.cc +0 -0
  124. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/SymmArray.hh +0 -0
  125. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/SymmArraySSE.cc +0 -0
  126. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/SymmArraySSE.hh +0 -0
  127. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/SymmObjArray.cc +0 -0
  128. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/SymmObjArray.hh +0 -0
  129. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/WDM.cc +0 -0
  130. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/WDM.hh +0 -0
  131. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/WDMOverlap.cc +0 -0
  132. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/WDMOverlap.hh +0 -0
  133. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/WaveDWT.cc +0 -0
  134. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/WaveDWT.hh +0 -0
  135. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Wavelet.cc +0 -0
  136. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/Wavelet.hh +0 -0
  137. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/alm.hh +0 -0
  138. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/build.sh +0 -0
  139. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/cluster.cc +0 -0
  140. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/cluster.hh +0 -0
  141. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
  142. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
  143. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/cmake/install_function.cmake +0 -0
  144. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/constants.hh +0 -0
  145. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/detector.cc +0 -0
  146. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/detector.hh +0 -0
  147. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/injection.cc +0 -0
  148. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/injection.hh +0 -0
  149. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/lossy.cc +0 -0
  150. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/lossy.hh +0 -0
  151. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/monster.cc +0 -0
  152. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/monster.hh +0 -0
  153. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/netcluster.cc +0 -0
  154. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/netcluster.hh +0 -0
  155. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/netevent.cc +0 -0
  156. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/netevent.hh +0 -0
  157. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/netpixel.cc +0 -0
  158. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/netpixel.hh +0 -0
  159. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/network.hh +0 -0
  160. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/rdfr.cc +0 -0
  161. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/rdfr.hh +0 -0
  162. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/readframe.cc +0 -0
  163. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/readframe.hh +0 -0
  164. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/readfrfile.cc +0 -0
  165. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/readfrfile.hh +0 -0
  166. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/regression.cc +0 -0
  167. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/regression.hh +0 -0
  168. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/skycoord.hh +0 -0
  169. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/skymap.cc +0 -0
  170. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/skymap.hh +0 -0
  171. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/sseries.cc +0 -0
  172. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/sseries.hh +0 -0
  173. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/time.cc +0 -0
  174. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/time.hh +0 -0
  175. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wat.hh +0 -0
  176. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watasm.S +0 -0
  177. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watasm_elf64.o +0 -0
  178. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watavx.hh +0 -0
  179. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watbranch.in +0 -0
  180. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watfun.hh +0 -0
  181. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wathash.in +0 -0
  182. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watplot.cc +0 -0
  183. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watplot.hh +0 -0
  184. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watsse.hh +0 -0
  185. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wattag.in +0 -0
  186. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/waturl.in +0 -0
  187. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/watversion.hh.in +0 -0
  188. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavearray.cc +0 -0
  189. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavearray.hh +0 -0
  190. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavecomplex.cc +0 -0
  191. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavecomplex.hh +0 -0
  192. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavecor.cc +0 -0
  193. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavecor.hh +0 -0
  194. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavefft.cc +0 -0
  195. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavefft.hh +0 -0
  196. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavelet_LinkDef.h +0 -0
  197. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavelinefilter.cc +0 -0
  198. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wavelinefilter.hh +0 -0
  199. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/waverdc.cc +0 -0
  200. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/waverdc.hh +0 -0
  201. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wseries.cc +0 -0
  202. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wseries.hh +0 -0
  203. {pycwb-0.29.0 → pycwb-0.30.0}/cwb-core/wslice.hh +0 -0
  204. {pycwb-0.29.0 → pycwb-0.30.0}/docs/0.installation_guide.md +0 -0
  205. {pycwb-0.29.0 → pycwb-0.30.0}/docs/1.initialisation_guide.md +0 -0
  206. {pycwb-0.29.0 → pycwb-0.30.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
  207. {pycwb-0.29.0 → pycwb-0.30.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
  208. {pycwb-0.29.0 → pycwb-0.30.0}/docs/4.py_cwb_inet_2G.md +0 -0
  209. {pycwb-0.29.0 → pycwb-0.30.0}/docs/5.cwb2G_analyse.md +0 -0
  210. {pycwb-0.29.0 → pycwb-0.30.0}/docs/6.wat_codes_notes.md +0 -0
  211. {pycwb-0.29.0 → pycwb-0.30.0}/docs/Makefile +0 -0
  212. {pycwb-0.29.0 → pycwb-0.30.0}/docs/diagram.py +0 -0
  213. {pycwb-0.29.0 → pycwb-0.30.0}/docs/make.bat +0 -0
  214. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/_static/.keep +0 -0
  215. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/_templates/.keep +0 -0
  216. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/conf.py +0 -0
  217. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/credit.rst +0 -0
  218. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/index.rst +0 -0
  219. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/install.rst +0 -0
  220. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/package.rst +0 -0
  221. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/schema.rst +0 -0
  222. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/tutorial_batch_inj.rst +0 -0
  223. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
  224. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/tutorial_injection.rst +0 -0
  225. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/tutorial_multi_injection.rst +0 -0
  226. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/tutorial_search.rst +0 -0
  227. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/tutorials.rst +0 -0
  228. {pycwb-0.29.0 → pycwb-0.30.0}/docs/source/workflow.png +0 -0
  229. {pycwb-0.29.0 → pycwb-0.30.0}/envs/Dockerfile +0 -0
  230. {pycwb-0.29.0 → pycwb-0.30.0}/envs/environment.yml +0 -0
  231. {pycwb-0.29.0 → pycwb-0.30.0}/envs/mamba/Dockerfile +0 -0
  232. {pycwb-0.29.0 → pycwb-0.30.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
  233. {pycwb-0.29.0 → pycwb-0.30.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
  234. {pycwb-0.29.0 → pycwb-0.30.0}/examples/batch_injection/generate_parameters.py +0 -0
  235. {pycwb-0.29.0 → pycwb-0.30.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
  236. {pycwb-0.29.0 → pycwb-0.30.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
  237. {pycwb-0.29.0 → pycwb-0.30.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
  238. {pycwb-0.29.0 → pycwb-0.30.0}/examples/batch_injection/pycwb_injection.py +0 -0
  239. {pycwb-0.29.0 → pycwb-0.30.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
  240. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
  241. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
  242. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
  243. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
  244. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
  245. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
  246. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
  247. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
  248. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/input/OPBM.period +0 -0
  249. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
  250. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
  251. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/pycwb_mdc.py +0 -0
  252. {pycwb-0.29.0 → pycwb-0.30.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
  253. {pycwb-0.29.0 → pycwb-0.30.0}/examples/colab/notebook_updated/pycWB_GW150914_VScode_adapted.ipynb +0 -0
  254. {pycwb-0.29.0 → pycwb-0.30.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
  255. {pycwb-0.29.0 → pycwb-0.30.0}/examples/data_injection/README.md +0 -0
  256. {pycwb-0.29.0 → pycwb-0.30.0}/examples/data_injection/injection_parameters.py +0 -0
  257. {pycwb-0.29.0 → pycwb-0.30.0}/examples/data_injection/user_parameters.yaml +0 -0
  258. {pycwb-0.29.0 → pycwb-0.30.0}/examples/gwosc/user_parameters.yaml +0 -0
  259. {pycwb-0.29.0 → pycwb-0.30.0}/examples/injection/pycwb_injection.ipynb +0 -0
  260. {pycwb-0.29.0 → pycwb-0.30.0}/examples/injection/user_parameters_injection.yaml +0 -0
  261. {pycwb-0.29.0 → pycwb-0.30.0}/examples/injection/wdmXTalk/OverlapCatalog16-1024.bin +0 -0
  262. {pycwb-0.29.0 → pycwb-0.30.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
  263. {pycwb-0.29.0 → pycwb-0.30.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
  264. {pycwb-0.29.0 → pycwb-0.30.0}/examples/multiple_injection/pycwb_injection.py +0 -0
  265. {pycwb-0.29.0 → pycwb-0.30.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
  266. {pycwb-0.29.0 → pycwb-0.30.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
  267. {pycwb-0.29.0 → pycwb-0.30.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
  268. {pycwb-0.29.0 → pycwb-0.30.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
  269. {pycwb-0.29.0 → pycwb-0.30.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
  270. {pycwb-0.29.0 → pycwb-0.30.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
  271. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/cwb_core/coherence.cc +0 -0
  272. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/cwb_core/coherence.hh +0 -0
  273. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/cwb_core/likelihood.cc +0 -0
  274. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/cwb_core/likelihood.hh +0 -0
  275. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/dag/dag.py +0 -0
  276. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/dag/dask-prefect.py +0 -0
  277. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/dag/prefect_test.py +0 -0
  278. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger/__init__.py +0 -0
  279. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger/server.py +0 -0
  280. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger/visualizition.py +0 -0
  281. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
  282. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/.gitignore +0 -0
  283. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
  284. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/README.md +0 -0
  285. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/index.html +0 -0
  286. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
  287. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/package.json +0 -0
  288. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
  289. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
  290. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
  291. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
  292. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
  293. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
  294. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
  295. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
  296. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
  297. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
  298. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
  299. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
  300. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
  301. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
  302. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
  303. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/main.js +0 -0
  304. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
  305. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
  306. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
  307. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
  308. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
  309. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
  310. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
  311. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
  312. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/performance/numba_test.py +0 -0
  313. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/performance/taichi_test.py +0 -0
  314. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/pp_workflow/simple.yaml +0 -0
  315. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/pp_workflow/simple_module.yaml +0 -0
  316. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/pp_workflow/workflow.yaml +0 -0
  317. {pycwb-0.29.0 → pycwb-0.30.0}/prototypes/search.yaml +0 -0
  318. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/__init__.py +0 -0
  319. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/__init__.py +0 -0
  320. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/batch_runner.py +0 -0
  321. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/flow.py +0 -0
  322. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/get_external_modules.py +0 -0
  323. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/gwosc.py +0 -0
  324. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/merge_catalog.py +0 -0
  325. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/post_process.py +0 -0
  326. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/server.py +0 -0
  327. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/cli/xtalk.py +0 -0
  328. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/config/__init__.py +0 -0
  329. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/config/config.py +0 -0
  330. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/constants/__init__.py +0 -0
  331. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/constants/physics_constants.py +0 -0
  332. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/constants/project_constants.py +0 -0
  333. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/constants/user_parameters_schema.py +0 -0
  334. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/__init__.py +0 -0
  335. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/autoencoder/__init__.py +0 -0
  336. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/autoencoder/autoencoder.py +0 -0
  337. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
  338. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/autoencoder/module.yaml +0 -0
  339. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/catalog/__init__.py +0 -0
  340. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/catalog/catalog.py +0 -0
  341. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/catalog/module.yaml +0 -0
  342. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/coherence/__init__.py +0 -0
  343. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
  344. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/coherence/module.yaml +0 -0
  345. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/condor/__init__.py +0 -0
  346. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/condor/condor.py +0 -0
  347. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/condor/module.yaml +0 -0
  348. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
  349. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
  350. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
  351. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
  352. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/__init__.py +0 -0
  353. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/config.py +0 -0
  354. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/cwb_xgboost.py +0 -0
  355. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/module.yaml +0 -0
  356. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/prediction.py +0 -0
  357. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/read_data.py +0 -0
  358. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/training.py +0 -0
  359. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/cwb_xgboost/utils.py +0 -0
  360. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
  361. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
  362. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/energy_threshold/__init__.py +0 -0
  363. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/energy_threshold/threshold.py +0 -0
  364. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/external_module_manager/__init__.py +0 -0
  365. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/external_module_manager/config_schema.py +0 -0
  366. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/external_module_manager/manager.py +0 -0
  367. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/external_module_manager/test/sample_config.yaml +0 -0
  368. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/external_module_manager/test/test.ipynb +0 -0
  369. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/gracedb/__init__.py +0 -0
  370. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/gracedb/gracedb.py +0 -0
  371. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/gracedb/module.yaml +0 -0
  372. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/gracedb/test_gracedb.py +0 -0
  373. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/gwosc/__init__.py +0 -0
  374. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/gwosc/gwosc.py +0 -0
  375. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/__init__.py +0 -0
  376. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/distribution_utils.py +0 -0
  377. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/module.yaml +0 -0
  378. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/scripts/injection_module_test.ipynb +0 -0
  379. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/scripts/injection_parameters.py +0 -0
  380. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/tests/__init__.py +0 -0
  381. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/tests/test_injection.py +0 -0
  382. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/injection/wf_generator.py +0 -0
  383. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/__init__.py +0 -0
  384. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/dq_segment.py +0 -0
  385. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/frame.py +0 -0
  386. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/module.yaml +0 -0
  387. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/plots.py +0 -0
  388. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/super_lag.py +0 -0
  389. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/job_segment/test_job_segment.py +0 -0
  390. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihood/__init__.py +0 -0
  391. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihood/module.yaml +0 -0
  392. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihoodWP/__init__.py +0 -0
  393. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
  394. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/logger/__init__.py +0 -0
  395. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/logger/logger.py +0 -0
  396. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/logger/module.yaml +0 -0
  397. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
  398. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
  399. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
  400. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot/__init__.py +0 -0
  401. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot/cluster_statistics.py +0 -0
  402. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot/event.py +0 -0
  403. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot/module.yaml +0 -0
  404. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot/spectrogram.py +0 -0
  405. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot/waveform.py +0 -0
  406. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
  407. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
  408. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
  409. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot_map/__init__.py +0 -0
  410. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot_map/module.yaml +0 -0
  411. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/plot_map/world_map.py +0 -0
  412. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/qveto/__init__.py +0 -0
  413. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/qveto/qveto.py +0 -0
  414. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/qveto/qveto_ext.py +0 -0
  415. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/qveto/utils.py +0 -0
  416. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/__init__.py +0 -0
  417. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/data_find.py +0 -0
  418. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/module.yaml +0 -0
  419. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/read_data.py +0 -0
  420. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/tests/__init__.py +0 -0
  421. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/read_data/tests/test_mdc.py +0 -0
  422. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/reconstruction/__init__.py +0 -0
  423. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
  424. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/reconstruction/module.yaml +0 -0
  425. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/report/__init__.py +0 -0
  426. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/report/continues_poisson.py +0 -0
  427. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/report/far_rho.py +0 -0
  428. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/report/read_results.py +0 -0
  429. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/report/report.py +0 -0
  430. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/slurm/__init__.py +0 -0
  431. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/slurm/module.yaml +0 -0
  432. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/slurm/slurm.py +0 -0
  433. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/sparse_series/__init__.py +0 -0
  434. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/sparse_series/module.yaml +0 -0
  435. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/sparse_series/sparse_table.py +0 -0
  436. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/statistics/__init__.py +0 -0
  437. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/statistics/eff.py +0 -0
  438. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/statistics/eff_plot.py +0 -0
  439. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/statistics/merge.py +0 -0
  440. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/statistics/sigmoid_fit.py +0 -0
  441. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/super_cluster/__init__.py +0 -0
  442. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/super_cluster/module.yaml +0 -0
  443. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
  444. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/super_cluster/super_cluster.py +0 -0
  445. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/super_cluster/utils.py +0 -0
  446. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/supercluster_naive/__init__.py +0 -0
  447. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/supercluster_naive/supercluster2.py +0 -0
  448. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/superlag/__init__.py +0 -0
  449. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/superlag/module.yaml +0 -0
  450. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/superlag/superlag.py +0 -0
  451. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/web_viewer/__init__.py +0 -0
  452. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/web_viewer/create.py +0 -0
  453. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/web_viewer/module.yaml +0 -0
  454. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/workflow_utils/__init__.py +0 -0
  455. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/workflow_utils/job_setup.py +0 -0
  456. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/xtalk/__init__.py +0 -0
  457. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/xtalk/monster.py +0 -0
  458. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/xtalk/monster_old.py +0 -0
  459. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/modules/xtalk/xtalk_data.py +0 -0
  460. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/post_production/__init__.py +0 -0
  461. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/post_production/workflow.py +0 -0
  462. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/prefect_flow/__init__.py +0 -0
  463. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/prefect_flow/pycwb_flow.py +0 -0
  464. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/prefect_flow/tasks/__init__.py +0 -0
  465. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/prefect_flow/tasks/builtin.py +0 -0
  466. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/__init__.py +0 -0
  467. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/data_quality_file.py +0 -0
  468. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/job.py +0 -0
  469. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/network_cluster.py +0 -0
  470. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/network_event.py +0 -0
  471. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/network_pixel.py +0 -0
  472. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/sparse_series.py +0 -0
  473. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/types/wdm_xtalk.py +0 -0
  474. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/__init__.py +0 -0
  475. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/async_write.py +0 -0
  476. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/check_ROOT.py +0 -0
  477. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/conversions/__init__.py +0 -0
  478. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/dataclass_object_io.py +0 -0
  479. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/dep_check.py +0 -0
  480. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/generate_params_table.py +0 -0
  481. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/image.py +0 -0
  482. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/module.py +0 -0
  483. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/network.py +0 -0
  484. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/skymap_coord.py +0 -0
  485. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/utils/yaml_helper.py +0 -0
  486. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/__init__.py +0 -0
  487. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/autoencoder/__init__.py +0 -0
  488. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
  489. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/example.yaml +0 -0
  490. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/lib/__init__.py +0 -0
  491. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/template/gwosc/user_parameters.yaml +0 -0
  492. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
  493. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/web_viewer/styles.css +0 -0
  494. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
  495. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/__init__.py +0 -0
  496. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/merge.py +0 -0
  497. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/subflow/__init__.py +0 -0
  498. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/subflow/fake_processor.py +0 -0
  499. {pycwb-0.29.0 → pycwb-0.30.0}/pycwb/workflow/subflow/postprocess_and_plots.py +0 -0
  500. {pycwb-0.29.0 → pycwb-0.30.0}/pyproject.toml +0 -0
  501. {pycwb-0.29.0 → pycwb-0.30.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PycWB
3
- Version: 0.29.0
3
+ Version: 0.30.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>
@@ -32,6 +32,11 @@ Requires-Dist: dask
32
32
  Requires-Dist: dask_jobqueue
33
33
  Requires-Dist: htcondor
34
34
  Requires-Dist: psutil
35
+ Requires-Dist: memspectrum
36
+ Requires-Dist: python-ligo-lw<2.0.0
37
+ Requires-Dist: scikit-learn
38
+ Requires-Dist: jinja2
39
+ Requires-Dist: plotly
35
40
  Dynamic: description
36
41
  Dynamic: description-content-type
37
42
  Dynamic: home-page
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PycWB
3
- Version: 0.29.0
3
+ Version: 0.30.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>
@@ -32,6 +32,11 @@ Requires-Dist: dask
32
32
  Requires-Dist: dask_jobqueue
33
33
  Requires-Dist: htcondor
34
34
  Requires-Dist: psutil
35
+ Requires-Dist: memspectrum
36
+ Requires-Dist: python-ligo-lw<2.0.0
37
+ Requires-Dist: scikit-learn
38
+ Requires-Dist: jinja2
39
+ Requires-Dist: plotly
35
40
  Dynamic: description
36
41
  Dynamic: description-content-type
37
42
  Dynamic: home-page
@@ -19,7 +19,7 @@ benchmark/io_performance/parquet_perf.py
19
19
  benchmark/io_performance/parquet_read_perf.py
20
20
  benchmark/io_performance/read_pref.py
21
21
  benchmark/likelihood/README.md
22
- benchmark/likelihood/generate_data_for_likelihood.py
22
+ benchmark/likelihood/data_generator.py
23
23
  benchmark/likelihood/perf_cuda.py
24
24
  benchmark/likelihood/performance_test_dpf.py
25
25
  benchmark/likelihood/performance_test_opt_sky.py
@@ -159,6 +159,8 @@ docs/source/_templates/.keep
159
159
  envs/Dockerfile
160
160
  envs/environment.yml
161
161
  envs/mamba/Dockerfile
162
+ examples/GW190521_search/README.md
163
+ examples/GW190521_search/user_parameters.yaml
162
164
  examples/autoencoder/pycwb_injection.ipynb
163
165
  examples/autoencoder/user_parameters_injection.yaml
164
166
  examples/batch_injection/generate_parameters.py
@@ -193,11 +195,35 @@ examples/lvk_sep_2023/demo.ipynb
193
195
  examples/lvk_sep_2023/user_parameters.yaml
194
196
  examples/multiple_injection/pycwb_injection.py
195
197
  examples/multiple_injection/user_parameters_injection.yaml
198
+ examples/new_injection_infra_with_LHV/README.md
199
+ examples/new_injection_infra_with_LHV/analyze_events.ipynb
200
+ examples/new_injection_infra_with_LHV/injection_parameters.py
201
+ examples/new_injection_infra_with_LHV/user_parameters.yaml
202
+ examples/new_injection_infra_with_LHV/input/LIGO_zero_det_HP.txt
203
+ examples/new_injection_infra_with_LHV/input/aligo_O4high.txt
204
+ examples/new_injection_infra_with_LHV/input/avirgo_O4high_NEW.txt
205
+ examples/new_injection_infra_with_gaussian_noise/README.md
206
+ examples/new_injection_infra_with_gaussian_noise/injection_parameters.py
207
+ examples/new_injection_infra_with_gaussian_noise/user_parameters.yaml
208
+ examples/new_injection_infra_with_real_data/README.md
209
+ examples/new_injection_infra_with_real_data/injection_parameters.py
210
+ examples/new_injection_infra_with_real_data/user_parameters.yaml
211
+ examples/new_injection_infra_with_sky_patch/README.md
212
+ examples/new_injection_infra_with_sky_patch/analyze_events.ipynb
213
+ examples/new_injection_infra_with_sky_patch/injection_parameters.py
214
+ examples/new_injection_infra_with_sky_patch/user_parameters.yaml
215
+ examples/new_injection_infra_with_sky_patch/input/aligo_O4high.txt
196
216
  examples/pyseobnr_injection/generate_parameters.py
197
217
  examples/pyseobnr_injection/user_parameters_injection.yaml
198
218
  examples/pyseobnr_injection/waveform_model/__init__.py
199
219
  examples/pyseobnr_injection/waveform_model/waveform.py
220
+ examples/sine_gaussian_injection/README.md
221
+ examples/sine_gaussian_injection/injection_parameters.py
222
+ examples/sine_gaussian_injection/user_parameters.yaml
200
223
  examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb
224
+ examples/white_noise_burst_injection/README.md
225
+ examples/white_noise_burst_injection/injection_parameters.py
226
+ examples/white_noise_burst_injection/user_parameters.yaml
201
227
  prototypes/search.yaml
202
228
  prototypes/cwb_core/coherence.cc
203
229
  prototypes/cwb_core/coherence.hh
@@ -253,6 +279,7 @@ pycwb/cli/batch_setup.py
253
279
  pycwb/cli/flow.py
254
280
  pycwb/cli/get_external_modules.py
255
281
  pycwb/cli/gwosc.py
282
+ pycwb/cli/gwosc_data.py
256
283
  pycwb/cli/merge_catalog.py
257
284
  pycwb/cli/post_process.py
258
285
  pycwb/cli/run.py
@@ -282,6 +309,7 @@ pycwb/modules/condor/condor.py
282
309
  pycwb/modules/condor/module.yaml
283
310
  pycwb/modules/cwb_conversions/__init__.py
284
311
  pycwb/modules/cwb_conversions/cluster.py
312
+ pycwb/modules/cwb_conversions/detector.py
285
313
  pycwb/modules/cwb_conversions/module.yaml
286
314
  pycwb/modules/cwb_conversions/pixel.py
287
315
  pycwb/modules/cwb_conversions/series.py
@@ -313,8 +341,10 @@ pycwb/modules/gracedb/module.yaml
313
341
  pycwb/modules/gracedb/test_gracedb.py
314
342
  pycwb/modules/gwosc/__init__.py
315
343
  pycwb/modules/gwosc/gwosc.py
344
+ pycwb/modules/gwosc/utils.py
316
345
  pycwb/modules/injection/__init__.py
317
346
  pycwb/modules/injection/distribution_utils.py
347
+ pycwb/modules/injection/inj_generators.py
318
348
  pycwb/modules/injection/injection.py
319
349
  pycwb/modules/injection/module.yaml
320
350
  pycwb/modules/injection/par_generator.py
@@ -340,6 +370,7 @@ pycwb/modules/likelihoodWP/dpf.py
340
370
  pycwb/modules/likelihoodWP/dpf_cython.pyx
341
371
  pycwb/modules/likelihoodWP/likelihood.py
342
372
  pycwb/modules/likelihoodWP/sky_stat.py
373
+ pycwb/modules/likelihoodWP/typing.py
343
374
  pycwb/modules/likelihoodWP/utils.py
344
375
  pycwb/modules/logger/__init__.py
345
376
  pycwb/modules/logger/logger.py
@@ -409,6 +440,7 @@ pycwb/modules/workflow_utils/job_setup.py
409
440
  pycwb/modules/xtalk/__init__.py
410
441
  pycwb/modules/xtalk/monster.py
411
442
  pycwb/modules/xtalk/monster_old.py
443
+ pycwb/modules/xtalk/type.py
412
444
  pycwb/modules/xtalk/xtalk_data.py
413
445
  pycwb/post_production/__init__.py
414
446
  pycwb/post_production/workflow.py
@@ -426,6 +458,7 @@ pycwb/types/network_event.py
426
458
  pycwb/types/network_pixel.py
427
459
  pycwb/types/sparse_series.py
428
460
  pycwb/types/time_frequency_series.py
461
+ pycwb/types/time_series.py
429
462
  pycwb/types/wdm.py
430
463
  pycwb/types/wdm_xtalk.py
431
464
  pycwb/utils/__init__.py
@@ -22,3 +22,8 @@ dask
22
22
  dask_jobqueue
23
23
  htcondor
24
24
  psutil
25
+ memspectrum
26
+ python-ligo-lw<2.0.0
27
+ scikit-learn
28
+ jinja2
29
+ plotly
@@ -4,10 +4,10 @@ This benchmark is designed to test the performance of the likelihood in Python
4
4
 
5
5
  ## Prepare the test data for the script
6
6
 
7
- Run the script `generate_data_for_likelihood.py` to generate the cluster data for the likelihood benchmark.
7
+ Run the user parameter file with the customized processor `data_generator.py`
8
8
 
9
9
  ```bash
10
- python generate_data_for_likelihood.py
10
+ pycwb run user_parameters_injection.yaml
11
11
  ```
12
12
 
13
13
  A `test_data.pkl` file will be generated for all the Python variables required for likelihood benchmark.
@@ -0,0 +1,154 @@
1
+ import logging
2
+ import os
3
+ import psutil
4
+ from copy import copy
5
+ from pycwb.config import Config
6
+ from pycwb.modules.super_cluster.super_cluster import supercluster_wrapper
7
+ from pycwb.modules.super_cluster.supercluster import supercluster
8
+ from pycwb.modules.xtalk.monster import load_catalog
9
+ from pycwb.modules.coherence.coherence import coherence
10
+ from pycwb.modules.read_data import generate_injections, generate_noise_for_job_seg, read_from_job_segment, check_and_resample
11
+ from pycwb.modules.data_conditioning import data_conditioning
12
+ from pycwb.types.job import WaveSegment
13
+ from pycwb.types.network import Network
14
+ from pycwb.modules.workflow_utils.job_setup import print_job_info
15
+
16
+ logger = logging.getLogger(__name__)
17
+
18
+
19
+ def process_job_segment(working_dir: str, config: Config, job_seg: WaveSegment, compress_json: bool = True,
20
+ catalog_file: str = None, queue=None, production_mode: bool = False, skip_lags: list = None):
21
+ """
22
+ The core workflow to process single job segment with trails or lags.
23
+
24
+ Parameters
25
+ ----------
26
+ working_dir : str
27
+ The working directory for the run
28
+ config : Config
29
+ The configuration object
30
+ job_seg : WaveSegment
31
+ The job segment to process
32
+ compress_json : bool
33
+ Whether to compress the json files
34
+ catalog_file : str
35
+ The catalog file to save the triggers
36
+ queue : Queue
37
+ The queue to send the triggers to the collector for saving in production mode
38
+ production_mode : bool
39
+ Whether to run in production mode, if True, the triggers will be sent to the queue instead of saving them in this function
40
+ skip_lags : list
41
+ The options to skip certain lags. It is used for resuming the processing after a crash
42
+
43
+ """
44
+ print_job_info(job_seg)
45
+
46
+ if not job_seg.frames and not job_seg.noise and not job_seg.injections:
47
+ raise ValueError("No data to process")
48
+
49
+ base_data = None
50
+
51
+ if job_seg.frames:
52
+ base_data = read_from_job_segment(config, job_seg)
53
+ if job_seg.noise:
54
+ base_data = generate_noise_for_job_seg(job_seg, config.inRate, data=base_data)
55
+
56
+ data = base_data
57
+
58
+ # get all the trail_idx from the injections, if there is no injections, use 0
59
+ trail_idxs = {0}
60
+ if job_seg.injections:
61
+ trail_idxs = set([injection.get('trail_idx', 0) for injection in job_seg.injections])
62
+
63
+ # loop over all the trail_idx, if there is no injections or only one trail, only loop once for trail_idx=0
64
+ for trail_idx in trail_idxs:
65
+ if job_seg.injections:
66
+ # use sub_job_seg for each trail_idx to avoid passing the trail_idx to the following functions,
67
+ sub_job_seg = copy(job_seg)
68
+ sub_job_seg.injections = [injection for injection in job_seg.injections if injection.get('trail_idx', 0) == trail_idx]
69
+ logger.info(f"Processing trail_idx: {trail_idx} with {len(sub_job_seg.injections)} injections: {sub_job_seg.injections}")
70
+ data = generate_injections(config, sub_job_seg, base_data)
71
+ else:
72
+ logger.info(f"Processing trail_idx: {trail_idx} without injections")
73
+ sub_job_seg = job_seg
74
+ # add trail_idx to the sub_job_seg
75
+ sub_job_seg.trail_idx = trail_idx
76
+
77
+ # check and resample the data
78
+ data = [check_and_resample(data[i], config, i) for i in range(len(job_seg.ifos))]
79
+ logger.info("Memory usage: %f.2 MB", psutil.Process().memory_info().rss / 1024 / 1024)
80
+
81
+ # data conditioning
82
+ tf_maps, nRMS_list = data_conditioning(config, data)
83
+ logger.info("Memory usage: %f.2 MB", psutil.Process().memory_info().rss / 1024 / 1024)
84
+
85
+ # initialize network object
86
+ network = Network(config, tf_maps, nRMS_list)
87
+
88
+ # coherence
89
+ fragment_clusters = coherence(config, tf_maps, nRMS_list, net=network)
90
+ logger.info("Memory usage: %f.2 MB", psutil.Process().memory_info().rss / 1024 / 1024)
91
+
92
+ # supercluster
93
+ if config.use_root_supercluster:
94
+ super_fragment_clusters = supercluster(config, network, fragment_clusters, tf_maps)
95
+ else:
96
+ xtalk_coeff, xtalk_lookup_table, layers, _ = load_catalog(config.MRAcatalog)
97
+ super_fragment_clusters = supercluster_wrapper(config, network, fragment_clusters, tf_maps,
98
+ xtalk_coeff, xtalk_lookup_table, layers)
99
+ logger.info("Memory usage: %f.2 MB", psutil.Process().memory_info().rss / 1024 / 1024)
100
+
101
+ # only dump the first supercluster
102
+ d = super_fragment_clusters[0]
103
+
104
+ from pycwb.modules.cwb_conversions import convert_fragment_clusters_to_netcluster, convert_netcluster_to_fragment_clusters
105
+
106
+ pwc = network.get_cluster(0)
107
+ wdm_list = network.get_wdm_list()
108
+ for wdm in wdm_list:
109
+ wdm.setTDFilter(config.TDSize, config.upTDF)
110
+
111
+ # load delay index
112
+ network.set_delay_index(config.TDRate)
113
+
114
+ # load time delay data
115
+ pwc.cpf(convert_fragment_clusters_to_netcluster(d.dump_cluster(0)), False)
116
+ pwc.setcore(False, 1)
117
+ pwc.loadTDampSSE(network.net, 'a', config.BATCH, config.BATCH)
118
+
119
+
120
+ from pycwb.modules.likelihoodWP.likelihood import load_data_from_ifo
121
+ import numpy as np
122
+
123
+ acor = network.net.acor
124
+ network_energy_threshold = 2 * acor * acor * config.nIFO
125
+ gamma_regulator = network.net.gamma * network.net.gamma * 2 / 3
126
+ delta_regulator = abs(network.net.delta) if abs(network.net.delta) < 1 else 1
127
+ REG = [delta_regulator * np.sqrt(2), 0, 0]
128
+ netEC_threshold = network.net.netRHO * network.net.netRHO * 2
129
+
130
+ n_sky = network.net.index.size()
131
+
132
+ ml, FP, FX = load_data_from_ifo(network, config.nIFO)
133
+
134
+ cluster_test = convert_netcluster_to_fragment_clusters(pwc)
135
+ pixels = cluster_test.clusters[0].pixels
136
+
137
+ # save FP, FX, rms, n_sky, gamma_regulator, network_energy_threshold to pickle
138
+ test_data = {
139
+ 'FP': FP,
140
+ 'FX': FX,
141
+ 'cluster': cluster_test.clusters[0],
142
+ 'pixels': pixels,
143
+ 'n_ifo': config.nIFO,
144
+ 'ml': ml,
145
+ 'n_sky': n_sky,
146
+ 'delta_regulator': delta_regulator,
147
+ 'gamma_regulator': gamma_regulator,
148
+ 'netEC_threshold': netEC_threshold,
149
+ 'network_energy_threshold': network_energy_threshold,
150
+ 'netCC': network.net.netCC,
151
+ }
152
+ import pickle
153
+ with open('test_data.pkl', 'wb') as f:
154
+ pickle.dump(test_data, f)
@@ -1,13 +1,15 @@
1
1
  # add .. to path[0]
2
2
  import sys, os
3
- sys.path.insert(0, '..')
3
+ sys.path.insert(0, '../..')
4
4
 
5
5
  import pickle
6
6
  from math import sqrt
7
7
  import numpy as np
8
8
  from pycwb.modules.likelihoodWP.likelihood import calculate_dpf, find_optimal_sky_localization, calculate_sky_statistics
9
- from pycwb.modules.likelihoodWP.likelihood import load_data_from_pixels
9
+ from pycwb.modules.likelihoodWP.likelihood import load_data_from_pixels, threshold_cut, fill_detection_statistic
10
10
  from pycwb.modules.xtalk.monster import load_catalog, getXTalk_pixels
11
+ from pycwb.modules.xtalk.type import XTalk
12
+ from pycwb.modules.likelihoodWP.typing import SkyMapStatistics
11
13
  import time
12
14
 
13
15
  #################################################################################
@@ -20,12 +22,14 @@ FP = test_data['FP']
20
22
  FX = test_data['FX']
21
23
  ml = test_data['ml']
22
24
  n_sky = test_data['n_sky']
25
+ cluster = test_data['cluster']
23
26
  pixels = test_data['pixels']
24
27
  gamma_regulator = test_data['gamma_regulator']
25
28
  delta_regulator = test_data['delta_regulator']
26
29
  network_energy_threshold = test_data['network_energy_threshold']
27
30
  netCC = test_data['netCC']
28
31
  n_ifo = test_data['n_ifo']
32
+ netEC_threshold = test_data['netEC_threshold']
29
33
  REG = np.array([delta_regulator * sqrt(2), 0., 0.])
30
34
 
31
35
  rms, td00, td90, td_energy = load_data_from_pixels(pixels, n_ifo)
@@ -34,20 +38,17 @@ n_pix = rms.shape[1]
34
38
  #####################
35
39
  # Load xtalk catalog
36
40
  #####################
37
- if not os.environ.get('HOME_WAT_FILTERS'):
38
- print('Please set HOME_WAT_FILTERS to the directory of WAT filters')
39
- exit(1)
40
-
41
- fn = f"{os.environ.get('HOME_WAT_FILTERS')}/wdmXTalk/OverlapCatalog16-1024.bin"
41
+ fn = f"./wdmXTalk/OverlapCatalog16-1024.bin"
42
42
 
43
43
  start_time = time.time()
44
- xtalk_coeff, xtalk_lookup_table, layers, nRes = load_catalog(fn)
44
+ # xtalk_coeff, xtalk_lookup_table, layers, nRes = load_catalog(fn)
45
+ xtalk = XTalk.load(fn)
45
46
  print(f"Time for load_catalog: {time.time() - start_time} s")
46
47
 
47
48
  #######################
48
49
  # Get xtalk for pixels
49
50
  #######################
50
- cluster_xtalk_lookup, cluster_xtalk = getXTalk_pixels(pixels, True, layers, xtalk_coeff, xtalk_lookup_table)
51
+ cluster_xtalk_lookup, cluster_xtalk = xtalk.get_xtalk_pixels(pixels, True)
51
52
 
52
53
  #############################################
53
54
  # Convert FP, FX, rms, td00, td90 to float32
@@ -63,20 +64,35 @@ rms = rms.T.astype(np.float32)
63
64
  #############################################
64
65
  REG[1] = calculate_dpf(FP, FX, rms, n_sky, n_ifo, gamma_regulator, network_energy_threshold)
65
66
 
66
- l_max = find_optimal_sky_localization(n_ifo, n_pix, n_sky, FP, FX, rms, td00, td90, ml, REG, netCC, delta_regulator,
67
+ skymap_statistics = find_optimal_sky_localization(n_ifo, n_pix, n_sky, FP, FX, rms, td00, td90, ml, REG, netCC, delta_regulator,
67
68
  network_energy_threshold)
68
- print(f"l_max: {l_max}")
69
+ skymap_statistics = SkyMapStatistics.from_tuple(skymap_statistics)
69
70
 
70
71
  #############################################
71
72
  # Calculate sky statistics
72
73
  #############################################
73
- calculate_sky_statistics(l_max, n_ifo, n_pix, FP, FX, rms, td00, td90, ml, REG, network_energy_threshold, cluster_xtalk,
74
- cluster_xtalk_lookup)
75
-
74
+ sky_statistics = calculate_sky_statistics(skymap_statistics.l_max, n_ifo, n_pix, FP, FX, rms, td00, td90, ml, REG, network_energy_threshold, cluster_xtalk,
75
+ cluster_xtalk_lookup, DEBUG=True)
76
+
77
+ rejected = threshold_cut(sky_statistics, network_energy_threshold, netEC_threshold)
78
+ if rejected:
79
+ print(f"Cluster rejected due to threshold cuts: {rejected}")
80
+
81
+
82
+ fill_detection_statistic(sky_statistics, skymap_statistics, cluster=cluster,
83
+ n_ifo=n_ifo, xtalk=xtalk,
84
+ network_energy_threshold=network_energy_threshold)
85
+ # Eo = 8255.51, Lo = 7805.59, Ep = 1552.52, Lp = 1467.77
86
+ # Gn = 83.9425, Ec = 7571.68, Dc = 0.441406, Rc = 0.999999, Eh = 9.45466
87
+ print(f"expected Eo: 8255.51, Lo: 7805.59, Ep: 1552.52, Lp: 1467.77")
88
+ print(f"expected Gn: 83.9425, Ec: 7571.68, Dc: 0.441406, Rc: 0.999999, Eh: 9.45466, Es: 0, NC: 369, NS: 368")
89
+ print(f"expected N = 83.0302, N2 = 83.9448")
90
+ print(f"expected Np = 70.9542, Em = 1676.79, Lm = 1521.89, norm = 4.91776, Ec = 1539.66, Dc = 0.0897575, ch = 0.932774")
91
+ print(f"expected cc = 1, rho = 27.7458, ecor = 1.4013e-45, penalty = 2.92971e-33, xrho = 4.2039e-45")
76
92
  #############################################
77
93
  # Performance test
78
94
  #############################################
79
-
95
+ exit()
80
96
  total_time = 0
81
97
  # # convert FP, FX, rms to float32
82
98
  for i in range(10):
@@ -1,7 +1,7 @@
1
1
  ###### project ######
2
2
 
3
3
  outputDir: "output"
4
- nproc: 6
4
+ nproc: 1
5
5
  ###### search ######
6
6
 
7
7
  #calibVer: "C01"
@@ -69,6 +69,7 @@ iwindow: 100
69
69
  # simulation
70
70
  simulation: "all_inject_in_one_segment"
71
71
  nfactor: 1
72
+ segment_processer: ./data_generator.process_job_segment
72
73
 
73
74
  injection:
74
75
  segment:
@@ -77,17 +78,6 @@ injection:
77
78
  noise:
78
79
  seeds: [1002, 1004]
79
80
  parameters:
80
- - mass1: 20
81
- mass2: 20
82
- spin1z: 0
83
- spin2z: 0
84
- distance: 1000
85
- inclination: 0
86
- polarization: 0
87
- gps_time: 1126259462.4
88
- coa_phase: 0
89
- ra: 0
90
- dec: 0
91
81
  - mass1: 36
92
82
  mass2: 29
93
83
  spin1x: 0.3
@@ -100,5 +90,6 @@ injection:
100
90
  coa_phase: 0
101
91
  ra: 0
102
92
  dec: 0
93
+ pol: 0
94
+ f_lower: 16
103
95
  approximant: "IMRPhenomXPHM"
104
- approximant: "IMRPhenomXHM"
@@ -13,6 +13,7 @@ import pycwb.cli.xtalk as xtalk
13
13
  import pycwb.cli.merge_catalog as merge_catalog
14
14
  import pycwb.cli.post_process as post_process
15
15
  import pycwb.cli.gwosc as gwosc
16
+ import pycwb.cli.gwosc_data as gwosc_data
16
17
  import pycwb.cli.get_external_modules as get_external_modules
17
18
 
18
19
  def main():
@@ -53,11 +54,16 @@ def main():
53
54
  post_process.init_parser(post_process_parser)
54
55
  post_process_parser.set_defaults(func=post_process.command)
55
56
 
56
- #gwosc subcommand
57
+ # gwosc subcommand
57
58
  gwosc_parser = subparsers.add_parser('gwosc', help='Download files to run a pycwb analysis of a GW event of your choice')
58
59
  gwosc.init_parser(gwosc_parser)
59
60
  gwosc_parser.set_defaults(func=gwosc.command)
60
61
 
62
+ # gwosc_data subcommand
63
+ gwosc_data_parser = subparsers.add_parser('gwosc-data', help='Download data files to run a pycwb analysis with user parameters')
64
+ gwosc_data.init_parser(gwosc_data_parser)
65
+ gwosc_data_parser.set_defaults(func=gwosc_data.command)
66
+
61
67
  # get_external_modules subcommand
62
68
  get_external_modules_parser = subparsers.add_parser('get-external-modules', help='Get external modules')
63
69
  get_external_modules.init_parser(get_external_modules_parser)
@@ -69,6 +69,22 @@ network::network(const network& value)
69
69
 
70
70
  network::~network()
71
71
  {
72
+ // Delete detector pointers
73
+ for (detector* d : ifoList) {
74
+ delete d;
75
+ }
76
+
77
+ // Delete WDM pointers
78
+ for (WDM<double>* wdm : wdmList) {
79
+ if (wdm) {
80
+ delete wdm; // delete WDM object
81
+ }
82
+ }
83
+
84
+ // Delete wc_List
85
+ for (size_t i = 0; i < wc_List.size(); ++i) {
86
+ wc_List[i].clear();
87
+ }
72
88
  return;
73
89
  }
74
90
 
@@ -18,6 +18,8 @@ std::vector<double> inline pycwb_get_wavearray_data(wavearray<double> *wave) {
18
18
  data.push_back(wave->data[i]);
19
19
  }
20
20
 
21
+ // wave->resize(0); // Clear the wavearray to free memory
22
+
21
23
  return data;
22
24
  };
23
25
 
@@ -27,6 +29,8 @@ std::vector<short> inline pycwb_get_short_wavearray_data(wavearray<short> *wave)
27
29
  data.push_back(wave->data[i]);
28
30
  }
29
31
 
32
+ // wave->resize(0); // Clear the wavearray to free memory
33
+
30
34
  return data;
31
35
  };
32
36
 
@@ -62,3 +62,28 @@ Replace the following in `monster.cc`
62
62
 
63
63
 
64
64
  to let the output managed by the python code.
65
+
66
+ Solved part of the memory leak
67
+ --------------------------------
68
+
69
+ In `network.cc`, the following line was added to the destructor of `Network` class:
70
+
71
+ .. code-block:: c
72
+
73
+ // Delete detector pointers
74
+ for (detector* d : ifoList) {
75
+ delete d;
76
+ }
77
+
78
+ // Delete WDM pointers
79
+ for (WDM<double>* wdm : wdmList) {
80
+ if (wdm) {
81
+ delete wdm; // delete WDM object
82
+ }
83
+ }
84
+
85
+ // Delete wc_List
86
+ for (size_t i = 0; i < wc_List.size(); ++i) {
87
+ wc_List[i].clear();
88
+ }
89
+ re
@@ -0,0 +1,16 @@
1
+ # An example to search for GW190521
2
+
3
+
4
+ ## Fetch the required data
5
+
6
+ ```bash
7
+ pycwb gwosc-data user_parameters.yaml
8
+ ```
9
+
10
+ This command will read the `ifo`, `gps_start` and `gps_end` from the `user_parameters.yaml` file and download the frame files and data quality files from GWOSC.
11
+
12
+ ## Run the search
13
+
14
+ ```bash
15
+ pycwb run user_parameters.yaml
16
+ ```
@@ -0,0 +1,95 @@
1
+ ###### project ######
2
+
3
+ outputDir: "output"
4
+ nproc: 6
5
+ ###### search ######
6
+
7
+ #calibVer: "C01"
8
+ #channelName: "DCS-CALIB_STRAIN_CLEAN_C01" # //"DCS-CALIB_STRAIN_CLEAN_C01"; // C00 -> "GDS-CALIB_STRAIN", C01 -> "DCS-CALIB_STRAIN_C01", C02 -> "DCS-CALIB_STRAIN_C02"
9
+
10
+ analysis: "2G"
11
+ cfg_search: "r"
12
+
13
+ plot_trigger: True
14
+ save_waveform: True
15
+ plot_waveform: True
16
+ save_injection: True
17
+ plot_injection: True
18
+ compress_output_json: False
19
+
20
+ optim: False
21
+
22
+ ###### network configuration ######
23
+ ifo: ["L1","H1"]
24
+ refIFO: "L1"
25
+
26
+ # lags
27
+ lagSize: 1
28
+ lagStep: 1.
29
+ lagOff: 0
30
+ lagMax: 0
31
+
32
+ # superlags
33
+ slagSize: 1 # number of super lags (simulation=1) - if slagSize=0 -> Standard Segments
34
+ slagMin: 0
35
+ slagMax: 0
36
+ slagOff: 0
37
+
38
+ # job
39
+ segLen: 1200
40
+ segMLS: 600
41
+ segTHR: 200
42
+ segEdge: 10
43
+
44
+ # frequency
45
+ fLow: 16.
46
+ fHigh: 1024.
47
+
48
+
49
+ levelR: 3
50
+ l_low: 4 # low frequency resolution level // std (sthr = 2)
51
+ l_high: 10 # high frequency resolution level // std (sthr = 8)
52
+
53
+ wdmXTalk: "wdmXTalk/OverlapCatalog16-1024.bin"
54
+
55
+ healpix: 7
56
+
57
+ ###### cWB production thresholds & regulators ######
58
+
59
+ bpp: 0.001
60
+ subnet: 0.5
61
+ subcut: -1.0
62
+ netRHO: 5.0
63
+ cedRHO: 5.0
64
+ netCC: 0.5
65
+ Acore: 1.7
66
+ Tgap: 0.2
67
+ Fgap: 128.0
68
+ delta: 0.5
69
+ cfg_gamma: -1.0
70
+ LOUD: 300
71
+
72
+ pattern: 10
73
+
74
+ iwindow: 100
75
+
76
+ # simulation
77
+ simulation: "one_inject_in_one_segment"
78
+ nfactor: 1
79
+
80
+
81
+ gps_start: 1242439367.4
82
+ gps_end: 1242446567.4
83
+
84
+ channelNamesRaw: ['L1:GWOSC-16KHZ_R1_STRAIN', 'H1:GWOSC-16KHZ_R1_STRAIN']
85
+ frFiles: ["input/L1_frames.in", "input/H1_frames.in"]
86
+
87
+ DQF: [
88
+ [ "L1" ,"input/L1_cat0.txt", CWB_CAT0, 0., False, False ],
89
+ [ "H1" ,"input/H1_cat0.txt", CWB_CAT0, 0., False, False ],
90
+ [ "L1" ,"input/L1_cat1.txt", CWB_CAT1, 0., False, False ],
91
+ [ "H1" ,"input/H1_cat1.txt", CWB_CAT1, 0., False, False ],
92
+ [ "L1" ,"input/L1_cat2.txt", CWB_CAT2, 0., False, False ],
93
+ [ "H1" ,"input/H1_cat2.txt", CWB_CAT2, 0., False, False ],
94
+ ]
95
+