PycWB 0.22.1__tar.gz → 0.22.2__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 (384) hide show
  1. {pycwb-0.22.1 → pycwb-0.22.2}/PKG-INFO +1 -1
  2. {pycwb-0.22.1 → pycwb-0.22.2}/PycWB.egg-info/PKG-INFO +1 -1
  3. {pycwb-0.22.1 → pycwb-0.22.2}/PycWB.egg-info/SOURCES.txt +1 -0
  4. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/_version.py +2 -2
  5. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/cli/xtalk.py +1 -0
  6. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/config/config.py +35 -4
  7. pycwb-0.22.2/pycwb/constants/project_constants.py +3 -0
  8. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/xtalk/monster.py +10 -8
  9. pycwb-0.22.2/pycwb/modules/xtalk/xtalk_data.py +49 -0
  10. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/workflow/subflow/prepare_job_runs.py +2 -2
  11. pycwb-0.22.1/pycwb/constants/project_constants.py +0 -1
  12. {pycwb-0.22.1 → pycwb-0.22.2}/.gitignore +0 -0
  13. {pycwb-0.22.1 → pycwb-0.22.2}/.gitlab-ci.yml +0 -0
  14. {pycwb-0.22.1 → pycwb-0.22.2}/LICENSE +0 -0
  15. {pycwb-0.22.1 → pycwb-0.22.2}/MANIFEST.in +0 -0
  16. {pycwb-0.22.1 → pycwb-0.22.2}/Makefile +0 -0
  17. {pycwb-0.22.1 → pycwb-0.22.2}/PycWB.egg-info/dependency_links.txt +0 -0
  18. {pycwb-0.22.1 → pycwb-0.22.2}/PycWB.egg-info/requires.txt +0 -0
  19. {pycwb-0.22.1 → pycwb-0.22.2}/PycWB.egg-info/top_level.txt +0 -0
  20. {pycwb-0.22.1 → pycwb-0.22.2}/README.md +0 -0
  21. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/README.md +0 -0
  22. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/likelihood/README.md +0 -0
  23. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/likelihood/generate_data_for_likelihood.py +0 -0
  24. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/likelihood/performance_test_dpf.py +0 -0
  25. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
  26. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
  27. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/supercluster/README.md +0 -0
  28. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/supercluster/generate_data.py +0 -0
  29. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/supercluster/generate_data_2.py +0 -0
  30. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/supercluster/performance_supercluster.py +0 -0
  31. {pycwb-0.22.1 → pycwb-0.22.2}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
  32. {pycwb-0.22.1 → pycwb-0.22.2}/bin/pycwb +0 -0
  33. {pycwb-0.22.1 → pycwb-0.22.2}/bin/pycwb_search +0 -0
  34. {pycwb-0.22.1 → pycwb-0.22.2}/bin/pycwb_show +0 -0
  35. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Biorthogonal.cc +0 -0
  36. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Biorthogonal.hh +0 -0
  37. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/CMakeLists.txt +0 -0
  38. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Daubechies.cc +0 -0
  39. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Daubechies.hh +0 -0
  40. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/FourierCoefficients.icc +0 -0
  41. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Haar.cc +0 -0
  42. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Haar.hh +0 -0
  43. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/LineFilter.cc +0 -0
  44. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/LineFilter.hh +0 -0
  45. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Makefile +0 -0
  46. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Meyer.cc +0 -0
  47. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Meyer.hh +0 -0
  48. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Symlet.cc +0 -0
  49. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Symlet.hh +0 -0
  50. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/SymmArray.cc +0 -0
  51. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/SymmArray.hh +0 -0
  52. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/SymmArraySSE.cc +0 -0
  53. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/SymmArraySSE.hh +0 -0
  54. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/SymmObjArray.cc +0 -0
  55. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/SymmObjArray.hh +0 -0
  56. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/WDM.cc +0 -0
  57. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/WDM.hh +0 -0
  58. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/WDMOverlap.cc +0 -0
  59. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/WDMOverlap.hh +0 -0
  60. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/WaveDWT.cc +0 -0
  61. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/WaveDWT.hh +0 -0
  62. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Wavelet.cc +0 -0
  63. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/Wavelet.hh +0 -0
  64. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/alm.hh +0 -0
  65. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/build.sh +0 -0
  66. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/cluster.cc +0 -0
  67. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/cluster.hh +0 -0
  68. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/cmake/FindHealpix.cmake +0 -0
  69. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/cmake/FindeBBH.cmake +0 -0
  70. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/cmake/install_function.cmake +0 -0
  71. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/constants.hh +0 -0
  72. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/detector.cc +0 -0
  73. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/detector.hh +0 -0
  74. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/injection.cc +0 -0
  75. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/injection.hh +0 -0
  76. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/lossy.cc +0 -0
  77. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/lossy.hh +0 -0
  78. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/monster.cc +0 -0
  79. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/monster.hh +0 -0
  80. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/netcluster.cc +0 -0
  81. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/netcluster.hh +0 -0
  82. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/netevent.cc +0 -0
  83. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/netevent.hh +0 -0
  84. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/netpixel.cc +0 -0
  85. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/netpixel.hh +0 -0
  86. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/network.cc +0 -0
  87. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/network.hh +0 -0
  88. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/pycwb.hh +0 -0
  89. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/rdfr.cc +0 -0
  90. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/rdfr.hh +0 -0
  91. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/readframe.cc +0 -0
  92. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/readframe.hh +0 -0
  93. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/readfrfile.cc +0 -0
  94. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/readfrfile.hh +0 -0
  95. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/regression.cc +0 -0
  96. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/regression.hh +0 -0
  97. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/skycoord.hh +0 -0
  98. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/skymap.cc +0 -0
  99. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/skymap.hh +0 -0
  100. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/sseries.cc +0 -0
  101. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/sseries.hh +0 -0
  102. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/time.cc +0 -0
  103. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/time.hh +0 -0
  104. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wat.hh +0 -0
  105. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watasm.S +0 -0
  106. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watasm_elf64.o +0 -0
  107. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watavx.hh +0 -0
  108. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watbranch.in +0 -0
  109. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watfun.hh +0 -0
  110. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wathash.in +0 -0
  111. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watplot.cc +0 -0
  112. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watplot.hh +0 -0
  113. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watsse.hh +0 -0
  114. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wattag.in +0 -0
  115. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/waturl.in +0 -0
  116. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/watversion.hh.in +0 -0
  117. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavearray.cc +0 -0
  118. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavearray.hh +0 -0
  119. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavecomplex.cc +0 -0
  120. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavecomplex.hh +0 -0
  121. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavecor.cc +0 -0
  122. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavecor.hh +0 -0
  123. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavefft.cc +0 -0
  124. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavefft.hh +0 -0
  125. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavelet_LinkDef.h +0 -0
  126. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavelinefilter.cc +0 -0
  127. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wavelinefilter.hh +0 -0
  128. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/waverdc.cc +0 -0
  129. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/waverdc.hh +0 -0
  130. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wseries.cc +0 -0
  131. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wseries.hh +0 -0
  132. {pycwb-0.22.1 → pycwb-0.22.2}/cwb-core/wslice.hh +0 -0
  133. {pycwb-0.22.1 → pycwb-0.22.2}/docs/0.installation_guide.md +0 -0
  134. {pycwb-0.22.1 → pycwb-0.22.2}/docs/1.initialisation_guide.md +0 -0
  135. {pycwb-0.22.1 → pycwb-0.22.2}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
  136. {pycwb-0.22.1 → pycwb-0.22.2}/docs/3.run_pycwb_with_yaml_config.md +0 -0
  137. {pycwb-0.22.1 → pycwb-0.22.2}/docs/4.py_cwb_inet_2G.md +0 -0
  138. {pycwb-0.22.1 → pycwb-0.22.2}/docs/5.cwb2G_analyse.md +0 -0
  139. {pycwb-0.22.1 → pycwb-0.22.2}/docs/6.wat_codes_notes.md +0 -0
  140. {pycwb-0.22.1 → pycwb-0.22.2}/docs/Makefile +0 -0
  141. {pycwb-0.22.1 → pycwb-0.22.2}/docs/diagram.py +0 -0
  142. {pycwb-0.22.1 → pycwb-0.22.2}/docs/make.bat +0 -0
  143. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/_static/.keep +0 -0
  144. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/_templates/.keep +0 -0
  145. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/conf.py +0 -0
  146. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/credit.rst +0 -0
  147. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/index.rst +0 -0
  148. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/install.rst +0 -0
  149. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/mod_cwb.rst +0 -0
  150. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/package.rst +0 -0
  151. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/schema.rst +0 -0
  152. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/tutorial_batch_inj.rst +0 -0
  153. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/tutorial_customized_wf_gen.rst +0 -0
  154. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/tutorial_injection.rst +0 -0
  155. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/tutorial_multi_injection.rst +0 -0
  156. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/tutorial_search.rst +0 -0
  157. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/tutorials.rst +0 -0
  158. {pycwb-0.22.1 → pycwb-0.22.2}/docs/source/workflow.png +0 -0
  159. {pycwb-0.22.1 → pycwb-0.22.2}/envs/Dockerfile +0 -0
  160. {pycwb-0.22.1 → pycwb-0.22.2}/envs/mamba/Dockerfile +0 -0
  161. {pycwb-0.22.1 → pycwb-0.22.2}/examples/autoencoder/pycwb_injection.ipynb +0 -0
  162. {pycwb-0.22.1 → pycwb-0.22.2}/examples/autoencoder/user_parameters_injection.yaml +0 -0
  163. {pycwb-0.22.1 → pycwb-0.22.2}/examples/batch_injection/generate_parameters.py +0 -0
  164. {pycwb-0.22.1 → pycwb-0.22.2}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
  165. {pycwb-0.22.1 → pycwb-0.22.2}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
  166. {pycwb-0.22.1 → pycwb-0.22.2}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
  167. {pycwb-0.22.1 → pycwb-0.22.2}/examples/batch_injection/pycwb_injection.py +0 -0
  168. {pycwb-0.22.1 → pycwb-0.22.2}/examples/batch_injection/user_parameters_injection.yaml +0 -0
  169. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/H1_cat0.txt +0 -0
  170. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/H1_cat1.txt +0 -0
  171. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/H1_cat2.txt +0 -0
  172. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/H1_cat4.txt +0 -0
  173. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/L1_cat0.txt +0 -0
  174. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/L1_cat1.txt +0 -0
  175. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/L1_cat2.txt +0 -0
  176. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/DQ/L1_cat4.txt +0 -0
  177. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/input/OPBM.period +0 -0
  178. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/input/OPBM_H1.frames +0 -0
  179. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/input/OPBM_L1.frames +0 -0
  180. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/pycwb_mdc.py +0 -0
  181. {pycwb-0.22.1 → pycwb-0.22.2}/examples/benchmark/user_parameters_mdc.yaml +0 -0
  182. {pycwb-0.22.1 → pycwb-0.22.2}/examples/colab/pycWB_GW150914.ipynb +0 -0
  183. {pycwb-0.22.1 → pycwb-0.22.2}/examples/injection/pycwb_injection.ipynb +0 -0
  184. {pycwb-0.22.1 → pycwb-0.22.2}/examples/injection/pycwb_injection.py +0 -0
  185. {pycwb-0.22.1 → pycwb-0.22.2}/examples/injection/user_parameters_injection.yaml +0 -0
  186. {pycwb-0.22.1 → pycwb-0.22.2}/examples/lvk_sep_2023/demo.ipynb +0 -0
  187. {pycwb-0.22.1 → pycwb-0.22.2}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
  188. {pycwb-0.22.1 → pycwb-0.22.2}/examples/multiple_injection/pycwb_injection.py +0 -0
  189. {pycwb-0.22.1 → pycwb-0.22.2}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
  190. {pycwb-0.22.1 → pycwb-0.22.2}/examples/pyseobnr_injection/generate_parameters.py +0 -0
  191. {pycwb-0.22.1 → pycwb-0.22.2}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
  192. {pycwb-0.22.1 → pycwb-0.22.2}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
  193. {pycwb-0.22.1 → pycwb-0.22.2}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
  194. {pycwb-0.22.1 → pycwb-0.22.2}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
  195. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/cwb_core/coherence.cc +0 -0
  196. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/cwb_core/coherence.hh +0 -0
  197. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/cwb_core/likelihood.cc +0 -0
  198. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/cwb_core/likelihood.hh +0 -0
  199. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/dag/dag.py +0 -0
  200. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/dag/dask-prefect.py +0 -0
  201. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/dag/prefect_test.py +0 -0
  202. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger/__init__.py +0 -0
  203. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger/server.py +0 -0
  204. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger/visualizition.py +0 -0
  205. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
  206. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/.gitignore +0 -0
  207. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
  208. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/README.md +0 -0
  209. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/index.html +0 -0
  210. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/package-lock.json +0 -0
  211. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/package.json +0 -0
  212. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
  213. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/App.vue +0 -0
  214. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
  215. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
  216. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
  217. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
  218. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
  219. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
  220. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
  221. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
  222. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
  223. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
  224. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
  225. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
  226. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
  227. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/main.js +0 -0
  228. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/router/index.js +0 -0
  229. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
  230. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
  231. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
  232. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
  233. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
  234. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
  235. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/messenger-web-interface/vite.config.js +0 -0
  236. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/performance/numba_test.py +0 -0
  237. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/performance/taichi_test.py +0 -0
  238. {pycwb-0.22.1 → pycwb-0.22.2}/prototypes/search.yaml +0 -0
  239. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/__init__.py +0 -0
  240. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/cli/__init__.py +0 -0
  241. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/cli/batch.py +0 -0
  242. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/cli/flow.py +0 -0
  243. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/cli/run.py +0 -0
  244. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/cli/server.py +0 -0
  245. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/config/__init__.py +0 -0
  246. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/constants/__init__.py +0 -0
  247. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/constants/user_parameters_schema.py +0 -0
  248. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/__init__.py +0 -0
  249. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/autoencoder/__init__.py +0 -0
  250. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/autoencoder/autoencoder.py +0 -0
  251. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
  252. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/autoencoder/module.yaml +0 -0
  253. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/catalog/__init__.py +0 -0
  254. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/catalog/catalog.py +0 -0
  255. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/catalog/module.yaml +0 -0
  256. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/coherence/__init__.py +0 -0
  257. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/coherence/coherence.py +0 -0
  258. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/coherence/coherence_lite.py +0 -0
  259. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/coherence/module.yaml +0 -0
  260. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/condor/__init__.py +0 -0
  261. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/condor/condor.py +0 -0
  262. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/condor/module.yaml +0 -0
  263. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/cwb_conversions/__init__.py +0 -0
  264. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/cwb_conversions/cluster.py +0 -0
  265. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/cwb_conversions/module.yaml +0 -0
  266. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/cwb_conversions/pixel.py +0 -0
  267. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/cwb_conversions/series.py +0 -0
  268. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
  269. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/data_conditioning/__init__.py +0 -0
  270. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
  271. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/data_conditioning/module.yaml +0 -0
  272. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/data_conditioning/regression.py +0 -0
  273. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/data_conditioning/whitening.py +0 -0
  274. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/__init__.py +0 -0
  275. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/dq_segment.py +0 -0
  276. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/frame.py +0 -0
  277. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/job_segment.py +0 -0
  278. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/module.yaml +0 -0
  279. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/plots.py +0 -0
  280. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/job_segment/super_lag.py +0 -0
  281. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihood/__init__.py +0 -0
  282. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihood/likelihood.py +0 -0
  283. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihood/module.yaml +0 -0
  284. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihoodWP/__init__.py +0 -0
  285. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihoodWP/dpf.py +0 -0
  286. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
  287. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
  288. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
  289. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/likelihoodWP/utils.py +0 -0
  290. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/logger/__init__.py +0 -0
  291. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/logger/logger.py +0 -0
  292. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/logger/module.yaml +0 -0
  293. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
  294. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
  295. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
  296. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot/__init__.py +0 -0
  297. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot/cluster_statistics.py +0 -0
  298. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot/event.py +0 -0
  299. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot/module.yaml +0 -0
  300. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot/spectrogram.py +0 -0
  301. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot/waveform.py +0 -0
  302. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot_data_quality/__init__.py +0 -0
  303. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot_data_quality/module.yaml +0 -0
  304. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot_data_quality/plot.py +0 -0
  305. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot_map/__init__.py +0 -0
  306. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot_map/module.yaml +0 -0
  307. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/plot_map/world_map.py +0 -0
  308. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/read_data/__init__.py +0 -0
  309. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/read_data/data_check.py +0 -0
  310. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/read_data/data_find.py +0 -0
  311. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/read_data/mdc.py +0 -0
  312. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/read_data/module.yaml +0 -0
  313. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/read_data/read_data.py +0 -0
  314. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/reconstruction/__init__.py +0 -0
  315. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
  316. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/reconstruction/module.yaml +0 -0
  317. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/sparse_series/__init__.py +0 -0
  318. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/sparse_series/module.yaml +0 -0
  319. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/sparse_series/sparse_table.py +0 -0
  320. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/statistics/__init__.py +0 -0
  321. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/statistics/eff.py +0 -0
  322. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/statistics/eff_plot.py +0 -0
  323. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/statistics/merge.py +0 -0
  324. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/statistics/sigmoid_fit.py +0 -0
  325. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/super_cluster/__init__.py +0 -0
  326. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/super_cluster/module.yaml +0 -0
  327. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
  328. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/super_cluster/super_cluster.py +0 -0
  329. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/super_cluster/supercluster.py +0 -0
  330. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/super_cluster/utils.py +0 -0
  331. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/superlag/__init__.py +0 -0
  332. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/superlag/superlag.py +0 -0
  333. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/web_viewer/__init__.py +0 -0
  334. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/web_viewer/create.py +0 -0
  335. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/web_viewer/module.yaml +0 -0
  336. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/workflow_utils/__init__.py +0 -0
  337. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/workflow_utils/job_setup.py +0 -0
  338. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/xtalk/__init__.py +0 -0
  339. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/modules/xtalk/monster_old.py +0 -0
  340. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/prefect_flow/__init__.py +0 -0
  341. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/prefect_flow/pycwb_flow.py +0 -0
  342. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/prefect_flow/tasks/__init__.py +0 -0
  343. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/prefect_flow/tasks/builtin.py +0 -0
  344. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/search.py +0 -0
  345. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/__init__.py +0 -0
  346. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/data_quality_file.py +0 -0
  347. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/detector.py +0 -0
  348. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/job.py +0 -0
  349. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/network.py +0 -0
  350. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/network_cluster.py +0 -0
  351. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/network_event.py +0 -0
  352. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/network_pixel.py +0 -0
  353. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/sparse_series.py +0 -0
  354. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/time_frequency_series.py +0 -0
  355. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/wdm.py +0 -0
  356. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/types/wdm_xtalk.py +0 -0
  357. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/__init__.py +0 -0
  358. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/async_write.py +0 -0
  359. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/check_ROOT.py +0 -0
  360. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/conversions/__init__.py +0 -0
  361. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/conversions/timeseries.py +0 -0
  362. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/dataclass_object_io.py +0 -0
  363. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/dep_check.py +0 -0
  364. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/image.py +0 -0
  365. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/module.py +0 -0
  366. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/network.py +0 -0
  367. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/skymap_coord.py +0 -0
  368. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/utils/yaml_helper.py +0 -0
  369. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/__init__.py +0 -0
  370. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/autoencoder/__init__.py +0 -0
  371. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
  372. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/example.yaml +0 -0
  373. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/lib/__init__.py +0 -0
  374. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/web_viewer/event_dump.html +0 -0
  375. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/web_viewer/styles.css +0 -0
  376. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/vendor/web_viewer/viewer.html +0 -0
  377. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/workflow/__init__.py +0 -0
  378. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/workflow/batch.py +0 -0
  379. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/workflow/subflow/__init__.py +0 -0
  380. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/workflow/subflow/postprocess_and_plots.py +0 -0
  381. {pycwb-0.22.1 → pycwb-0.22.2}/pycwb/workflow/subflow/supercluster_and_likelihood.py +0 -0
  382. {pycwb-0.22.1 → pycwb-0.22.2}/pyproject.toml +0 -0
  383. {pycwb-0.22.1 → pycwb-0.22.2}/setup.cfg +0 -0
  384. {pycwb-0.22.1 → pycwb-0.22.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PycWB
3
- Version: 0.22.1
3
+ Version: 0.22.2
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.1
3
+ Version: 0.22.2
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>
@@ -336,6 +336,7 @@ pycwb/modules/workflow_utils/job_setup.py
336
336
  pycwb/modules/xtalk/__init__.py
337
337
  pycwb/modules/xtalk/monster.py
338
338
  pycwb/modules/xtalk/monster_old.py
339
+ pycwb/modules/xtalk/xtalk_data.py
339
340
  pycwb/prefect_flow/__init__.py
340
341
  pycwb/prefect_flow/pycwb_flow.py
341
342
  pycwb/prefect_flow/tasks/__init__.py
@@ -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.1'
16
- __version_tuple__ = version_tuple = (0, 22, 1)
15
+ __version__ = version = '0.22.2'
16
+ __version_tuple__ = version_tuple = (0, 22, 2)
@@ -14,6 +14,7 @@ def init_parser(parser):
14
14
  '-o',
15
15
  metavar='output_dir',
16
16
  type=str,
17
+ default='.',
17
18
  help='the output directory')
18
19
 
19
20
 
@@ -5,7 +5,9 @@ pycwb.constants.user_parameters_schema.
5
5
  """
6
6
  import os.path
7
7
  import logging
8
+ import pathlib
8
9
 
10
+ from ..modules.xtalk.xtalk_data import check_and_download_xtalk_data
9
11
  from ..types.wdm_xtalk import WDMXTalkCatalog
10
12
  from ..types.data_quality_file import DQFile
11
13
  from ..utils.network import max_delay
@@ -67,9 +69,8 @@ class Config:
67
69
  setattr(self, key, params[key])
68
70
 
69
71
  self.add_derived_key()
70
- self.check_file(self.MRAcatalog)
71
- if self.MRAcatalog:
72
- self.check_MRA_catalog()
72
+ self.check_xtalk_file(self.MRAcatalog)
73
+ self.check_MRA_catalog()
73
74
  self.check_lagStep()
74
75
 
75
76
  def add_derived_key(self):
@@ -90,7 +91,10 @@ class Config:
90
91
 
91
92
  # load WAT filter directory and set MRAcatalog
92
93
  if not self.filter_dir:
93
- self.filter_dir = os.environ['HOME_WAT_FILTERS']
94
+ if os.environ.get('HOME_WAT_FILTERS') is None:
95
+ self.filter_dir = os.path.abspath(".")
96
+ else:
97
+ self.filter_dir = os.environ['HOME_WAT_FILTERS']
94
98
 
95
99
  self.MRAcatalog = f"{self.filter_dir}/{self.wdmXTalk}"
96
100
 
@@ -142,6 +146,33 @@ class Config:
142
146
  if not os.path.isfile(file_name):
143
147
  raise FileNotFoundError(f"File {file_name} does not exist")
144
148
 
149
+ @staticmethod
150
+ def check_xtalk_file(file_name: str) -> bool:
151
+ """
152
+ Helper function to check if xtalk file exists and download it if it does not exist
153
+
154
+ Parameters
155
+ ----------
156
+ file_name : str
157
+ Path to the xtalk file
158
+
159
+ Returns
160
+ -------
161
+ bool
162
+ True if the file exists or has been downloaded successfully, False otherwise
163
+
164
+ Raises
165
+ ------
166
+ FileNotFoundError
167
+ If the file does not exist and cannot be downloaded
168
+ """
169
+ if not os.path.isfile(file_name):
170
+ if check_and_download_xtalk_data(str(pathlib.Path(file_name).name), str(pathlib.Path(file_name).parent)):
171
+ return True
172
+ else:
173
+ raise FileNotFoundError(f"File {file_name} does not exist")
174
+ return True
175
+
145
176
  def check_lagStep(self):
146
177
  """
147
178
  Check if lagStep compatible with WDM parity
@@ -0,0 +1,3 @@
1
+ ROUNDED_DIGITS = 50
2
+ XTALK_FILE_LIST_URL = "https://raw.githubusercontent.com/PycWB/xtalk-data/main/file_list.txt"
3
+ XTALK_DATA_URL = "https://github.com/PycWB/xtalk-data/raw/main"
@@ -12,7 +12,7 @@ def load_catalog(fn, dump=True):
12
12
 
13
13
  Parameters
14
14
  ----------
15
- fn : str
15
+ fn : str or Path
16
16
  The file name of the crosstalk catalog file
17
17
  dump : bool
18
18
  If True, save the parsed data into a .npz file with the same name as the input file in current working directory
@@ -38,17 +38,18 @@ def load_catalog(fn, dump=True):
38
38
  # Check if there is converted file
39
39
  # if ext of fn is .bin, search if there is a .npz file with the same name
40
40
  # under the same directory and working directory
41
- if pathlib.Path(fn).suffix == ".bin":
41
+ if pathlib.Path(fn).suffix == ".bin" or pathlib.Path(fn).suffix == ".xbin":
42
42
  print(f"A .bin file is detected, searching for .npz file with the same name.")
43
- npz_fn = fn.replace(".bin", ".npz")
43
+ # npz_fn = fn.replace(".bin", ".npz")
44
+ npz_fn = pathlib.Path(fn).with_suffix(".npz")
44
45
  if pathlib.Path(npz_fn).exists():
45
46
  print(f".npz file found: {npz_fn}, loading the catalog from the .npz file.")
46
47
  return load_catalog(npz_fn)
47
48
 
48
- npz_fn = pathlib.Path(fn).name.replace(".bin", ".npz")
49
- if pathlib.Path(npz_fn).exists():
50
- print(f".npz file found: {npz_fn}, loading the catalog from the .npz file.")
51
- return load_catalog(npz_fn)
49
+ # npz_fn = pathlib.Path(fn).name.replace(".bin", ".npz")
50
+ # if pathlib.Path(npz_fn).exists():
51
+ # print(f".npz file found: {npz_fn}, loading the catalog from the .npz file.")
52
+ # return load_catalog(npz_fn)
52
53
 
53
54
  with open(fn, "rb") as f:
54
55
  data = f.read() # Read the entire file into memory
@@ -91,7 +92,8 @@ def load_catalog(fn, dump=True):
91
92
 
92
93
  if dump:
93
94
  # dump to current working directory
94
- filename = pathlib.Path(fn).name.replace(".bin", ".npz")
95
+ # filename = pathlib.Path(fn).name.replace(".bin", ".npz")
96
+ filename = pathlib.Path(fn).with_suffix(".npz")
95
97
  np.savez(filename, xtalk_coeff=xtalk_coeff, xtalk_lookup_table=lookup_table, layers=layers,
96
98
  nRes=nRes)
97
99
  return np.array(xtalk_coeff), lookup_table, np.array(layers), nRes
@@ -0,0 +1,49 @@
1
+ import requests
2
+ import pathlib
3
+ from pycwb.constants.project_constants import XTALK_DATA_URL, XTALK_FILE_LIST_URL
4
+
5
+
6
+ def fetch_txt(url):
7
+ try:
8
+ response = requests.get(url)
9
+ response.raise_for_status() # Raises an exception for 4XX or 5XX errors
10
+ return response.text.splitlines() # Returns the list of file names
11
+ except requests.RequestException as e:
12
+ return f"An error occurred: {e}"
13
+
14
+
15
+ def download_file(url, file_name):
16
+ try:
17
+ response = requests.get(url)
18
+ response.raise_for_status() # Raises an exception for 4XX or 5XX errors
19
+ with open(file_name, "wb") as f:
20
+ f.write(response.content)
21
+ return f"File {file_name} has been downloaded successfully."
22
+ except requests.RequestException as e:
23
+ return f"An error occurred: {e}"
24
+
25
+
26
+ def check_and_download_xtalk_data(file_name: str, output_dir: str = ".")\
27
+ -> bool:
28
+ # Fetch and print the file list
29
+ file_list = fetch_txt(XTALK_FILE_LIST_URL)
30
+
31
+ # replace any file extension (.bin, .xbin) with .npz
32
+ # new_file_name = pathlib.Path(file_name).with_suffix(".npz").name
33
+ file_name = pathlib.Path(file_name).name
34
+
35
+ # Check if the file is in the list
36
+ if file_name in file_list:
37
+ # make output_dir if it does not exist
38
+ pathlib.Path(output_dir).mkdir(parents=True, exist_ok=True)
39
+
40
+ # Download the file
41
+ print(f"File {file_name} is available on {XTALK_DATA_URL}.")
42
+ download_url = f"{XTALK_DATA_URL}/{file_name}"
43
+ print(f"Downloading {download_url}...")
44
+ download_file(download_url, f"{output_dir}/{file_name}")
45
+ print(f"File saved as {output_dir}/{file_name}")
46
+ return True
47
+ else:
48
+ print(f"File {file_name} is not available on {XTALK_DATA_URL}.")
49
+ return False
@@ -44,7 +44,7 @@ def prepare_job_runs(working_dir: str, config_file: str, n_proc: int = 1,
44
44
  os.chdir(working_dir)
45
45
 
46
46
  # check environment
47
- check_MRACatalog_setting()
47
+ # check_MRACatalog_setting()
48
48
 
49
49
  # read user parameters
50
50
  config = Config(file_name)
@@ -78,7 +78,7 @@ def load_batch_run(working_dir: str, config_file: str, job_file: str, job_start:
78
78
 
79
79
  os.chdir(working_dir)
80
80
 
81
- check_MRACatalog_setting()
81
+ # check_MRACatalog_setting()
82
82
 
83
83
  config = Config(file_name)
84
84
 
@@ -1 +0,0 @@
1
- ROUNDED_DIGITS = 50
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes