lalsuite 7.26.2.dev20251210__cp312-cp312-macosx_12_0_arm64.whl

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 (749) hide show
  1. lal/.dylibs/Python +0 -0
  2. lal/.dylibs/libaec.0.dylib +0 -0
  3. lal/.dylibs/libbrotlicommon.1.2.0.dylib +0 -0
  4. lal/.dylibs/libbrotlidec.1.2.0.dylib +0 -0
  5. lal/.dylibs/libcfitsio.10.4.4.1.dylib +0 -0
  6. lal/.dylibs/libcrypto.3.dylib +0 -0
  7. lal/.dylibs/libcurl.4.dylib +0 -0
  8. lal/.dylibs/libfftw3.3.dylib +0 -0
  9. lal/.dylibs/libfftw3f.3.dylib +0 -0
  10. lal/.dylibs/libframel.8.48.4.dylib +0 -0
  11. lal/.dylibs/libgsl.28.dylib +0 -0
  12. lal/.dylibs/libgslcblas.0.dylib +0 -0
  13. lal/.dylibs/libhdf5.310.dylib +0 -0
  14. lal/.dylibs/libhdf5_hl.310.dylib +0 -0
  15. lal/.dylibs/libiconv.2.dylib +0 -0
  16. lal/.dylibs/libidn2.0.dylib +0 -0
  17. lal/.dylibs/libintl.8.dylib +0 -0
  18. lal/.dylibs/liblal.20.dylib +0 -0
  19. lal/.dylibs/liblalburst.8.dylib +0 -0
  20. lal/.dylibs/liblalframe.14.dylib +0 -0
  21. lal/.dylibs/liblalinference.23.dylib +0 -0
  22. lal/.dylibs/liblalinspiral.18.dylib +0 -0
  23. lal/.dylibs/liblalmetaio.11.dylib +0 -0
  24. lal/.dylibs/liblalpulsar.30.dylib +0 -0
  25. lal/.dylibs/liblalsimulation.37.dylib +0 -0
  26. lal/.dylibs/liblalsupport.14.dylib +0 -0
  27. lal/.dylibs/libmetaio.1.dylib +0 -0
  28. lal/.dylibs/libnghttp2.14.dylib +0 -0
  29. lal/.dylibs/libpsl.5.dylib +0 -0
  30. lal/.dylibs/libssl.3.dylib +0 -0
  31. lal/.dylibs/libsz.2.dylib +0 -0
  32. lal/.dylibs/libunistring.5.dylib +0 -0
  33. lal/.dylibs/libz.1.3.1.dylib +0 -0
  34. lal/.dylibs/libzstd.1.5.7.dylib +0 -0
  35. lal/__init__.py +145 -0
  36. lal/_lal.cpython-312-darwin.so +0 -0
  37. lal/_lal_swig.py +12 -0
  38. lal/antenna.py +1200 -0
  39. lal/git_version.py +64 -0
  40. lal/gpstime.py +233 -0
  41. lal/iterutils.py +408 -0
  42. lal/pipeline.py +3139 -0
  43. lal/rate.py +2455 -0
  44. lal/series.py +244 -0
  45. lal/utils/__init__.py +29 -0
  46. lal/utils/cache.py +379 -0
  47. lal/utils/series.py +277 -0
  48. lalapps/__init__.py +26 -0
  49. lalapps/bin/lal_cache +0 -0
  50. lalapps/bin/lal_fftw_wisdom +0 -0
  51. lalapps/bin/lal_fftwf_wisdom +0 -0
  52. lalapps/bin/lal_simd_detect +0 -0
  53. lalapps/bin/lal_tconvert +0 -0
  54. lalapps/bin/lal_version +0 -0
  55. lalapps/bin/lalapps_ComputeAntennaPattern +16 -0
  56. lalapps/bin/lalapps_ComputeFstatBenchmark +16 -0
  57. lalapps/bin/lalapps_ComputeFstatLatticeCount +16 -0
  58. lalapps/bin/lalapps_ComputeFstatMCUpperLimit +16 -0
  59. lalapps/bin/lalapps_ComputeFstatistic_v2 +16 -0
  60. lalapps/bin/lalapps_ComputePSD +16 -0
  61. lalapps/bin/lalapps_CopySFTs +16 -0
  62. lalapps/bin/lalapps_DistanceVsMass +0 -0
  63. lalapps/bin/lalapps_DriveHoughMulti +16 -0
  64. lalapps/bin/lalapps_FstatMetric_v2 +16 -0
  65. lalapps/bin/lalapps_HierarchSearchGCT +16 -0
  66. lalapps/bin/lalapps_HierarchicalSearch +16 -0
  67. lalapps/bin/lalapps_MakeSFTDAG +16 -0
  68. lalapps/bin/lalapps_MakeSFTs +16 -0
  69. lalapps/bin/lalapps_Makefakedata_v4 +16 -0
  70. lalapps/bin/lalapps_Makefakedata_v5 +16 -0
  71. lalapps/bin/lalapps_PredictFstat +16 -0
  72. lalapps/bin/lalapps_PrintDetectorState +16 -0
  73. lalapps/bin/lalapps_SFTclean +16 -0
  74. lalapps/bin/lalapps_SFTvalidate +16 -0
  75. lalapps/bin/lalapps_StringAddFrame +0 -0
  76. lalapps/bin/lalapps_StringSearch +0 -0
  77. lalapps/bin/lalapps_Weave +16 -0
  78. lalapps/bin/lalapps_WeaveCompare +16 -0
  79. lalapps/bin/lalapps_WeaveConcat +16 -0
  80. lalapps/bin/lalapps_WeaveSetup +16 -0
  81. lalapps/bin/lalapps_WriteSFTsfromSFDBs +16 -0
  82. lalapps/bin/lalapps_animate +0 -0
  83. lalapps/bin/lalapps_binj +0 -0
  84. lalapps/bin/lalapps_blindinj +0 -0
  85. lalapps/bin/lalapps_cache +16 -0
  86. lalapps/bin/lalapps_calfacs +0 -0
  87. lalapps/bin/lalapps_cbc_stochasticbank +0 -0
  88. lalapps/bin/lalapps_chirplen +0 -0
  89. lalapps/bin/lalapps_coh_PTF_inspiral +0 -0
  90. lalapps/bin/lalapps_coinj +0 -0
  91. lalapps/bin/lalapps_combine_crosscorr_toplists +16 -0
  92. lalapps/bin/lalapps_compareFstats +16 -0
  93. lalapps/bin/lalapps_compareSFTs +16 -0
  94. lalapps/bin/lalapps_create_time_correction_ephemeris +16 -0
  95. lalapps/bin/lalapps_dumpSFT +16 -0
  96. lalapps/bin/lalapps_effdist +0 -0
  97. lalapps/bin/lalapps_exc_resp +0 -0
  98. lalapps/bin/lalapps_fftw_wisdom +16 -0
  99. lalapps/bin/lalapps_fftwf_wisdom +16 -0
  100. lalapps/bin/lalapps_fits_header_getval +16 -0
  101. lalapps/bin/lalapps_fits_header_list +16 -0
  102. lalapps/bin/lalapps_fits_overview +16 -0
  103. lalapps/bin/lalapps_fits_table_list +16 -0
  104. lalapps/bin/lalapps_fr_ninja +0 -0
  105. lalapps/bin/lalapps_frextr +0 -0
  106. lalapps/bin/lalapps_frinfo +0 -0
  107. lalapps/bin/lalapps_frjoin +0 -0
  108. lalapps/bin/lalapps_frread +0 -0
  109. lalapps/bin/lalapps_frview +0 -0
  110. lalapps/bin/lalapps_gwf2xml +0 -0
  111. lalapps/bin/lalapps_heterodyne_pulsar +16 -0
  112. lalapps/bin/lalapps_inspawgfile +0 -0
  113. lalapps/bin/lalapps_inspfrinj +0 -0
  114. lalapps/bin/lalapps_inspinj +0 -0
  115. lalapps/bin/lalapps_inspiralDistance +0 -0
  116. lalapps/bin/lalapps_knope +16 -0
  117. lalapps/bin/lalapps_knope_automation_script +16 -0
  118. lalapps/bin/lalapps_knope_collate_results +16 -0
  119. lalapps/bin/lalapps_knope_result_page +16 -0
  120. lalapps/bin/lalapps_makeblindinj +85 -0
  121. lalapps/bin/lalapps_makeblindinj_himass +67 -0
  122. lalapps/bin/lalapps_ninja +0 -0
  123. lalapps/bin/lalapps_path2cache +16 -0
  124. lalapps/bin/lalapps_power +0 -0
  125. lalapps/bin/lalapps_pulsar_crosscorr_v2 +16 -0
  126. lalapps/bin/lalapps_pulsar_frequency_evolution +16 -0
  127. lalapps/bin/lalapps_pulsar_parameter_estimation_nested +16 -0
  128. lalapps/bin/lalapps_random_bank +0 -0
  129. lalapps/bin/lalapps_randombank +0 -0
  130. lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +16 -0
  131. lalapps/bin/lalapps_searchsum2cache +16 -0
  132. lalapps/bin/lalapps_spec_avg +16 -0
  133. lalapps/bin/lalapps_spec_avg_long +16 -0
  134. lalapps/bin/lalapps_spec_coherence +16 -0
  135. lalapps/bin/lalapps_spininj +0 -0
  136. lalapps/bin/lalapps_splitSFTs +16 -0
  137. lalapps/bin/lalapps_splitbank +0 -0
  138. lalapps/bin/lalapps_ssbtodetector +16 -0
  139. lalapps/bin/lalapps_synthesizeBstatMC +16 -0
  140. lalapps/bin/lalapps_synthesizeLVStats +16 -0
  141. lalapps/bin/lalapps_synthesizeTransientStats +16 -0
  142. lalapps/bin/lalapps_tconvert +16 -0
  143. lalapps/bin/lalapps_tmpltbank +0 -0
  144. lalapps/bin/lalapps_version +0 -0
  145. lalapps/bin/lalapps_xtefitstoframe +0 -0
  146. lalapps/bin/lalburst_version +0 -0
  147. lalapps/bin/lalfr-cat +0 -0
  148. lalapps/bin/lalfr-cksum +0 -0
  149. lalapps/bin/lalfr-cut +0 -0
  150. lalapps/bin/lalfr-dump +0 -0
  151. lalapps/bin/lalfr-fmt +0 -0
  152. lalapps/bin/lalfr-paste +0 -0
  153. lalapps/bin/lalfr-print +0 -0
  154. lalapps/bin/lalfr-split +0 -0
  155. lalapps/bin/lalfr-stat +0 -0
  156. lalapps/bin/lalfr-stream +0 -0
  157. lalapps/bin/lalfr-vis +0 -0
  158. lalapps/bin/lalframe_version +0 -0
  159. lalapps/bin/lalinference_bench +0 -0
  160. lalapps/bin/lalinference_burst +0 -0
  161. lalapps/bin/lalinference_datadump +0 -0
  162. lalapps/bin/lalinference_injectedlike +0 -0
  163. lalapps/bin/lalinference_mpi_wrapper +59 -0
  164. lalapps/bin/lalinference_nest +0 -0
  165. lalapps/bin/lalinference_version +0 -0
  166. lalapps/bin/lalinspiral_version +0 -0
  167. lalapps/bin/lalmetaio_version +0 -0
  168. lalapps/bin/lalpulsar_ComputeAntennaPattern +0 -0
  169. lalapps/bin/lalpulsar_ComputeFstatBenchmark +0 -0
  170. lalapps/bin/lalpulsar_ComputeFstatLatticeCount +0 -0
  171. lalapps/bin/lalpulsar_ComputeFstatMCUpperLimit +0 -0
  172. lalapps/bin/lalpulsar_ComputeFstatistic_v2 +0 -0
  173. lalapps/bin/lalpulsar_ComputePSD +0 -0
  174. lalapps/bin/lalpulsar_DriveHoughMulti +0 -0
  175. lalapps/bin/lalpulsar_FstatMetric_v2 +0 -0
  176. lalapps/bin/lalpulsar_HierarchSearchGCT +0 -0
  177. lalapps/bin/lalpulsar_HierarchicalSearch +0 -0
  178. lalapps/bin/lalpulsar_MakeSFTs +0 -0
  179. lalapps/bin/lalpulsar_Makefakedata_v4 +0 -0
  180. lalapps/bin/lalpulsar_Makefakedata_v5 +0 -0
  181. lalapps/bin/lalpulsar_PredictFstat +0 -0
  182. lalapps/bin/lalpulsar_PrintDetectorState +0 -0
  183. lalapps/bin/lalpulsar_SFTclean +0 -0
  184. lalapps/bin/lalpulsar_SFTvalidate +0 -0
  185. lalapps/bin/lalpulsar_Weave +0 -0
  186. lalapps/bin/lalpulsar_WeaveCompare +0 -0
  187. lalapps/bin/lalpulsar_WeaveConcat +0 -0
  188. lalapps/bin/lalpulsar_WeaveSetup +0 -0
  189. lalapps/bin/lalpulsar_WriteSFTsfromSFDBs +0 -0
  190. lalapps/bin/lalpulsar_compareFstats +0 -0
  191. lalapps/bin/lalpulsar_compareSFTs +0 -0
  192. lalapps/bin/lalpulsar_create_time_correction_ephemeris +0 -0
  193. lalapps/bin/lalpulsar_crosscorr_v2 +0 -0
  194. lalapps/bin/lalpulsar_dumpSFT +0 -0
  195. lalapps/bin/lalpulsar_fits_header_getval +0 -0
  196. lalapps/bin/lalpulsar_fits_header_list +0 -0
  197. lalapps/bin/lalpulsar_fits_overview +0 -0
  198. lalapps/bin/lalpulsar_fits_table_list +0 -0
  199. lalapps/bin/lalpulsar_frequency_evolution +0 -0
  200. lalapps/bin/lalpulsar_heterodyne +0 -0
  201. lalapps/bin/lalpulsar_parameter_estimation_nested +0 -0
  202. lalapps/bin/lalpulsar_spec_avg +0 -0
  203. lalapps/bin/lalpulsar_spec_avg_long +0 -0
  204. lalapps/bin/lalpulsar_spec_coherence +0 -0
  205. lalapps/bin/lalpulsar_splitSFTs +0 -0
  206. lalapps/bin/lalpulsar_ssbtodetector +0 -0
  207. lalapps/bin/lalpulsar_synthesizeBstatMC +0 -0
  208. lalapps/bin/lalpulsar_synthesizeLVStats +0 -0
  209. lalapps/bin/lalpulsar_synthesizeTransientStats +0 -0
  210. lalapps/bin/lalpulsar_version +0 -0
  211. lalapps/bin/lalsim-bh-qnmode +0 -0
  212. lalapps/bin/lalsim-bh-ringdown +0 -0
  213. lalapps/bin/lalsim-bh-sphwf +0 -0
  214. lalapps/bin/lalsim-burst +0 -0
  215. lalapps/bin/lalsim-detector-noise +0 -0
  216. lalapps/bin/lalsim-detector-strain +0 -0
  217. lalapps/bin/lalsim-inject +0 -0
  218. lalapps/bin/lalsim-inspiral +0 -0
  219. lalapps/bin/lalsim-ns-eos-table +0 -0
  220. lalapps/bin/lalsim-ns-mass-radius +0 -0
  221. lalapps/bin/lalsim-ns-params +0 -0
  222. lalapps/bin/lalsim-sgwb +0 -0
  223. lalapps/bin/lalsim-unicorn +0 -0
  224. lalapps/bin/lalsimulation_version +0 -0
  225. lalapps/cosmicstring.py +691 -0
  226. lalapps/data/BNSMasses.dat +65022 -0
  227. lalapps/data/CorrelationMatrix.csv +15 -0
  228. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1882 -0
  229. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1939 -0
  230. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1784 -0
  231. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2074 -0
  232. lalapps/data/LALSimNeutronStarEOS_ALF1.dat +435 -0
  233. lalapps/data/LALSimNeutronStarEOS_ALF2.dat +453 -0
  234. lalapps/data/LALSimNeutronStarEOS_ALF3.dat +441 -0
  235. lalapps/data/LALSimNeutronStarEOS_ALF4.dat +441 -0
  236. lalapps/data/LALSimNeutronStarEOS_AP1.dat +212 -0
  237. lalapps/data/LALSimNeutronStarEOS_AP2.dat +212 -0
  238. lalapps/data/LALSimNeutronStarEOS_AP3.dat +212 -0
  239. lalapps/data/LALSimNeutronStarEOS_AP4.dat +210 -0
  240. lalapps/data/LALSimNeutronStarEOS_APR.dat +500 -0
  241. lalapps/data/LALSimNeutronStarEOS_APR4_EPP.dat +1447 -0
  242. lalapps/data/LALSimNeutronStarEOS_BBB2.dat +84 -0
  243. lalapps/data/LALSimNeutronStarEOS_BGN1H1.dat +123 -0
  244. lalapps/data/LALSimNeutronStarEOS_BHF_BBB2.dat +499 -0
  245. lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1534 -0
  246. lalapps/data/LALSimNeutronStarEOS_BPAL12.dat +61 -0
  247. lalapps/data/LALSimNeutronStarEOS_BSK19.dat +310 -0
  248. lalapps/data/LALSimNeutronStarEOS_BSK20.dat +310 -0
  249. lalapps/data/LALSimNeutronStarEOS_BSK21.dat +310 -0
  250. lalapps/data/LALSimNeutronStarEOS_ENG.dat +108 -0
  251. lalapps/data/LALSimNeutronStarEOS_FPS.dat +129 -0
  252. lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +1010 -0
  253. lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +1009 -0
  254. lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +1009 -0
  255. lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +1010 -0
  256. lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +1009 -0
  257. lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +1010 -0
  258. lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +1010 -0
  259. lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +1010 -0
  260. lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +1009 -0
  261. lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +1010 -0
  262. lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +1010 -0
  263. lalapps/data/LALSimNeutronStarEOS_GNH3.dat +71 -0
  264. lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +1009 -0
  265. lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +1010 -0
  266. lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +1009 -0
  267. lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +1010 -0
  268. lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +1010 -0
  269. lalapps/data/LALSimNeutronStarEOS_GS1.dat +136 -0
  270. lalapps/data/LALSimNeutronStarEOS_GS2.dat +100 -0
  271. lalapps/data/LALSimNeutronStarEOS_H1.dat +114 -0
  272. lalapps/data/LALSimNeutronStarEOS_H2.dat +114 -0
  273. lalapps/data/LALSimNeutronStarEOS_H3.dat +98 -0
  274. lalapps/data/LALSimNeutronStarEOS_H4.dat +664 -0
  275. lalapps/data/LALSimNeutronStarEOS_H5.dat +703 -0
  276. lalapps/data/LALSimNeutronStarEOS_H6.dat +509 -0
  277. lalapps/data/LALSimNeutronStarEOS_H7.dat +703 -0
  278. lalapps/data/LALSimNeutronStarEOS_HQC18.dat +388 -0
  279. lalapps/data/LALSimNeutronStarEOS_KDE0V.dat +500 -0
  280. lalapps/data/LALSimNeutronStarEOS_KDE0V1.dat +500 -0
  281. lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1388 -0
  282. lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1398 -0
  283. lalapps/data/LALSimNeutronStarEOS_MPA1.dat +102 -0
  284. lalapps/data/LALSimNeutronStarEOS_MS1.dat +122 -0
  285. lalapps/data/LALSimNeutronStarEOS_MS1B.dat +126 -0
  286. lalapps/data/LALSimNeutronStarEOS_MS1B_PP.dat +1447 -0
  287. lalapps/data/LALSimNeutronStarEOS_MS1_PP.dat +1447 -0
  288. lalapps/data/LALSimNeutronStarEOS_MS2.dat +48 -0
  289. lalapps/data/LALSimNeutronStarEOS_PAL6.dat +148 -0
  290. lalapps/data/LALSimNeutronStarEOS_PCL2.dat +134 -0
  291. lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +1010 -0
  292. lalapps/data/LALSimNeutronStarEOS_PS.dat +165 -0
  293. lalapps/data/LALSimNeutronStarEOS_QMC700.dat +117 -0
  294. lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +1010 -0
  295. lalapps/data/LALSimNeutronStarEOS_RS.dat +500 -0
  296. lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1356 -0
  297. lalapps/data/LALSimNeutronStarEOS_SK255.dat +500 -0
  298. lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +1066 -0
  299. lalapps/data/LALSimNeutronStarEOS_SK272.dat +500 -0
  300. lalapps/data/LALSimNeutronStarEOS_SKA.dat +500 -0
  301. lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1433 -0
  302. lalapps/data/LALSimNeutronStarEOS_SKB.dat +500 -0
  303. lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1373 -0
  304. lalapps/data/LALSimNeutronStarEOS_SKI2.dat +500 -0
  305. lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1348 -0
  306. lalapps/data/LALSimNeutronStarEOS_SKI3.dat +500 -0
  307. lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1355 -0
  308. lalapps/data/LALSimNeutronStarEOS_SKI4.dat +497 -0
  309. lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1348 -0
  310. lalapps/data/LALSimNeutronStarEOS_SKI5.dat +500 -0
  311. lalapps/data/LALSimNeutronStarEOS_SKI6.dat +500 -0
  312. lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1358 -0
  313. lalapps/data/LALSimNeutronStarEOS_SKMP.dat +498 -0
  314. lalapps/data/LALSimNeutronStarEOS_SKOP.dat +500 -0
  315. lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1373 -0
  316. lalapps/data/LALSimNeutronStarEOS_SLY.dat +99 -0
  317. lalapps/data/LALSimNeutronStarEOS_SLY2.dat +500 -0
  318. lalapps/data/LALSimNeutronStarEOS_SLY230A.dat +500 -0
  319. lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1116 -0
  320. lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1106 -0
  321. lalapps/data/LALSimNeutronStarEOS_SLY4.dat +100 -0
  322. lalapps/data/LALSimNeutronStarEOS_SLY9.dat +498 -0
  323. lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1083 -0
  324. lalapps/data/LALSimNeutronStarEOS_SQM1.dat +176 -0
  325. lalapps/data/LALSimNeutronStarEOS_SQM2.dat +180 -0
  326. lalapps/data/LALSimNeutronStarEOS_SQM3.dat +176 -0
  327. lalapps/data/LALSimNeutronStarEOS_WFF1.dat +109 -0
  328. lalapps/data/LALSimNeutronStarEOS_WFF2.dat +109 -0
  329. lalapps/data/LALSimNeutronStarEOS_WFF3.dat +107 -0
  330. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +1227 -0
  331. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1272 -0
  332. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1280 -0
  333. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1288 -0
  334. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1288 -0
  335. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1230 -0
  336. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1288 -0
  337. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1288 -0
  338. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1288 -0
  339. lalapps/data/LIGO-P1200087-v18-AdV_BNS_OPTIMIZED.txt +3000 -0
  340. lalapps/data/LIGO-P1200087-v18-AdV_DESIGN.txt +3000 -0
  341. lalapps/data/LIGO-P1200087-v18-AdV_EARLY_HIGH.txt +3000 -0
  342. lalapps/data/LIGO-P1200087-v18-AdV_EARLY_LOW.txt +3000 -0
  343. lalapps/data/LIGO-P1200087-v18-AdV_LATE_HIGH.txt +3000 -0
  344. lalapps/data/LIGO-P1200087-v18-AdV_LATE_LOW.txt +3000 -0
  345. lalapps/data/LIGO-P1200087-v18-AdV_MID_HIGH.txt +3000 -0
  346. lalapps/data/LIGO-P1200087-v18-AdV_MID_LOW.txt +3000 -0
  347. lalapps/data/LIGO-P1200087-v18-aLIGO_BNS_OPTIMIZED.txt +3000 -0
  348. lalapps/data/LIGO-P1200087-v18-aLIGO_DESIGN.txt +3000 -0
  349. lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_HIGH.txt +3000 -0
  350. lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_LOW.txt +3000 -0
  351. lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_HIGH.txt +3000 -0
  352. lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_LOW.txt +3000 -0
  353. lalapps/data/LIGO-P1200087-v18-aLIGO_MID_HIGH.txt +3000 -0
  354. lalapps/data/LIGO-P1200087-v18-aLIGO_MID_LOW.txt +3000 -0
  355. lalapps/data/LIGO-P1600143-v18-CE.txt +3000 -0
  356. lalapps/data/LIGO-P1600143-v18-CE_Pessimistic.txt +3000 -0
  357. lalapps/data/LIGO-P1600143-v18-CE_Wideband.txt +3000 -0
  358. lalapps/data/LIGO-P1600143-v18-ET_D.txt +3000 -0
  359. lalapps/data/LIGO-T0900288-v3-BHBH_20deg.txt +3000 -0
  360. lalapps/data/LIGO-T0900288-v3-High_Freq.txt +3000 -0
  361. lalapps/data/LIGO-T0900288-v3-NO_SRM.txt +3000 -0
  362. lalapps/data/LIGO-T0900288-v3-NSNS_Opt.txt +3000 -0
  363. lalapps/data/LIGO-T0900288-v3-ZERO_DET_high_P.txt +3000 -0
  364. lalapps/data/LIGO-T0900288-v3-ZERO_DET_low_P.txt +3000 -0
  365. lalapps/data/LIGO-T1600593-v1-KAGRA_Design.txt +4000 -0
  366. lalapps/data/LIGO-T1600593-v1-KAGRA_Early.txt +4000 -0
  367. lalapps/data/LIGO-T1600593-v1-KAGRA_Late.txt +4000 -0
  368. lalapps/data/LIGO-T1600593-v1-KAGRA_Mid.txt +4000 -0
  369. lalapps/data/LIGO-T1600593-v1-KAGRA_Opening.txt +4000 -0
  370. lalapps/data/LIGO-T1800042-v5-aLIGO_APLUS.txt +3000 -0
  371. lalapps/data/LIGO-T1800044-v5-aLIGO_DESIGN.txt +3000 -0
  372. lalapps/data/LIGO-T1800545-v1-AdV_O3low.txt +3000 -0
  373. lalapps/data/LIGO-T1800545-v1-AdV_O4.txt +3000 -0
  374. lalapps/data/LIGO-T1800545-v1-AdV_O4intermediate.txt +3000 -0
  375. lalapps/data/LIGO-T1800545-v1-KAGRA_128Mpc.txt +1000 -0
  376. lalapps/data/LIGO-T1800545-v1-KAGRA_25Mpc.txt +1000 -0
  377. lalapps/data/LIGO-T1800545-v1-KAGRA_80Mpc.txt +1000 -0
  378. lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -0
  379. lalapps/data/LIGO-T1800545-v1-aLIGO_175Mpc.txt +2792 -0
  380. lalapps/data/LIGO-T1800545-v1-aLIGO_O3low.txt +2792 -0
  381. lalapps/data/bimodalMeans.csv +3 -0
  382. lalapps/data/config_tiger_example.ini +150 -0
  383. lalapps/data/fiducialBBH.xml +67 -0
  384. lalapps/data/fiducialBNS.xml +67 -0
  385. lalapps/data/inspsrcs100Mpc.errors +38735 -0
  386. lalapps/data/lalinference_pipe_example.ini +573 -0
  387. lalapps/data/lib_pipe_example.ini +303 -0
  388. lalapps/data/power_pipe.ini +129 -0
  389. lalapps/data/unimodalMeans.csv +2 -0
  390. lalapps/git_version.py +64 -0
  391. lalburst/SimBurstUtils.py +324 -0
  392. lalburst/SnglBurstUtils.py +367 -0
  393. lalburst/__init__.py +7 -0
  394. lalburst/_lalburst.cpython-312-darwin.so +0 -0
  395. lalburst/_lalburst_swig.py +16 -0
  396. lalburst/binjfind.py +824 -0
  397. lalburst/bucluster.py +409 -0
  398. lalburst/burca.py +315 -0
  399. lalburst/burca_tailor.py +349 -0
  400. lalburst/cafe.py +579 -0
  401. lalburst/calc_likelihood.py +145 -0
  402. lalburst/cs_gamma.cpython-312-darwin.so +0 -0
  403. lalburst/date.py +118 -0
  404. lalburst/git_version.py +64 -0
  405. lalburst/offsetvector.py +278 -0
  406. lalburst/packing.py +170 -0
  407. lalburst/power.py +1457 -0
  408. lalburst/snglcluster.py +136 -0
  409. lalburst/snglcoinc.py +2637 -0
  410. lalburst/stringutils.py +607 -0
  411. lalburst/timeslides.py +236 -0
  412. lalframe/__init__.py +7 -0
  413. lalframe/_lalframe.cpython-312-darwin.so +0 -0
  414. lalframe/_lalframe_swig.py +14 -0
  415. lalframe/frread.py +324 -0
  416. lalframe/git_version.py +64 -0
  417. lalframe/utils/__init__.py +25 -0
  418. lalframe/utils/frtools.py +61 -0
  419. lalinference/__init__.py +7 -0
  420. lalinference/_bayespputils.cpython-312-darwin.so +0 -0
  421. lalinference/_lalinference.cpython-312-darwin.so +0 -0
  422. lalinference/_lalinference_swig.py +19 -0
  423. lalinference/bayespputils.py +7479 -0
  424. lalinference/bayestar/__init__.py +2 -0
  425. lalinference/bayestar/deprecation.py +72 -0
  426. lalinference/git_version.py +64 -0
  427. lalinference/imrtgr/__init__.py +0 -0
  428. lalinference/imrtgr/imrtgrutils.py +168 -0
  429. lalinference/imrtgr/nrutils.py +1366 -0
  430. lalinference/imrtgr/pneqns.py +250 -0
  431. lalinference/io/__init__.py +31 -0
  432. lalinference/io/hdf5.py +365 -0
  433. lalinference/lalinference_pipe_utils.py +3617 -0
  434. lalinference/nest2pos.py +151 -0
  435. lalinference/plot/__init__.py +34 -0
  436. lalinference/plot/spindisk.py +104 -0
  437. lalinference/tiger/__init__.py +0 -0
  438. lalinference/tiger/make_injtimes.py +634 -0
  439. lalinference/tiger/omegascans_dag.py +691 -0
  440. lalinference/tiger/postproc.py +1338 -0
  441. lalinference/wrapper.py +231 -0
  442. lalinspiral/__init__.py +7 -0
  443. lalinspiral/_lalinspiral.cpython-312-darwin.so +0 -0
  444. lalinspiral/_lalinspiral_swig.py +18 -0
  445. lalinspiral/_thinca.cpython-312-darwin.so +0 -0
  446. lalinspiral/git_version.py +64 -0
  447. lalinspiral/inspinjfind.py +485 -0
  448. lalinspiral/thinca.py +509 -0
  449. lalmetaio/__init__.py +7 -0
  450. lalmetaio/_lalmetaio.cpython-312-darwin.so +0 -0
  451. lalmetaio/_lalmetaio_swig.py +14 -0
  452. lalmetaio/git_version.py +64 -0
  453. lalpulsar/NstarTools.py +259 -0
  454. lalpulsar/PulsarParametersWrapper.py +938 -0
  455. lalpulsar/__init__.py +7 -0
  456. lalpulsar/_lalpulsar.cpython-312-darwin.so +0 -0
  457. lalpulsar/_lalpulsar_swig.py +17 -0
  458. lalpulsar/git_version.py +64 -0
  459. lalpulsar/knope_utils.py +6497 -0
  460. lalpulsar/lineFileParser.py +264 -0
  461. lalpulsar/metric_utils.py +78 -0
  462. lalpulsar/piecewise_model/__init__.py +7 -0
  463. lalpulsar/piecewise_model/basis_functions.py +156 -0
  464. lalpulsar/piecewise_model/class_definitions.py +323 -0
  465. lalpulsar/piecewise_model/errors.py +37 -0
  466. lalpulsar/piecewise_model/estimating_knots.py +833 -0
  467. lalpulsar/piecewise_model/gte_and_other_methods.py +189 -0
  468. lalpulsar/piecewise_model/mols_for_gte.py +269 -0
  469. lalpulsar/piecewise_model/pw_fstat.py +813 -0
  470. lalpulsar/piecewise_model/pw_model_simulations.py +156 -0
  471. lalpulsar/piecewise_model/sampling_methods.py +186 -0
  472. lalpulsar/piecewise_model/semicoherent_metric_methods.py +375 -0
  473. lalpulsar/piecewise_model/tbank_estimates.py +293 -0
  474. lalpulsar/public_sft_directory.py +82 -0
  475. lalpulsar/pulsarhtmlutils.py +1395 -0
  476. lalpulsar/pulsarpputils.py +3638 -0
  477. lalpulsar/simulateCW.py +602 -0
  478. lalpulsar/simulateHeterodynedCW.py +591 -0
  479. lalsimulation/__init__.py +7 -0
  480. lalsimulation/_lalsimulation.cpython-312-darwin.so +0 -0
  481. lalsimulation/_lalsimulation_swig.py +14 -0
  482. lalsimulation/git_version.py +64 -0
  483. lalsimulation/gwsignal/__init__.py +9 -0
  484. lalsimulation/gwsignal/core/__init__.py +2 -0
  485. lalsimulation/gwsignal/core/conditioning_subroutines.py +196 -0
  486. lalsimulation/gwsignal/core/errors.py +136 -0
  487. lalsimulation/gwsignal/core/gw.py +206 -0
  488. lalsimulation/gwsignal/core/parameter_conventions.py +122 -0
  489. lalsimulation/gwsignal/core/utils.py +329 -0
  490. lalsimulation/gwsignal/core/waveform.py +725 -0
  491. lalsimulation/gwsignal/core/waveform_conditioning.py +455 -0
  492. lalsimulation/gwsignal/models/__init__.py +29 -0
  493. lalsimulation/gwsignal/models/pyseobnr_model.py +452 -0
  494. lalsimulation/nrfits/NRSur3dq8Remnant.py +92 -0
  495. lalsimulation/nrfits/NRSur7dq4Remnant.py +469 -0
  496. lalsimulation/nrfits/__init__.py +1 -0
  497. lalsimulation/nrfits/eval_fits.py +364 -0
  498. lalsimulation/nrfits/nrfits.py +78 -0
  499. lalsimulation/nrfits/pn_spin_evolution_wrapper.py +92 -0
  500. lalsimulation/nrfits/quaternion_utils.py +74 -0
  501. lalsimulation/tilts_at_infinity/__init__.py +2 -0
  502. lalsimulation/tilts_at_infinity/calc_tilts_prec_avg_regularized.py +1424 -0
  503. lalsimulation/tilts_at_infinity/hybrid_spin_evolution.py +461 -0
  504. lalsimulation/tilts_at_infinity/tilts_at_infinity_utils.py +167 -0
  505. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesBurstPPAnalysis +305 -0
  506. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesBurstPostProc +1364 -0
  507. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
  508. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesCombinePosteriors +235 -0
  509. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesCompPos +1121 -0
  510. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesDIEvidence +68 -0
  511. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesGraceDBinfo +182 -0
  512. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesMCMC2pos +314 -0
  513. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPPAnalysis +322 -0
  514. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPlotSpinDisk +42 -0
  515. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPosToSimBurst +227 -0
  516. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPosToSimInspiral +307 -0
  517. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPostProc +1345 -0
  518. lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesThermoInt +107 -0
  519. lalsuite-7.26.2.dev20251210.data/scripts/imrtgr_imr_consistency_test +796 -0
  520. lalsuite-7.26.2.dev20251210.data/scripts/lal_cache +6 -0
  521. lalsuite-7.26.2.dev20251210.data/scripts/lal_fftw_wisdom +6 -0
  522. lalsuite-7.26.2.dev20251210.data/scripts/lal_fftwf_wisdom +6 -0
  523. lalsuite-7.26.2.dev20251210.data/scripts/lal_path2cache +148 -0
  524. lalsuite-7.26.2.dev20251210.data/scripts/lal_searchsum2cache +172 -0
  525. lalsuite-7.26.2.dev20251210.data/scripts/lal_simd_detect +6 -0
  526. lalsuite-7.26.2.dev20251210.data/scripts/lal_tconvert +6 -0
  527. lalsuite-7.26.2.dev20251210.data/scripts/lal_version +6 -0
  528. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeAntennaPattern +6 -0
  529. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
  530. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
  531. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
  532. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
  533. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputePSD +6 -0
  534. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_CopySFTs +6 -0
  535. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_DistanceVsMass +6 -0
  536. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_DriveHoughMulti +6 -0
  537. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_FstatMetric_v2 +6 -0
  538. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_HierarchSearchGCT +6 -0
  539. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_HierarchicalSearch +6 -0
  540. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_MakeSFTDAG +6 -0
  541. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_MakeSFTs +6 -0
  542. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_Makefakedata_v4 +6 -0
  543. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_Makefakedata_v5 +6 -0
  544. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_PredictFstat +6 -0
  545. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_PrintDetectorState +6 -0
  546. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_SFTclean +6 -0
  547. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_SFTvalidate +6 -0
  548. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_StringAddFrame +6 -0
  549. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_StringSearch +6 -0
  550. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_Weave +6 -0
  551. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WeaveCompare +6 -0
  552. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WeaveConcat +6 -0
  553. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WeaveSetup +6 -0
  554. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
  555. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_animate +6 -0
  556. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_binj +6 -0
  557. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_blindinj +6 -0
  558. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cache +6 -0
  559. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cafe +99 -0
  560. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_calfacs +6 -0
  561. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cbc_stochasticbank +6 -0
  562. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_chirplen +6 -0
  563. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_coh_PTF_inspiral +6 -0
  564. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_coinj +6 -0
  565. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
  566. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_compareFstats +6 -0
  567. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_compareSFTs +6 -0
  568. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cosmicstring_pipe +525 -0
  569. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
  570. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_dumpSFT +6 -0
  571. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_effdist +6 -0
  572. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_exc_resp +6 -0
  573. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fftw_wisdom +6 -0
  574. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fftwf_wisdom +6 -0
  575. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_header_getval +6 -0
  576. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_header_list +6 -0
  577. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_overview +6 -0
  578. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_table_list +6 -0
  579. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fr_ninja +6 -0
  580. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frextr +6 -0
  581. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frinfo +6 -0
  582. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frjoin +6 -0
  583. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frread +6 -0
  584. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frview +6 -0
  585. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_gwf2xml +6 -0
  586. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_heterodyne_pulsar +6 -0
  587. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspawgfile +6 -0
  588. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspfrinj +6 -0
  589. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspinj +6 -0
  590. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspiralDistance +6 -0
  591. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope +6 -0
  592. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope_automation_script +6 -0
  593. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope_collate_results +6 -0
  594. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope_result_page +6 -0
  595. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_makeblindinj +6 -0
  596. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_makeblindinj_himass +6 -0
  597. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ninja +6 -0
  598. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_path2cache +6 -0
  599. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_power +6 -0
  600. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_power_likelihood_pipe +219 -0
  601. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_power_pipe +417 -0
  602. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
  603. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
  604. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
  605. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_random_bank +6 -0
  606. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_randombank +6 -0
  607. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
  608. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_searchsum2cache +6 -0
  609. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spec_avg +6 -0
  610. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spec_avg_long +6 -0
  611. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spec_coherence +6 -0
  612. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spininj +6 -0
  613. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_splitSFTs +6 -0
  614. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_splitbank +6 -0
  615. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ssbtodetector +6 -0
  616. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_apply_vetoes +171 -0
  617. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_calc_likelihood +172 -0
  618. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_contour_plotter +141 -0
  619. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
  620. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_cs_gamma +110 -0
  621. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
  622. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_final +1064 -0
  623. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_meas_likelihood +264 -0
  624. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_plot_binj +543 -0
  625. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_plot_likelihood +380 -0
  626. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_synthesizeBstatMC +6 -0
  627. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_synthesizeLVStats +6 -0
  628. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_synthesizeTransientStats +6 -0
  629. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_tconvert +6 -0
  630. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_tmpltbank +6 -0
  631. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_version +6 -0
  632. lalsuite-7.26.2.dev20251210.data/scripts/lalapps_xtefitstoframe +6 -0
  633. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_cluster +156 -0
  634. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_coinc +224 -0
  635. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_cut +425 -0
  636. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_gen_timeslides +254 -0
  637. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_inj_pic +254 -0
  638. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_injfind +170 -0
  639. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_plot_tisi +165 -0
  640. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_calc_likelihood +182 -0
  641. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_final +1369 -0
  642. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_meas_likelihood +206 -0
  643. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_plot_binj +934 -0
  644. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_plot_binjtf +302 -0
  645. lalsuite-7.26.2.dev20251210.data/scripts/lalburst_version +6 -0
  646. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-cat +6 -0
  647. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-cksum +6 -0
  648. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-cut +6 -0
  649. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-dump +6 -0
  650. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-fmt +6 -0
  651. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-paste +6 -0
  652. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-print +6 -0
  653. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-split +6 -0
  654. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-stat +6 -0
  655. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-stream +6 -0
  656. lalsuite-7.26.2.dev20251210.data/scripts/lalfr-vis +6 -0
  657. lalsuite-7.26.2.dev20251210.data/scripts/lalframe_version +6 -0
  658. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_bench +6 -0
  659. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_burst +6 -0
  660. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_burst_pp_pipe +220 -0
  661. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_coherence_test +139 -0
  662. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_compute_roq_weights +404 -0
  663. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_cpnest +58 -0
  664. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_datadump +6 -0
  665. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
  666. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_injectedlike +6 -0
  667. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_merge_posteriors +57 -0
  668. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_mpi_wrapper +6 -0
  669. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_multi_pipe +144 -0
  670. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_nest +6 -0
  671. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_nest2pos +286 -0
  672. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_pipe +512 -0
  673. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_pp_pipe +229 -0
  674. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_review_test +362 -0
  675. lalsuite-7.26.2.dev20251210.data/scripts/lalinference_version +6 -0
  676. lalsuite-7.26.2.dev20251210.data/scripts/lalinspiral_injfind +206 -0
  677. lalsuite-7.26.2.dev20251210.data/scripts/lalinspiral_thinca +240 -0
  678. lalsuite-7.26.2.dev20251210.data/scripts/lalinspiral_version +6 -0
  679. lalsuite-7.26.2.dev20251210.data/scripts/lalmetaio_version +6 -0
  680. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
  681. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
  682. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
  683. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
  684. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
  685. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputePSD +6 -0
  686. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
  687. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_DriveHoughMulti +6 -0
  688. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
  689. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
  690. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_HierarchicalSearch +6 -0
  691. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
  692. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_MakeSFTs +6 -0
  693. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
  694. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
  695. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_MoveSFTs +208 -0
  696. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_PiecewiseSearch +963 -0
  697. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_PredictFstat +6 -0
  698. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_PrintDetectorState +6 -0
  699. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_SFTclean +6 -0
  700. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_SFTvalidate +6 -0
  701. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_Weave +6 -0
  702. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WeaveCompare +6 -0
  703. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WeaveConcat +6 -0
  704. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WeaveSetup +6 -0
  705. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
  706. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_compareFstats +6 -0
  707. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_compareSFTs +6 -0
  708. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
  709. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_crosscorr_v2 +6 -0
  710. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_dumpSFT +6 -0
  711. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_header_getval +6 -0
  712. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_header_list +6 -0
  713. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_overview +6 -0
  714. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_table_list +6 -0
  715. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_frequency_evolution +6 -0
  716. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_heterodyne +6 -0
  717. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope +145 -0
  718. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope_automation_script +731 -0
  719. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope_collate_results +675 -0
  720. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope_result_page +2977 -0
  721. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
  722. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_spec_avg +6 -0
  723. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_spec_avg_long +6 -0
  724. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_spec_coherence +6 -0
  725. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_splitSFTs +6 -0
  726. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ssbtodetector +6 -0
  727. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
  728. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_synthesizeLVStats +6 -0
  729. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
  730. lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_version +6 -0
  731. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-bh-qnmode +6 -0
  732. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-bh-ringdown +6 -0
  733. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-bh-sphwf +6 -0
  734. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-burst +6 -0
  735. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-detector-noise +6 -0
  736. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-detector-strain +6 -0
  737. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-inject +6 -0
  738. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-inspiral +6 -0
  739. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-ns-eos-table +6 -0
  740. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-ns-mass-radius +6 -0
  741. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-ns-params +6 -0
  742. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-sgwb +6 -0
  743. lalsuite-7.26.2.dev20251210.data/scripts/lalsim-unicorn +6 -0
  744. lalsuite-7.26.2.dev20251210.data/scripts/lalsimulation_version +6 -0
  745. lalsuite-7.26.2.dev20251210.dist-info/METADATA +90 -0
  746. lalsuite-7.26.2.dev20251210.dist-info/RECORD +749 -0
  747. lalsuite-7.26.2.dev20251210.dist-info/WHEEL +6 -0
  748. lalsuite-7.26.2.dev20251210.dist-info/licenses/COPYING +339 -0
  749. lalsuite-7.26.2.dev20251210.dist-info/top_level.txt +9 -0
lal/git_version.py ADDED
@@ -0,0 +1,64 @@
1
+ # -*- coding: utf-8 -*-
2
+ # git_version.py - vcs information module
3
+ #
4
+ # Copyright (C) 2010 Nickolas Fotopoulos
5
+ # Copyright (C) 2012-2013 Adam Mercer
6
+ # Copyright (C) 2016 Leo Singer
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or (at
11
+ # your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful, but
14
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ # General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with with program; see the file COPYING. If not, write to the
20
+ # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21
+ # MA 02110-1301 USA
22
+
23
+ id = "eeff03c6df54cc1b9aa861018eac9ca5072a0a77"
24
+ date = "2025-12-4 04:45:18 +0000"
25
+ branch = "None"
26
+ tag = "None"
27
+ if tag == "None":
28
+ tag = None
29
+ author = "Karl Wette <karl.wette@ligo.org>"
30
+ builder = "Unknown User <>"
31
+ committer = "Karl Wette <karl.wette@ligo.org>"
32
+ status = "CLEAN: All modifications committed"
33
+ version = id
34
+ verbose_msg = """Branch: None
35
+ Tag: None
36
+ Id: eeff03c6df54cc1b9aa861018eac9ca5072a0a77
37
+
38
+ Builder: Unknown User <>
39
+ Repository status: CLEAN: All modifications committed"""
40
+
41
+ import warnings
42
+
43
+ class VersionMismatchError(ValueError):
44
+ pass
45
+
46
+ def check_match(foreign_id, onmismatch="raise"):
47
+ """
48
+ If foreign_id != id, perform an action specified by the onmismatch
49
+ kwarg. This can be useful for validating input files.
50
+
51
+ onmismatch actions:
52
+ "raise": raise a VersionMismatchError, stating both versions involved
53
+ "warn": emit a warning, stating both versions involved
54
+ """
55
+ if onmismatch not in ("raise", "warn"):
56
+ raise ValueError(onmismatch + " is an unrecognized value of onmismatch")
57
+ if foreign_id == "eeff03c6df54cc1b9aa861018eac9ca5072a0a77":
58
+ return
59
+ msg = "Program id (eeff03c6df54cc1b9aa861018eac9ca5072a0a77) does not match given id (%s)." % foreign_id
60
+ if onmismatch == "raise":
61
+ raise VersionMismatchError(msg)
62
+
63
+ # in the backtrace, show calling code
64
+ warnings.warn(msg, UserWarning)
lal/gpstime.py ADDED
@@ -0,0 +1,233 @@
1
+ # Copyright (C) 2021 Cardiff University
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify it
4
+ # under the terms of the GNU General Public License as published by the
5
+ # Free Software Foundation; either version 3 of the License, or (at your
6
+ # option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but
9
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11
+ # Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
+
17
+ ## \defgroup lal_py_gpstime GPSTime
18
+ ## \ingroup lal_python
19
+ """Utilties for calculating and modifying GPS times using the LAL date
20
+ package
21
+ """
22
+ #
23
+ # ### Synopsis ###
24
+ #
25
+ # ~~~
26
+ # from lal import gpstime
27
+ # ~~~
28
+ # This module wraps the LAL \ref Date_h module into Python providing
29
+ # functions to convert from the `datetime.datetime` objects from the
30
+ # Python standard library into LIGOTimeGPS numbers, and vice-versa.
31
+ # See in particular ::gps_to_utc and ::utc_to_gps.
32
+ #
33
+ # This module also provides a Python implementation of the `tconvert'
34
+ # module, allowing conversion from strings of dates and times into
35
+ # LIGOTimeGPS, and vice-versa. See in particular ::gps_to_str and
36
+ # ::str_to_gps.
37
+ #
38
+ # \author Duncan Macleod <duncan.macleod@ligo.org>
39
+ #@{
40
+
41
+ import datetime as _datetime
42
+ from decimal import Decimal
43
+ from numbers import Number
44
+
45
+ from dateutil.parser import parse as str_to_utc
46
+
47
+ from . import (
48
+ LIGOTimeGPS,
49
+ GPSTimeNow as _gps_time_now,
50
+ GPSToUTC as _gps_to_utc,
51
+ UTCToGPS as _utc_to_gps,
52
+ )
53
+ from . import git_version
54
+
55
+ __author__ = "Duncan Macleod <duncan.macleod@ligo.org>"
56
+ __version__ = git_version.verbose_msg
57
+ __date__ = git_version.date
58
+
59
+ TIME_ZONES = {
60
+ "PST": -8*3600,
61
+ "PDT": -7*3600,
62
+ "CST": -6*3600,
63
+ "CDT": -5*3600,
64
+ "EST": -5*3600,
65
+ "EDT": -4*3600,
66
+ "GMT": 0,
67
+ "UTC": 0,
68
+ "BST": 1*3600,
69
+ "CET": 1*3600,
70
+ "CEST": 2*3600,
71
+ }
72
+ GPS_EPOCH = _datetime.datetime(1980, 1, 6, 0, 0, 0)
73
+ LAL_GPS_MAX = _datetime.datetime(2048, 1, 24, 3, 13, 55)
74
+
75
+
76
+ def _check_utc(utc_time):
77
+ """Check whether this UTC datetime will convert to a valid LIGOTimeGPS
78
+ """
79
+ if utc_time < GPS_EPOCH:
80
+ raise ValueError("Given UTC time is before the start of the GPS era.")
81
+ if utc_time > LAL_GPS_MAX:
82
+ raise ValueError("Given UTC time is too far in the future, "
83
+ "LAL will SegmentationFault.")
84
+ return
85
+
86
+
87
+ def gps_time_now():
88
+ """Get the current time in GPS seconds
89
+
90
+ @returns a LIGOTimeGPS
91
+ """
92
+ return _gps_time_now()
93
+
94
+
95
+ def utc_to_gps(utc_time):
96
+ """Convert the given `datetime.datetime` into a GPS time
97
+
98
+ @returns a LIGOTimeGPS
99
+ """
100
+ if not isinstance(utc_time, _datetime.datetime):
101
+ utc_time = _datetime.datetime.combine(utc_time, _datetime.time())
102
+ _check_utc(utc_time)
103
+ return LIGOTimeGPS(_utc_to_gps(utc_time.utctimetuple()))
104
+
105
+
106
+ def gps_to_utc(gps):
107
+ """Convert a GPS time into a `datetime.datetime`
108
+
109
+ @returns a Python `datetime.datetime` object in UTC
110
+ """
111
+ if isinstance(gps, (Decimal, Number)):
112
+ gps = str(gps)
113
+ gps = LIGOTimeGPS(gps)
114
+ dt = _datetime.datetime(
115
+ *_gps_to_utc(gps.gpsSeconds)[:7]
116
+ ).replace(microsecond=0) # force microseconds to 0
117
+ if gps.gpsNanoSeconds:
118
+ return dt.replace(
119
+ microsecond=int(round(gps.gpsNanoSeconds * 1e-3)),
120
+ )
121
+ return dt
122
+
123
+
124
+ def utc_time_now():
125
+ """Get the current date and time in UTC
126
+
127
+ @returns a Python `datetime.datetime` object in UTC
128
+ """
129
+ return gps_to_utc(_gps_time_now())
130
+
131
+
132
+ def str_to_gps(time_string=None):
133
+ r"""Converts a date/time string into a GPS time.
134
+
135
+ The following special words are permitted:
136
+ - "now"
137
+ - "today"
138
+ - "yesterday"
139
+ - "tomorrow"
140
+
141
+ Example:
142
+ \code
143
+ >>> gpstime.str_to_gps("September 14 2011, 01:46:25")
144
+ 1000000000.000000000
145
+ \endcode
146
+
147
+ @returns a LIGOTimeGPS
148
+ """
149
+ if not time_string or time_string.lower() == "now":
150
+ return _gps_time_now()
151
+ elif time_string == "today":
152
+ date = _datetime.date.today()
153
+ return utc_to_gps(_datetime.datetime.combine(date, _datetime.time()))
154
+ elif time_string == "tomorrow":
155
+ today = _datetime.datetime.combine(_datetime.date.today(),
156
+ _datetime.time())
157
+ tomorrow = today + _datetime.timedelta(days=1)
158
+ return utc_to_gps(tomorrow)
159
+ elif time_string == "yesterday":
160
+ today = _datetime.datetime.combine(_datetime.date.today(),
161
+ _datetime.time())
162
+ yesterday = today - _datetime.timedelta(days=1)
163
+ return utc_to_gps(yesterday)
164
+ # otherwise parse the string as a date/time
165
+ utc = str_to_utc(time_string, tzinfos=TIME_ZONES)
166
+ micro = utc.microsecond
167
+ gps = utc_to_gps(utc)
168
+ return gps + micro / 1000000.0
169
+
170
+
171
+ def gps_to_str(gps, form=None):
172
+ r"""
173
+ Convert a LIGOTimeGPS time object into a string.
174
+ The output format can be given explicitly, but will default
175
+ as shown in the example.
176
+
177
+ Example:
178
+
179
+ \code
180
+ >>> gps_to_str(1000000000)
181
+ 'September 14 2011, 01:46:25 UTC'
182
+ \endcode
183
+
184
+ @returns a string with the given format.
185
+ """
186
+ gps = LIGOTimeGPS(gps)
187
+ utc = gps_to_utc(gps)
188
+ if gps.gpsNanoSeconds and not form:
189
+ form = "%B %d %Y, %H:%M:%S.%f UTC"
190
+ elif not form:
191
+ form = "%B %d %Y, %H:%M:%S UTC"
192
+ return utc.strftime(form)
193
+
194
+
195
+ def tconvert(arg=None, form=None):
196
+ r"""Convert date/time strings to and from GPS times.
197
+ If no argument is given, the current GPS time is returned.
198
+
199
+ The following special words are permitted:
200
+ - "now"
201
+ - "today"
202
+ - "yesterday"
203
+ - "tomorrow"
204
+
205
+ Example:
206
+
207
+ \code
208
+ >>> tconvert()
209
+ 1048275013.000000000
210
+ >>> tconvert("January 6 1980 00:00:00")
211
+ 0.000000000
212
+ >>> tconvert(1000000000)
213
+ 'September 14 2011, 01:46:25 UTC'
214
+ \endcode
215
+
216
+ @returns the LIGOTimeGPS of the given time string, OR, string
217
+ representing the given GPS time
218
+ """
219
+ try:
220
+ float(arg)
221
+ except ValueError:
222
+ return str_to_gps(arg)
223
+ else:
224
+ return gps_to_str(arg, form=form)
225
+
226
+
227
+ ##@}
228
+
229
+
230
+ if __name__ == "__main__":
231
+ now = tconvert()
232
+ now_utc = gps_to_str(now)
233
+ print("The date/time now is %s (%d)" % (now_utc, now))
lal/iterutils.py ADDED
@@ -0,0 +1,408 @@
1
+ # Copyright (C) 2007,2008,2010--2016,2021 Kipp Cannon, Nickolas Fotopoulos
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify it
4
+ # under the terms of the GNU General Public License as published by the
5
+ # Free Software Foundation; either version 2 of the License, or (at your
6
+ # option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but
9
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11
+ # Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
+
17
+
18
+ #
19
+ # =============================================================================
20
+ #
21
+ # Preamble
22
+ #
23
+ # =============================================================================
24
+ #
25
+
26
+
27
+ """
28
+ A collection of iteration utilities.
29
+ """
30
+
31
+
32
+ import functools
33
+ import math
34
+ import numpy
35
+ import random
36
+
37
+
38
+ from . import git_version
39
+
40
+
41
+ __author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
42
+ __version__ = "git id %s" % git_version.id
43
+ __date__ = git_version.date
44
+
45
+
46
+ #
47
+ # =============================================================================
48
+ #
49
+ # Iteration Tools
50
+ #
51
+ # =============================================================================
52
+ #
53
+
54
+
55
+ def MultiIter(*sequences):
56
+ """
57
+ A generator for iterating over the elements of multiple sequences
58
+ simultaneously. With N sequences given as input, the generator
59
+ yields all possible distinct N-tuples that contain one element from
60
+ each of the input sequences.
61
+
62
+ Example:
63
+
64
+ >>> x = MultiIter([0, 1, 2], [10, 11])
65
+ >>> list(x)
66
+ [(0, 10), (1, 10), (2, 10), (0, 11), (1, 11), (2, 11)]
67
+
68
+ The elements in each output tuple are in the order of the input
69
+ sequences, and the left-most input sequence is iterated over first.
70
+
71
+ Internally, the input sequences themselves are each iterated over
72
+ only once, so it is safe to pass generators as arguments. Also,
73
+ this generator is significantly faster if the longest input
74
+ sequence is given as the first argument. For example, this code
75
+
76
+ >>> lengths = range(1, 12)
77
+ >>> for x in MultiIter(*map(range, lengths)):
78
+ ... pass
79
+ ...
80
+
81
+ runs approximately 5 times faster if the lengths list is reversed.
82
+ """
83
+ if len(sequences) > 1:
84
+ # FIXME: this loop is about 5% faster if done the other
85
+ # way around, if the last list is iterated over in the
86
+ # inner loop. but there is code, like snglcoinc.py,
87
+ # that has been optimized for the current order and
88
+ # would need to be reoptimized if this function were to be
89
+ # reversed.
90
+ head = tuple((x,) for x in sequences[0])
91
+ for t in MultiIter(*sequences[1:]):
92
+ for h in head:
93
+ yield h + t
94
+ elif sequences:
95
+ for t in sequences[0]:
96
+ yield (t,)
97
+
98
+
99
+ def choices(vals, n):
100
+ """
101
+ A generator for iterating over all choices of n elements from the
102
+ input sequence vals. In each result returned, the original order
103
+ of the values is preserved.
104
+
105
+ Example:
106
+
107
+ >>> x = choices(["a", "b", "c"], 2)
108
+ >>> list(x)
109
+ [('a', 'b'), ('a', 'c'), ('b', 'c')]
110
+
111
+ The order of combinations in the output sequence is always the
112
+ same, so if choices() is called twice with two different sequences
113
+ of the same length the first combination in each of the two output
114
+ sequences will contain elements from the same positions in the two
115
+ different input sequences, and so on for each subsequent pair of
116
+ output combinations.
117
+
118
+ Example:
119
+
120
+ >>> x = choices(["a", "b", "c"], 2)
121
+ >>> y = choices(["1", "2", "3"], 2)
122
+ >>> list(zip(x, y))
123
+ [(('a', 'b'), ('1', '2')), (('a', 'c'), ('1', '3')), (('b', 'c'), ('2', '3'))]
124
+
125
+ Furthermore, the order of combinations in the output sequence is
126
+ such that if the input list has n elements, and one constructs the
127
+ combinations choices(input, m), then each combination in
128
+ choices(input, n-m).reverse() contains the elements discarded in
129
+ forming the corresponding combination in the former.
130
+
131
+ Example:
132
+
133
+ >>> x = ["a", "b", "c", "d", "e"]
134
+ >>> X = list(choices(x, 2))
135
+ >>> Y = list(choices(x, len(x) - 2))
136
+ >>> Y.reverse()
137
+ >>> list(zip(X, Y))
138
+ [(('a', 'b'), ('c', 'd', 'e')), (('a', 'c'), ('b', 'd', 'e')), (('a', 'd'), ('b', 'c', 'e')), (('a', 'e'), ('b', 'c', 'd')), (('b', 'c'), ('a', 'd', 'e')), (('b', 'd'), ('a', 'c', 'e')), (('b', 'e'), ('a', 'c', 'd')), (('c', 'd'), ('a', 'b', 'e')), (('c', 'e'), ('a', 'b', 'd')), (('d', 'e'), ('a', 'b', 'c'))]
139
+
140
+ NOTE: this generator is identical to the itertools.combinations()
141
+ generator in Python's standard library. This routine was written
142
+ before Python provided that functionality, and is now only
143
+ preserved for two reasons. The first is to maintain this API for
144
+ existing codes that were written before the standard library
145
+ provided the capability. But the second reason is because the
146
+ Python standard library doesn't make the guarantees that we do,
147
+ here, about the order of the results. Specifically, there is no
148
+ guarantee that itertools.combinations() is repeatable, nor is there
149
+ a statement on how to obtain the inverse of the sequence as
150
+ described above. At the time of writing the order in which results
151
+ are produced is identical to this generator and in all use cases
152
+ they are exact substitutes for each other, and new code should use
153
+ itertools.combinations(). Be careful making assumptions about the
154
+ order of the results, add safety checks where needed, and if a
155
+ problem arises this generator can be used as a fall-back.
156
+ """
157
+ if n == len(vals):
158
+ yield tuple(vals)
159
+ elif n > 1:
160
+ n -= 1
161
+ for i, v in enumerate(vals[:-n]):
162
+ v = (v,)
163
+ for c in choices(vals[i+1:], n):
164
+ yield v + c
165
+ elif n == 1:
166
+ for v in vals:
167
+ yield (v,)
168
+ elif n == 0:
169
+ yield ()
170
+ else:
171
+ # n < 0
172
+ raise ValueError(n)
173
+
174
+
175
+ def uniq(iterable):
176
+ """
177
+ Yield the unique items of an iterable, preserving order.
178
+ http://mail.python.org/pipermail/tutor/2002-March/012930.html
179
+
180
+ Example:
181
+
182
+ >>> x = uniq([0, 0, 2, 6, 2, 0, 5])
183
+ >>> list(x)
184
+ [0, 2, 6, 5]
185
+ """
186
+ temp_dict = {}
187
+ for e in iterable:
188
+ if e not in temp_dict:
189
+ yield temp_dict.setdefault(e, e)
190
+
191
+
192
+ def nonuniq(iterable):
193
+ """
194
+ Yield the non-unique items of an iterable, preserving order. If an
195
+ item occurs N > 0 times in the input sequence, it will occur N-1
196
+ times in the output sequence.
197
+
198
+ Example:
199
+
200
+ >>> x = nonuniq([0, 0, 2, 6, 2, 0, 5])
201
+ >>> list(x)
202
+ [0, 2, 0]
203
+ """
204
+ temp_dict = {}
205
+ for e in iterable:
206
+ if e in temp_dict:
207
+ yield e
208
+ temp_dict.setdefault(e, e)
209
+
210
+
211
+ def flatten(sequence, levels = 1):
212
+ """
213
+ Example:
214
+ >>> nested = [[1,2], [[3]]]
215
+ >>> list(flatten(nested))
216
+ [1, 2, [3]]
217
+ """
218
+ if levels == 0:
219
+ for x in sequence:
220
+ yield x
221
+ else:
222
+ for x in sequence:
223
+ for y in flatten(x, levels - 1):
224
+ yield y
225
+
226
+
227
+ #
228
+ # =============================================================================
229
+ #
230
+ # In-Place filter()
231
+ #
232
+ # =============================================================================
233
+ #
234
+
235
+
236
+ def inplace_filter(func, sequence):
237
+ """
238
+ Like Python's filter() builtin, but modifies the sequence in place.
239
+
240
+ Example:
241
+
242
+ >>> l = list(range(10))
243
+ >>> inplace_filter(lambda x: x > 5, l)
244
+ >>> l
245
+ [6, 7, 8, 9]
246
+
247
+ Performance considerations: the function iterates over the
248
+ sequence, shuffling surviving members down and deleting whatever
249
+ top part of the sequence is left empty at the end, so sequences
250
+ whose surviving members are predominantly at the bottom will be
251
+ processed faster.
252
+ """
253
+ target = 0
254
+ for source in range(len(sequence)):
255
+ if func(sequence[source]):
256
+ sequence[target] = sequence[source]
257
+ target += 1
258
+ del sequence[target:]
259
+
260
+
261
+ #
262
+ # =============================================================================
263
+ #
264
+ # Return the Values from Several Ordered Iterables in Order
265
+ #
266
+ # =============================================================================
267
+ #
268
+
269
+
270
+ def inorder(*iterables, **kwargs):
271
+ """
272
+ A generator that yields the values from several ordered iterables
273
+ in order.
274
+
275
+ Example:
276
+
277
+ >>> x = [0, 1, 2, 3]
278
+ >>> y = [1.5, 2.5, 3.5, 4.5]
279
+ >>> z = [1.75, 2.25, 3.75, 4.25]
280
+ >>> list(inorder(x, y, z))
281
+ [0, 1, 1.5, 1.75, 2, 2.25, 2.5, 3, 3.5, 3.75, 4.25, 4.5]
282
+ >>> list(inorder(x, y, z, key=lambda x: x * x))
283
+ [0, 1, 1.5, 1.75, 2, 2.25, 2.5, 3, 3.5, 3.75, 4.25, 4.5]
284
+
285
+ >>> x.sort(key=lambda x: abs(x-3))
286
+ >>> y.sort(key=lambda x: abs(x-3))
287
+ >>> z.sort(key=lambda x: abs(x-3))
288
+ >>> list(inorder(x, y, z, key=lambda x: abs(x - 3)))
289
+ [3, 2.5, 3.5, 2.25, 3.75, 2, 1.75, 4.25, 1.5, 4.5, 1, 0]
290
+
291
+ >>> x = [3, 2, 1, 0]
292
+ >>> y = [4.5, 3.5, 2.5, 1.5]
293
+ >>> z = [4.25, 3.75, 2.25, 1.75]
294
+ >>> list(inorder(x, y, z, reverse = True))
295
+ [4.5, 4.25, 3.75, 3.5, 3, 2.5, 2.25, 2, 1.75, 1.5, 1, 0]
296
+ >>> list(inorder(x, y, z, key = lambda x: -x))
297
+ [4.5, 4.25, 3.75, 3.5, 3, 2.5, 2.25, 2, 1.75, 1.5, 1, 0]
298
+
299
+ NOTE: this function will never reverse the order of elements in
300
+ the input iterables. If the reverse keyword argument is False (the
301
+ default) then the input sequences must yield elements in increasing
302
+ order, likewise if the keyword argument is True then the input
303
+ sequences must yield elements in decreasing order. Failure to
304
+ adhere to this yields undefined results, and for performance
305
+ reasons no check is performed to validate the element order in the
306
+ input sequences.
307
+ """
308
+ reverse = kwargs.pop("reverse", False)
309
+ keyfunc = kwargs.pop("key", lambda x: x) # default = identity
310
+ if kwargs:
311
+ raise TypeError("invalid keyword argument '%s'" % list(kwargs.keys())[0])
312
+ nextvals = {}
313
+ for iterable in iterables:
314
+ next_ = functools.partial(next, iter(iterable))
315
+ try:
316
+ nextval = next_()
317
+ nextvals[next_] = keyfunc(nextval), nextval, next_
318
+ except StopIteration:
319
+ pass
320
+ if not nextvals:
321
+ # all sequences are empty
322
+ return
323
+ if reverse:
324
+ select = lambda seq: max(seq, key = lambda elem: elem[0])
325
+ else:
326
+ select = lambda seq: min(seq, key = lambda elem: elem[0])
327
+ if len(nextvals) > 1:
328
+ while 1:
329
+ _, val, next_ = select(nextvals.values())
330
+ yield val
331
+ try:
332
+ nextval = next_()
333
+ nextvals[next_] = keyfunc(nextval), nextval, next_
334
+ except StopIteration:
335
+ del nextvals[next_]
336
+ if len(nextvals) < 2:
337
+ break
338
+ # exactly one sequence remains, short circuit and drain it. since
339
+ # PEP 479 we must trap the StopIteration and terminate the loop
340
+ # manually
341
+ (_, val, next_), = nextvals.values()
342
+ yield val
343
+ try:
344
+ while 1:
345
+ yield next_()
346
+ except StopIteration:
347
+ pass
348
+
349
+
350
+ #
351
+ # =============================================================================
352
+ #
353
+ # Random Sequences
354
+ #
355
+ # =============================================================================
356
+ #
357
+
358
+
359
+ def randindex(lo, hi, n = 1.):
360
+ """
361
+ Yields integers in the range [lo, hi) where 0 <= lo < hi. Each
362
+ return value is a two-element tuple. The first element is the
363
+ random integer, the second is the natural logarithm of the
364
+ probability with which that integer will be chosen.
365
+
366
+ The CDF for the distribution from which the integers are drawn goes
367
+ as [integer]^{n}, where n > 0. Specifically, it's
368
+
369
+ CDF(x) = (x^{n} - lo^{n}) / (hi^{n} - lo^{n})
370
+
371
+ n = 1 yields a uniform distribution; n > 1 favours larger
372
+ integers, n < 1 favours smaller integers.
373
+ """
374
+ if not 0 <= lo < hi:
375
+ raise ValueError("require 0 <= lo < hi: lo = %d, hi = %d" % (lo, hi))
376
+ if n <= 0.:
377
+ raise ValueError("n <= 0: %g" % n)
378
+ elif n == 1.:
379
+ # special case for uniform distribution
380
+ try:
381
+ lnP = math.log(1. / (hi - lo))
382
+ except ValueError:
383
+ raise ValueError("[lo, hi) domain error")
384
+ hi -= 1
385
+ rnd = random.randint
386
+ while 1:
387
+ yield rnd(lo, hi), lnP
388
+
389
+ # CDF evaluated at index boundaries
390
+ lnP = numpy.arange(lo, hi + 1, dtype = "double")**n
391
+ lnP -= lnP[0]
392
+ lnP /= lnP[-1]
393
+ # differences give probabilities
394
+ lnP = tuple(numpy.log(lnP[1:] - lnP[:-1]))
395
+ if numpy.isinf(lnP).any():
396
+ raise ValueError("[lo, hi) domain error")
397
+
398
+ beta = lo**n / (hi**n - lo**n)
399
+ n = 1. / n
400
+ alpha = hi / (1. + beta)**n
401
+ flr = math.floor
402
+ rnd = random.random
403
+ while 1:
404
+ index = int(flr(alpha * (rnd() + beta)**n))
405
+ # the tuple look-up provides the second part of the
406
+ # range safety check on index
407
+ assert index >= lo
408
+ yield index, lnP[index - lo]