PycWB 0.24.0__tar.gz → 0.25.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pycwb-0.24.0 → pycwb-0.25.0}/PKG-INFO +2 -1
- {pycwb-0.24.0 → pycwb-0.25.0}/PycWB.egg-info/PKG-INFO +2 -1
- {pycwb-0.24.0 → pycwb-0.25.0}/PycWB.egg-info/SOURCES.txt +3 -2
- {pycwb-0.24.0 → pycwb-0.25.0}/PycWB.egg-info/requires.txt +1 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/conf.py +1 -1
- pycwb-0.25.0/docs/source/schema.rst +15 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/envs/environment.yml +2 -1
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/_version.py +2 -2
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/batch_setup.py +19 -1
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/catalog/catalog.py +7 -7
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/data_conditioning/whitening.py +1 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/dq_segment.py +15 -11
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/frame.py +19 -17
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/job_segment.py +98 -42
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/module.yaml +1 -1
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihood/likelihood.py +67 -56
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/read_data/read_data.py +40 -4
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/sparse_series/sparse_table.py +7 -3
- pycwb-0.25.0/pycwb/modules/superlag/module.yaml +4 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/workflow_utils/job_setup.py +1 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/xtalk/xtalk_data.py +8 -8
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/data_quality_file.py +10 -21
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/job.py +28 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/network_cluster.py +3 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/sparse_series.py +9 -3
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/wdm_xtalk.py +6 -1
- pycwb-0.25.0/pycwb/utils/generate_params_table.py +53 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/workflow/batch.py +13 -9
- pycwb-0.25.0/pycwb/workflow/subflow/__init__.py +3 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/workflow/subflow/prepare_job_runs.py +42 -2
- pycwb-0.25.0/pycwb/workflow/subflow/process_job_segment.py +170 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/setup.py +1 -0
- pycwb-0.24.0/docs/source/schema.rst +0 -12
- pycwb-0.24.0/pycwb/workflow/subflow/__init__.py +0 -2
- pycwb-0.24.0/pycwb/workflow/subflow/process_job_segment.py +0 -115
- pycwb-0.24.0/pycwb/workflow/subflow/supercluster_and_likelihood.py +0 -86
- {pycwb-0.24.0 → pycwb-0.25.0}/.gitignore +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/.gitlab-ci.yml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/.readthedocs.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/LICENSE +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/MANIFEST.in +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/Makefile +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/PycWB.egg-info/dependency_links.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/PycWB.egg-info/top_level.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/README.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/README.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/likelihood/README.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/likelihood/generate_data_for_likelihood.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/likelihood/performance_test_dpf.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/supercluster/README.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/supercluster/generate_data.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/supercluster/generate_data_2.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/supercluster/performance_supercluster.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/bin/pycwb +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/bin/pycwb_search +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/bin/pycwb_show +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Biorthogonal.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Biorthogonal.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/CMakeLists.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Daubechies.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Daubechies.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/FourierCoefficients.icc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Haar.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Haar.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/LineFilter.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/LineFilter.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Makefile +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Meyer.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Meyer.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Symlet.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Symlet.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/SymmArray.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/SymmArray.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/SymmArraySSE.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/SymmArraySSE.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/SymmObjArray.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/SymmObjArray.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/WDM.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/WDM.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/WDMOverlap.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/WDMOverlap.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/WaveDWT.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/WaveDWT.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Wavelet.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/Wavelet.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/alm.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/build.sh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/cluster.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/cluster.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/cmake/install_function.cmake +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/constants.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/detector.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/detector.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/injection.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/injection.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/lossy.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/lossy.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/monster.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/monster.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/netcluster.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/netcluster.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/netevent.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/netevent.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/netpixel.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/netpixel.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/network.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/network.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/pycwb.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/rdfr.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/rdfr.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/readframe.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/readframe.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/readfrfile.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/readfrfile.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/regression.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/regression.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/skycoord.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/skymap.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/skymap.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/sseries.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/sseries.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/time.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/time.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wat.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watasm.S +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watasm_elf64.o +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watavx.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watbranch.in +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watfun.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wathash.in +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watplot.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watplot.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watsse.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wattag.in +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/waturl.in +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/watversion.hh.in +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavearray.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavearray.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavecomplex.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavecomplex.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavecor.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavecor.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavefft.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavefft.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavelet_LinkDef.h +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavelinefilter.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wavelinefilter.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/waverdc.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/waverdc.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wseries.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wseries.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/cwb-core/wslice.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/0.installation_guide.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/1.initialisation_guide.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/4.py_cwb_inet_2G.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/5.cwb2G_analyse.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/6.wat_codes_notes.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/Makefile +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/diagram.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/make.bat +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/_static/.keep +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/_templates/.keep +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/credit.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/index.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/install.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/mod_cwb.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/package.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/tutorial_batch_inj.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/tutorial_injection.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/tutorial_multi_injection.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/tutorial_search.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/tutorials.rst +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/docs/source/workflow.png +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/envs/Dockerfile +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/envs/mamba/Dockerfile +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/batch_injection/generate_parameters.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/batch_injection/pycwb_injection.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/input/OPBM.period +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/pycwb_mdc.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/injection/pycwb_injection.ipynb +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/injection/wdmXTalk/OverlapCatalog16-1024.bin +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/multiple_injection/pycwb_injection.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/cwb_core/coherence.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/cwb_core/coherence.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/cwb_core/likelihood.cc +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/cwb_core/likelihood.hh +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/dag/dag.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/dag/dask-prefect.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/dag/prefect_test.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger/server.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger/visualizition.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/.gitignore +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/README.md +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/index.html +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/package.json +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/main.js +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/performance/numba_test.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/performance/taichi_test.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/prototypes/search.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/batch_runner.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/flow.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/merge_catalog.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/run.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/server.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/cli/xtalk.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/config/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/config/config.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/constants/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/constants/project_constants.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/constants/user_parameters_schema.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/autoencoder/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/autoencoder/autoencoder.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/autoencoder/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/catalog/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/catalog/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/coherence/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/coherence/coherence.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/coherence/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/condor/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/condor/condor.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/condor/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/cwb_conversions/series.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/data_conditioning/regression.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/energy_threshold/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/energy_threshold/threshold.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/gracedb/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/gracedb/gracedb.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/gracedb/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/gracedb/test_gracedb.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/plots.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/super_lag.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/job_segment/test_job_segment.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihood/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihood/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihoodWP/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihoodWP/dpf.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/likelihoodWP/utils.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/logger/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/logger/logger.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/logger/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot/cluster_statistics.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot/event.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot/spectrogram.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot/waveform.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot_map/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot_map/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/plot_map/world_map.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/read_data/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/read_data/data_check.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/read_data/data_find.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/read_data/mdc.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/read_data/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/reconstruction/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/reconstruction/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/sparse_series/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/sparse_series/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/statistics/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/statistics/eff.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/statistics/eff_plot.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/statistics/merge.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/statistics/sigmoid_fit.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/super_cluster/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/super_cluster/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/super_cluster/super_cluster.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/super_cluster/supercluster.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/super_cluster/utils.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/supercluster_naive/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/supercluster_naive/supercluster2.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/superlag/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/superlag/superlag.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/web_viewer/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/web_viewer/create.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/web_viewer/module.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/workflow_utils/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/xtalk/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/xtalk/monster.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/modules/xtalk/monster_old.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/prefect_flow/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/prefect_flow/pycwb_flow.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/prefect_flow/tasks/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/prefect_flow/tasks/builtin.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/detector.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/network.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/network_event.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/network_pixel.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/time_frequency_series.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/types/wdm.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/async_write.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/check_ROOT.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/conversions/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/conversions/timeseries.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/dataclass_object_io.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/dep_check.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/image.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/module.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/network.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/parser.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/skymap_coord.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/utils/yaml_helper.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/autoencoder/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/example.yaml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/lib/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/web_viewer/styles.css +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/workflow/__init__.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/workflow/merge.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/workflow/run.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pycwb/workflow/subflow/postprocess_and_plots.py +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/pyproject.toml +0 -0
- {pycwb-0.24.0 → pycwb-0.25.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PycWB
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.25.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>
|
|
@@ -31,6 +31,7 @@ Requires-Dist: prefect-dask
|
|
|
31
31
|
Requires-Dist: dask
|
|
32
32
|
Requires-Dist: dask_jobqueue
|
|
33
33
|
Requires-Dist: htcondor
|
|
34
|
+
Requires-Dist: psutil
|
|
34
35
|
|
|
35
36
|
# PycWB
|
|
36
37
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PycWB
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.25.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>
|
|
@@ -31,6 +31,7 @@ Requires-Dist: prefect-dask
|
|
|
31
31
|
Requires-Dist: dask
|
|
32
32
|
Requires-Dist: dask_jobqueue
|
|
33
33
|
Requires-Dist: htcondor
|
|
34
|
+
Requires-Dist: psutil
|
|
34
35
|
|
|
35
36
|
# PycWB
|
|
36
37
|
|
|
@@ -339,6 +339,7 @@ pycwb/modules/super_cluster/utils.py
|
|
|
339
339
|
pycwb/modules/supercluster_naive/__init__.py
|
|
340
340
|
pycwb/modules/supercluster_naive/supercluster2.py
|
|
341
341
|
pycwb/modules/superlag/__init__.py
|
|
342
|
+
pycwb/modules/superlag/module.yaml
|
|
342
343
|
pycwb/modules/superlag/superlag.py
|
|
343
344
|
pycwb/modules/web_viewer/__init__.py
|
|
344
345
|
pycwb/modules/web_viewer/create.py
|
|
@@ -370,6 +371,7 @@ pycwb/utils/async_write.py
|
|
|
370
371
|
pycwb/utils/check_ROOT.py
|
|
371
372
|
pycwb/utils/dataclass_object_io.py
|
|
372
373
|
pycwb/utils/dep_check.py
|
|
374
|
+
pycwb/utils/generate_params_table.py
|
|
373
375
|
pycwb/utils/image.py
|
|
374
376
|
pycwb/utils/module.py
|
|
375
377
|
pycwb/utils/network.py
|
|
@@ -393,5 +395,4 @@ pycwb/workflow/run.py
|
|
|
393
395
|
pycwb/workflow/subflow/__init__.py
|
|
394
396
|
pycwb/workflow/subflow/postprocess_and_plots.py
|
|
395
397
|
pycwb/workflow/subflow/prepare_job_runs.py
|
|
396
|
-
pycwb/workflow/subflow/process_job_segment.py
|
|
397
|
-
pycwb/workflow/subflow/supercluster_and_likelihood.py
|
|
398
|
+
pycwb/workflow/subflow/process_job_segment.py
|
|
@@ -27,7 +27,7 @@ exclude_patterns = ["pycwb/vendor/*", ".DS_Store"]
|
|
|
27
27
|
# -- Options for HTML output -------------------------------------------------
|
|
28
28
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
29
29
|
|
|
30
|
-
html_theme =
|
|
30
|
+
html_theme = "furo"
|
|
31
31
|
html_static_path = ['_static']
|
|
32
32
|
|
|
33
33
|
# -- external links ----------------------------------------------------------
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.. _schema:
|
|
2
|
+
|
|
3
|
+
User Parameters
|
|
4
|
+
----------------
|
|
5
|
+
|
|
6
|
+
The default schema for user parameters is:
|
|
7
|
+
|
|
8
|
+
.. exec::
|
|
9
|
+
import json
|
|
10
|
+
from pycwb.constants import user_parameters_schema
|
|
11
|
+
from pycwb.utils.generate_params_table import generate_rst_table, parse_description, parse_type_or_enum
|
|
12
|
+
|
|
13
|
+
print(generate_rst_table(user_parameters_schema["properties"]))
|
|
14
|
+
# json_obj = json.dumps(user_parameters_schema, sort_keys=True, indent=4)
|
|
15
|
+
# print('.. code-block:: JavaScript\n\n %s\n\n' % json_obj)
|
|
@@ -73,9 +73,25 @@ def init_parser(parser):
|
|
|
73
73
|
'-j',
|
|
74
74
|
metavar='job_per_worker',
|
|
75
75
|
type=int,
|
|
76
|
-
default=
|
|
76
|
+
default=1,
|
|
77
77
|
help='the number of jobs per worker')
|
|
78
78
|
|
|
79
|
+
# memory
|
|
80
|
+
parser.add_argument('--memory',
|
|
81
|
+
'-m',
|
|
82
|
+
metavar='memory',
|
|
83
|
+
type=str,
|
|
84
|
+
default='6GB',
|
|
85
|
+
help='the memory for each job')
|
|
86
|
+
|
|
87
|
+
# disk
|
|
88
|
+
parser.add_argument('--disk',
|
|
89
|
+
'-k',
|
|
90
|
+
metavar='disk',
|
|
91
|
+
type=str,
|
|
92
|
+
default='4GB',
|
|
93
|
+
help='the disk space for each job')
|
|
94
|
+
|
|
79
95
|
# compress json
|
|
80
96
|
parser.add_argument('--compress_json',
|
|
81
97
|
action='store_true',
|
|
@@ -124,6 +140,8 @@ def command(args):
|
|
|
124
140
|
conda_env=args.conda_env,
|
|
125
141
|
additional_init=args.additional_init,
|
|
126
142
|
n_proc=args.n_proc,
|
|
143
|
+
memory=args.memory,
|
|
144
|
+
disk=args.disk,
|
|
127
145
|
accounting_group=args.accounting_group,
|
|
128
146
|
job_per_worker=args.job_per_worker,
|
|
129
147
|
submit=args.submit,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import logging
|
|
3
3
|
from filelock import SoftFileLock
|
|
4
|
-
import
|
|
4
|
+
import orjson
|
|
5
5
|
import pycwb
|
|
6
6
|
from pycwb.config import Config
|
|
7
7
|
from pycwb.types.job import WaveSegment
|
|
@@ -32,13 +32,13 @@ def create_catalog(filename: str, config: Config, jobs: list[WaveSegment]) -> No
|
|
|
32
32
|
output = {
|
|
33
33
|
"config": config.__dict__,
|
|
34
34
|
"version": pycwb.__version__,
|
|
35
|
-
"jobs":
|
|
35
|
+
"jobs": jobs,
|
|
36
36
|
"events": []
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
with SoftFileLock(filename + ".lock", timeout=10):
|
|
40
|
-
with open(filename, '
|
|
41
|
-
|
|
40
|
+
with open(filename, 'wb') as f:
|
|
41
|
+
f.write(orjson.dumps(output, option=orjson.OPT_SERIALIZE_NUMPY))
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
def add_events_to_catalog(filename: str, events: list[Event]) -> None:
|
|
@@ -64,13 +64,13 @@ def add_events_to_catalog(filename: str, events: list[Event]) -> None:
|
|
|
64
64
|
if os.path.exists(filename):
|
|
65
65
|
with SoftFileLock(filename + ".lock", timeout=10):
|
|
66
66
|
# read the json file
|
|
67
|
-
with open(filename, '
|
|
68
|
-
catalog =
|
|
67
|
+
with open(filename, 'rb+') as f:
|
|
68
|
+
catalog = orjson.loads(f.read())
|
|
69
69
|
# append events
|
|
70
70
|
catalog["events"].extend(events)
|
|
71
71
|
# write the json file
|
|
72
72
|
f.seek(0)
|
|
73
|
-
|
|
73
|
+
f.write(orjson.dumps(catalog, option=orjson.OPT_SERIALIZE_NUMPY))
|
|
74
74
|
else:
|
|
75
75
|
logger.warning("Catalog file does not exist. Event will not be saved to catalog.")
|
|
76
76
|
|
|
@@ -24,6 +24,7 @@ def whitening(config, h):
|
|
|
24
24
|
layers_white = 2 ** config.l_white if config.l_white > 0 else 2 ** config.l_high
|
|
25
25
|
wdm_white = WDM(layers_white, layers_white, config.WDM_beta_order, config.WDM_precision)
|
|
26
26
|
|
|
27
|
+
# TODO: check the length of data and white parameters to prevent freezing
|
|
27
28
|
# check if whitening WDM filter lenght is less than cwb scratch
|
|
28
29
|
wdmFlen = wdm_white.m_H / config.rateANA
|
|
29
30
|
if wdmFlen > config.segEdge + 0.001:
|
|
@@ -101,7 +101,7 @@ def get_seg_list(ifo, dq_list, seg_len, seg_mls, seg_edge):
|
|
|
101
101
|
return []
|
|
102
102
|
|
|
103
103
|
|
|
104
|
-
def get_job_list(ifos, dq_list, seg_len, seg_mls, seg_edge, sample_rate):
|
|
104
|
+
def get_job_list(ifos, dq_list, seg_len, seg_mls, seg_edge, sample_rate, shift=None, index_start=0):
|
|
105
105
|
"""
|
|
106
106
|
Build the job segment list.
|
|
107
107
|
|
|
@@ -128,6 +128,10 @@ def get_job_list(ifos, dq_list, seg_len, seg_mls, seg_edge, sample_rate):
|
|
|
128
128
|
:type seg_edge: int
|
|
129
129
|
:param sample_rate: sample rate [Hz]
|
|
130
130
|
:type sample_rate: int
|
|
131
|
+
:param shift: list of shifts for each interferometer, used for superlags
|
|
132
|
+
:type shift: list[float]
|
|
133
|
+
:param index_start: index of the first segment
|
|
134
|
+
:type index_start: int
|
|
131
135
|
:return: Return the job segment list
|
|
132
136
|
:rtype: list[WaveSegment]
|
|
133
137
|
"""
|
|
@@ -138,7 +142,7 @@ def get_job_list(ifos, dq_list, seg_len, seg_mls, seg_edge, sample_rate):
|
|
|
138
142
|
lostlivetime = 0
|
|
139
143
|
job_list = []
|
|
140
144
|
|
|
141
|
-
seg_index =
|
|
145
|
+
seg_index = index_start
|
|
142
146
|
|
|
143
147
|
for i in range(len(dq_list[0])):
|
|
144
148
|
start = math.ceil(dq_list[0][i]) + seg_edge
|
|
@@ -154,7 +158,7 @@ def get_job_list(ifos, dq_list, seg_len, seg_mls, seg_edge, sample_rate):
|
|
|
154
158
|
continue
|
|
155
159
|
seg_index += 1
|
|
156
160
|
job_list.append(WaveSegment(seg_index, ifos, start, stop,
|
|
157
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
161
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
158
162
|
continue
|
|
159
163
|
if n == 1:
|
|
160
164
|
if length > seg_len:
|
|
@@ -163,39 +167,39 @@ def get_job_list(ifos, dq_list, seg_len, seg_mls, seg_edge, sample_rate):
|
|
|
163
167
|
if half >= seg_mls:
|
|
164
168
|
seg_index += 1
|
|
165
169
|
job_list.append(WaveSegment(seg_index, ifos, start, start + half,
|
|
166
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
170
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
167
171
|
|
|
168
172
|
seg_index += 1
|
|
169
173
|
job_list.append(WaveSegment(seg_index, ifos, start + half, stop,
|
|
170
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
174
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
171
175
|
else:
|
|
172
176
|
seg_index += 1
|
|
173
177
|
job_list.append(WaveSegment(seg_index, ifos, start, start + seg_len,
|
|
174
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
178
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
175
179
|
else:
|
|
176
180
|
seg_index += 1
|
|
177
181
|
job_list.append(WaveSegment(i, ifos, start, stop,
|
|
178
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
182
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
179
183
|
continue
|
|
180
184
|
|
|
181
185
|
for j in range(n - 1):
|
|
182
186
|
seg_index += 1
|
|
183
187
|
job_list.append(WaveSegment(seg_index, ifos, seg_len * j + start, seg_len * j + start + seg_len,
|
|
184
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
188
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
185
189
|
|
|
186
190
|
remainder = stop - job_list[-1].end_time
|
|
187
191
|
half = int(remainder / 2)
|
|
188
192
|
if half >= seg_mls:
|
|
189
193
|
seg_index += 1
|
|
190
194
|
job_list.append(WaveSegment(seg_index, ifos, job_list[-1].end_time, job_list[-1].end_time + half,
|
|
191
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
195
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
192
196
|
seg_index += 1
|
|
193
197
|
job_list.append(WaveSegment(seg_index, ifos, job_list[-1].end_time, stop,
|
|
194
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
198
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
195
199
|
else:
|
|
196
200
|
seg_index += 1
|
|
197
201
|
job_list.append(WaveSegment(seg_index, ifos, job_list[-1].end_time, job_list[-1].end_time + seg_len,
|
|
198
|
-
seg_edge=seg_edge, sample_rate=sample_rate))
|
|
202
|
+
seg_edge=seg_edge, sample_rate=sample_rate, shift=shift))
|
|
199
203
|
|
|
200
204
|
logger.info('lost livetime after building of the standard job list = %d sec' % lostlivetime)
|
|
201
205
|
|
|
@@ -81,16 +81,16 @@ def select_frame_list(frame_list, start, stop, seg_edge):
|
|
|
81
81
|
return frame_list
|
|
82
82
|
|
|
83
83
|
|
|
84
|
-
def get_frame_files_from_gwdatafind(
|
|
84
|
+
def get_frame_files_from_gwdatafind(ifo, site, frametype, start, stop, seg_edge, host=None):
|
|
85
85
|
"""
|
|
86
86
|
Use gwdatafind to get the frame files for the job segments
|
|
87
87
|
|
|
88
|
-
:param
|
|
89
|
-
:type
|
|
90
|
-
:param
|
|
91
|
-
:type
|
|
92
|
-
:param
|
|
93
|
-
:type
|
|
88
|
+
:param ifo: name of the interferometer
|
|
89
|
+
:type ifo: str
|
|
90
|
+
:param site: site name of the interferometer
|
|
91
|
+
:type site: str
|
|
92
|
+
:param frametype: frame type
|
|
93
|
+
:type frametype: str
|
|
94
94
|
:param start: start time of the segment
|
|
95
95
|
:type start: int or float
|
|
96
96
|
:param stop: stop time of the segment
|
|
@@ -109,17 +109,19 @@ def get_frame_files_from_gwdatafind(ifos, sites, frametypes, start, stop, seg_ed
|
|
|
109
109
|
seg_stop = stop + seg_edge
|
|
110
110
|
|
|
111
111
|
frame_list = []
|
|
112
|
-
for i, frametype in enumerate(frametypes):
|
|
113
|
-
url = find_urls(sites[i], frametype, seg_start, seg_stop, host=host)
|
|
114
|
-
frame_paths = [fp.replace("file://localhost", "") for fp in url]
|
|
115
112
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
113
|
+
url = find_urls(site, frametype, seg_start, seg_stop, host=host)
|
|
114
|
+
frame_paths = [fp.replace("file://localhost", "") for fp in url]
|
|
115
|
+
|
|
116
|
+
for frame_path in frame_paths:
|
|
117
|
+
# get the file name without the extension with pathlib
|
|
118
|
+
frame_name = Path(frame_path).stem
|
|
119
|
+
# get the gps time and duration with int type
|
|
120
|
+
gps_start, duration = [int(i) for i in frame_name.split("-")[-2:]]
|
|
121
|
+
# append the frame file to the list
|
|
122
|
+
frame_list.append(FrameFile(ifo, frame_path, gps_start, duration))
|
|
123
|
+
|
|
124
|
+
# TODO: check if the framefiles match with the seg_start and seg_stop
|
|
123
125
|
|
|
124
126
|
return frame_list
|
|
125
127
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
|
+
import numpy as np
|
|
3
4
|
import orjson
|
|
4
5
|
|
|
5
|
-
from .
|
|
6
|
-
from .dq_segment import read_seg_list, get_seg_list, get_job_list
|
|
6
|
+
from .dq_segment import read_seg_list, get_job_list, merge_seg_list
|
|
7
7
|
from .frame import get_frame_meta, select_frame_list, get_frame_files_from_gwdatafind
|
|
8
8
|
from pycwb.types.job import WaveSegment
|
|
9
|
+
from ..superlag import generate_slags
|
|
9
10
|
from ...utils.module import import_helper
|
|
10
11
|
from pycwb.modules.gracedb import get_superevent_t0
|
|
11
12
|
|
|
@@ -36,7 +37,11 @@ def create_job_segment_from_config(config):
|
|
|
36
37
|
job_segments = None
|
|
37
38
|
periods = None
|
|
38
39
|
|
|
40
|
+
############################################
|
|
39
41
|
## generate job segments based on the configuration if the DQ files or periods are specified
|
|
42
|
+
############################################
|
|
43
|
+
|
|
44
|
+
## generate the period with given gps times or superevent id
|
|
40
45
|
# case 1: gps_start and gps_end are specified
|
|
41
46
|
if config.gps_start and config.gps_end:
|
|
42
47
|
periods = ([config.gps_start], [config.gps_end])
|
|
@@ -53,34 +58,46 @@ def create_job_segment_from_config(config):
|
|
|
53
58
|
gps_center = int(get_superevent_t0(config.superevent))
|
|
54
59
|
periods = ([gps_center - config.time_left], [gps_center + config.time_right])
|
|
55
60
|
|
|
56
|
-
|
|
61
|
+
## create job segments
|
|
57
62
|
if config.dq_files or periods:
|
|
58
63
|
# get the job segments from the DQ files
|
|
59
64
|
job_segments = job_segment_from_dq(config.dq_files, config.ifo,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
config.segLen, config.segMLS, config.segEdge, config.segOverlap,
|
|
66
|
+
config.rateANA, config.l_high, config.inRate, periods=periods,
|
|
67
|
+
slag_size=config.slagSize, slag_off=config.slagOff,
|
|
68
|
+
slag_min=config.slagMin, slag_max=config.slagMax)
|
|
69
|
+
|
|
70
|
+
############################################
|
|
71
|
+
## injections on job segments
|
|
72
|
+
############################################
|
|
63
73
|
|
|
64
|
-
## if only simulation mode is specified without DQ files or periods,
|
|
74
|
+
## Case 1: if only simulation mode is specified without DQ files or periods,
|
|
65
75
|
# create job segments based on the injection parameters
|
|
66
76
|
if config.simulation and job_segments is None:
|
|
67
77
|
# TODO: split out the injection part for other job types
|
|
68
78
|
job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection,
|
|
69
79
|
config.inRate, config.segEdge)
|
|
70
80
|
|
|
71
|
-
## TODO: when the DQ files and simulation both are specified, inject the parameters into the job segments
|
|
81
|
+
## TODO: Case 2: when the DQ files and simulation both are specified, inject the parameters into the job segments
|
|
72
82
|
|
|
83
|
+
############################################
|
|
84
|
+
## Load the frames if frFiles or gwdatafind specified
|
|
85
|
+
############################################
|
|
73
86
|
# attach the frame files to the job segments if defined
|
|
74
87
|
if config.frFiles:
|
|
88
|
+
# if frFiles exist, attach the given framefiles to the job segments
|
|
75
89
|
attach_frame_files_to_job_segments(job_segments, config.ifo, config.frFiles, config.segEdge)
|
|
76
90
|
|
|
77
91
|
if config.gwdatafind:
|
|
92
|
+
# if gwdatafind specified, use gwdatafind to fetch the frame files for each job segment
|
|
78
93
|
gwdatafind_frames_for_job_segments(job_segments, config.ifo, config.gwdatafind, config.segEdge)
|
|
79
|
-
|
|
94
|
+
|
|
95
|
+
# attach the channel names to the job segments from config for self-contained information
|
|
80
96
|
if config.channelNamesRaw:
|
|
81
97
|
for job_seg in job_segments:
|
|
82
98
|
job_seg.channels = config.channelNamesRaw
|
|
83
99
|
|
|
100
|
+
############################################
|
|
84
101
|
## TODO: check if the job segments are valid
|
|
85
102
|
logger.info(f"Number of segments: {len(job_segments)}")
|
|
86
103
|
logger.info("-" * 80)
|
|
@@ -127,34 +144,60 @@ def job_segment_from_dq(dq_file_list, ifos, seg_len, seg_mls, seg_edge, seg_over
|
|
|
127
144
|
:return: The job segment.
|
|
128
145
|
:rtype: WaveSegment
|
|
129
146
|
"""
|
|
147
|
+
# merge the DQ segments for each interferometer
|
|
148
|
+
seg_lists = []
|
|
149
|
+
for ifo in ifos:
|
|
150
|
+
dq_files = [dq_file for dq_file in dq_file_list if dq_file.ifo == ifo]
|
|
151
|
+
cat1_list = read_seg_list(dq_files, 'CWB_CAT1')
|
|
152
|
+
seg_lists.append(cat1_list)
|
|
153
|
+
|
|
154
|
+
# for zero super lag, merge the segments, and get the standard job segments
|
|
155
|
+
merged_seg_list = seg_lists[0]
|
|
156
|
+
for seg_list in seg_lists[1:]:
|
|
157
|
+
merged_seg_list = merge_seg_list(merged_seg_list, seg_list)
|
|
158
|
+
|
|
159
|
+
job_segments = []
|
|
160
|
+
# for super lag, shift the cat1 list and merge the segments
|
|
130
161
|
if slag_size > 0:
|
|
131
|
-
# TODO:
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
for slag in slag_list:
|
|
148
|
-
logger.info(f"SuperLag={slag.slag_id[0]} jobID={slag.job_id}")
|
|
149
|
-
for n in range(len(ifos)):
|
|
150
|
-
logger.info(f"segID[{slag.slag_id[1]}]={slag.seg_id[n]}")
|
|
151
|
-
|
|
152
|
-
raise Exception("Not finished")
|
|
153
|
-
|
|
162
|
+
# TODO: add checks on maximum super lag size
|
|
163
|
+
slags = generate_slags(len(ifos), slag_min, slag_max, slag_off, slag_size)
|
|
164
|
+
|
|
165
|
+
for slag in slags:
|
|
166
|
+
slag_seg_lists = []
|
|
167
|
+
for ifo, j in enumerate(slag):
|
|
168
|
+
slag_seg_lists.append(np.array(seg_lists[ifo]) + j * seg_len)
|
|
169
|
+
|
|
170
|
+
merged_slag_seg_list = slag_seg_lists[0]
|
|
171
|
+
for seg_list in slag_seg_lists[1:]:
|
|
172
|
+
merged_slag_seg_list = merge_seg_list(merged_slag_seg_list, seg_list)
|
|
173
|
+
print('live time', merged_slag_seg_list[1][0] - merged_slag_seg_list[0][0])
|
|
174
|
+
job_segments += get_job_list(ifos, merged_seg_list, seg_len, seg_mls,
|
|
175
|
+
seg_edge=seg_edge, sample_rate=sample_rate,
|
|
176
|
+
shift=np.array(slag) * seg_len, index_start=len(job_segments))
|
|
154
177
|
else:
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
178
|
+
job_segments += get_job_list(ifos, merged_seg_list, seg_len, seg_mls, seg_edge, sample_rate)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
# cat1_list = read_seg_list(dq_file_list, 'CWB_CAT1', periods)
|
|
182
|
+
#
|
|
183
|
+
# # Get number/list of available super lag jobs
|
|
184
|
+
# # Compute the available segments with length=segLen contained between the interval [min,max]
|
|
185
|
+
# # Where min,max are the minimum and macimum times in the cat1List list
|
|
186
|
+
# # The start time of each segment is forced to be a multiple of segLen
|
|
187
|
+
# slag_job_list = get_slag_job_list(cat1_list, seg_len)
|
|
188
|
+
#
|
|
189
|
+
# slag_segments = len(slag_job_list)
|
|
190
|
+
#
|
|
191
|
+
# # Get super lag list : slagList
|
|
192
|
+
# # Is the list of available segment shifts according to the slag configuration parameters
|
|
193
|
+
# slag_list = get_slag_list(slag_segments, slag_size, slag_segments, slag_off, slag_min, slag_max, slag_site,
|
|
194
|
+
# slag_file)
|
|
195
|
+
#
|
|
196
|
+
# for slag in slag_list:
|
|
197
|
+
# logger.info(f"SuperLag={slag.slag_id[0]} jobID={slag.job_id}")
|
|
198
|
+
# for n in range(len(ifos)):
|
|
199
|
+
# logger.info(f"segID[{slag.slag_id[1]}]={slag.seg_id[n]}")
|
|
200
|
+
# raise Exception("Not finished")
|
|
158
201
|
|
|
159
202
|
rate_min = rateANA >> l_high
|
|
160
203
|
for job_seg in job_segments:
|
|
@@ -178,14 +221,20 @@ def job_segment_from_dq(dq_file_list, ifos, seg_len, seg_mls, seg_edge, seg_over
|
|
|
178
221
|
|
|
179
222
|
def attach_frame_files_to_job_segments(job_segments, ifos, fr_files, seg_edge):
|
|
180
223
|
# Get frame file list
|
|
181
|
-
frame_files =
|
|
182
|
-
for i in
|
|
183
|
-
frame_files
|
|
224
|
+
frame_files = {}
|
|
225
|
+
for i, ifo in enumerate(ifos):
|
|
226
|
+
frame_files[ifo] = get_frame_meta(fr_files[i], ifo)
|
|
184
227
|
|
|
185
228
|
# Select frame files for each job segment
|
|
186
|
-
# TODO: this is only for simple job segment
|
|
187
229
|
for job_seg in job_segments:
|
|
188
|
-
job_seg.frames
|
|
230
|
+
if job_seg.frames is None:
|
|
231
|
+
job_seg.frames = []
|
|
232
|
+
for ifo in ifos:
|
|
233
|
+
job_seg.frames += select_frame_list(frame_files[ifo],
|
|
234
|
+
job_seg.physical_start_times[ifo],
|
|
235
|
+
job_seg.physical_end_times[ifo],
|
|
236
|
+
seg_edge)
|
|
237
|
+
# job_seg.frames = select_frame_list(frame_files, job_seg.start_time, job_seg.end_time, seg_edge)
|
|
189
238
|
|
|
190
239
|
|
|
191
240
|
def gwdatafind_frames_for_job_segments(job_segments, ifos, gwdatafind, seg_edge):
|
|
@@ -211,8 +260,15 @@ def gwdatafind_frames_for_job_segments(job_segments, ifos, gwdatafind, seg_edge)
|
|
|
211
260
|
host = gwdatafind.get('host')
|
|
212
261
|
|
|
213
262
|
for job_seg in job_segments:
|
|
214
|
-
job_seg.frames
|
|
215
|
-
|
|
263
|
+
if job_seg.frames is None:
|
|
264
|
+
job_seg.frames = []
|
|
265
|
+
for i, ifo in enumerate(ifos):
|
|
266
|
+
job_seg.frames += get_frame_files_from_gwdatafind(ifo, gwdatafind['site'][i], gwdatafind['frametype'][i],
|
|
267
|
+
job_seg.physical_start_times[ifo],
|
|
268
|
+
job_seg.physical_end_times[ifo],
|
|
269
|
+
seg_edge, host=host)
|
|
270
|
+
# job_seg.frames = get_frame_files_from_gwdatafind(ifos, gwdatafind['site'], gwdatafind['frametype'],
|
|
271
|
+
# job_seg.start_time, job_seg.end_time, seg_edge, host=host)
|
|
216
272
|
|
|
217
273
|
|
|
218
274
|
def create_job_segment_from_injection(ifo, simulation_mode, injection, sample_rate, seg_edge):
|