没有合适的资源?快使用搜索试试~ 我知道了~
软件X 13(2021)100657原始软件出版物GWpy:用于引力波天体物理学的Python包邓肯·M放大图片作者:Joseph S. 作者:Scott B. Coughlina,d,Thomas J. Massingerc,亚历山大湖,加-地UrbaneaCardiff University,Cardiff CF24 3AA,UKb加利福尼亚州立大学富勒顿分校,富勒顿,CA 92831,美国cLIGO,麻省理工学院,剑桥,MA 02139,美国d天体物理学跨学科探索研究中心(CIERA),西北大学,埃文斯顿,IL 60208,美国路易斯安那州立大学,Baton Rouge,LA 70803,USAar t i cl e i nf o文章历史记录:收到2020年收到修订版2020年10月29日接受2021年关键词:引力波Python软件a b st ra ctGWpy是一个Python软件包,提供了一个直观的、面向对象的界面,通过它可以访问、处理和可视化来自引力波探测器的数据。GWpy提供了许多用于研究数据的新实用程序,以及许多现有工具的改进的用户界面。GWpy的易用性,以及大量的在线文档和示例,使得GWpy在国际引力波社区中被广泛采用为Python软件开发的基础。版权所有©2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本1.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2020_127法律代码许可证GPL-3.0-or-later使用git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求,运行环境&依赖性astropy≥ 1。1 .一、1,dqsgedb 2,gwosc ind,gwosc≥ 0. 四、0,h5py≥ 1。3,配体片段≥ 1。0的情况。0,liquidmegps≥ 1。二、1,matplotlib≥ 1. 二、0,numpy≥ 1。7 .第一次会议。1,python-dateutil,scipy≥ 0. 12个。1,6≥ 1。5、tqdm≥4。10个。0如果可用,链接到开发人员文档/手册https://gwpy.github.io/docs/1.0.0/有关问题的支持电子邮件请参阅https://github.com/gwpy/gwpy/blob/v1.0.0/CONTRIBUTING.md1. 动机和意义近年来,高级激光干涉引力波天文台[1]和高级室女座天文台[2]首次探测到引力波,包括首次直接观测到双黑洞合并[3],以及首次联合观测到双中子星的引力波-电磁(EM)[4]。迄今为止的所有探测都需要大量的计算数据分析,不仅要从探测器数据中提取信号及其参数,还要研究探测器本身并分析其行为。*通讯作者。电子邮件地址:macleoddm@cardiff.ac.uk(邓肯M. Macleod)。https://doi.org/10.1016/j.softx.2021.100657Python编程语言[5]已经成为计算GW科学几乎每个方面的关键组成部分,包括探测器控制和自动化[6],校准[7],探测器表征[8然而,这些领域的许多软件包都是独立开发的,导致了基本操作的不匹配/多个API。GWpy是一个Python包,它为数据分析的基本构建块提供了一个直观的、面向对象的用户界面。其目的是简化数据输入 /输出(I/O)、信号处理、表格数据过滤和可视化。特别是GWpy的统一I/O系统极大地简化了对“原始”仪器和处理数据的访问和处理,并简化了以前以不兼容格式存储数据的算法的比较。2352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx邓肯·M作者:Joseph S.作者:Scott B.Coughlin等人软件X 13(2021)1006572表1GWpy中的高级类对象数据结构GWpy类一维时域数据gwpy.timeseries.TimeSeries1D频域数据gwpy.frequencyseries.FrequencySeries二维数据表gwpy.table.EventTable数据质量标志gwpy.segments.DataQualityFlag表2GWpy中常见的数组属性属性类型描述名称str数据名称信道信道这些数据X0数量标量起始数据点DX数量标量数据点自2014年发布第一个alpha版本以来,GWpy已经发展成为单人调查和大规模数据处理工作流程的软件基础,以及许多其他新开发的软件包。它现在是LIGO自动化数据处理环境中的关键组件,包括探测器性能监控[14],低延迟事件处理[15]和参数估计[16],并且在验证GW 150914的数据质量调查中至关重要,这是第一次直接探测来自双黑洞合并的引力波[17]。本 文 并 没 有 提 供 GWpy 所 有 功 能 的 完 整 记 录 , 这 在https://gwpy.github.io/docs/stable/上在线提供。2. 软件描述GWpy是在纯Python中实现的(即没有编译的扩展模块),严重依赖于一些已建立的科学编程包[18GWpy旨在简化GW研究各个领域中常见的典型复杂数据分析任务,包括I/O,信号处理和可视化。2.1. 软件构架GWpy库接口是围绕少量的类对象构建的,这些类对象表示GW数据处理中常见的数据结构,如表1所示。这些对象中的每一个都配备了一套类和实例方法,为用户提供了所有操作的完整接口2.1.1. 阵列结构GWpy 这 种 结构 可 以 直 接访 问 NumPy 的 优 化数 组 函 数 以及Astropy的物理单元处理。对于所有数组类,GWpy添加了描述原始数据源(如果合适)和沿特定物理轴(通常为时间或频率)采样的元数据属性,有关每个属性的描述,请参见表2索引元数据通常仅存储为开始-ing索引值(x0)和步长(dx),具有完整索引如果需要的话,可以手动计算索引。通过直接设置xindex属性,可以存储任意的索引数组。对于二维数组,第二个轴的索引元数据存储在y0、dy和yindex属性中此外,TimeSeriesList和TimeSeriesDict对象提供了用于收集时域数据的附加功能.2.1.2. 表格数据GWpy的EventTable类是astropy的子类。Table对象,提供特定于存储时域事件组的参数的典型域用例的自定义。这些通常是瞬态噪声突发(毛刺)或天体物理GW事件。2.1.3. 数据质量数据GWpy的DataQualityFlag类表示与GW检测器操作状态或所记录数据的质量相关联的时域元数据。 每个DataQualityFlag由两个segmentlist [26]对象组成,分别表示相关标志已知和有效的时间。有关数据质量标志的完整细节,请参见[30]。2.2. 软件功能如上所述,类对象中的每一个被提供有作为类或实例方法提供的所有相关功能。在本节中,我们将介绍所有类通用的统一I/O和可视化接口,以及通常用于将时域数据转换为其他形式的信号处理2.2.1. 统一输入/输出Astropy通过astropy.io模块提供了一个统一输入/输出的基础设施,该模块仅在该包中应用于astropy.table.Table类对象。GWpy利用这个基础设施为所有类对象提供通用的read ()和write()方法,从而实现对所有通用GW文件格式的读写,有关简化列表,请参见表32.2.2. 远程数据访问GWpy还提供了一个直观的远程数据访问系统,用于将时域数据直接下载到TimeSeries对象中。这分为两种处理方法,用于pub-来自引力波开放科学中心[32](GWOSC)的lic数据和来自LIGO数据档案的专有数据。对于公共数据访问,通常只有GW应变数据可用,用户只需提供干涉仪前缀(例如和他们感兴趣的时间间隔的停止时间1GWpy则使用gwosc[25]库识别包含满足请求的数据文件的远程URL,将它们下载到临时位置,读取数据,然后删除临时文件。对于专有数据,其中有数十万个数据通道可用,用户必须提供通道的名称以及定时间隔。然后,GWpy将查询本地数据存档服务(如果直接在LIGO操作的计算中心运行),或者远程数据访问服务的有序列表中的一个或全部,在任何一种情况下都只向用户返回所请求的数据。array(xindex)仅在以下情况下计算(通过属性方法):用户特别要求的。这使得索引的内存开销最小,同时不需要用户1定时参数可以以GPS时间(浮点)或人类可读的UTC日期字符串的形式给出。邓肯·M作者:Joseph S.作者:Scott B.Coughlin等人软件X 13(2021)1006573表3一系列在GWpy中实现的自定义格式,可通过统一的I/O接口访问 对于列出的类对象。格式类描述'gwf'{Time、频率}系列通用GW数据帧格式[31]'hdf5'{Time、频率}系列简单的HDF5数据集'hdf5.losc'{Time、频率}系列GWOSC格式的HDF5数据集[32]'ligolw'EventTableLIGO轻量级XML [33]'根'EventTable根[34]树木2.2.3. 信号处理许多研究应用需要将观测站记录的“原始”时域数据转换为频域或其他格式,以便研究数据的特征。TimeSeries对象利用SciPy[22]信号处理库scipy.signal来提供时域信号处理的实例方法,包括:计算数据的傅立叶变换(.fft()),估计两个序列之间的相干性(.coherence()),估计功率或振幅谱密度(.psd(),.asd()),2 和gener-绘 制 重 叠 谱 密 度 估 计 的 谱 图 ( .spectrogram(),.spectrogram 2())。此外,GWpy提供了Q变换的实现[35],用于生成数据的多分辨率时频图(.qtransform())。FrequencySeries对象提供了一个.ifft()实例方法来计算傅立叶逆变换。2.2.4. 可视化每个GWpy类对象都包括一个Matplotlib支持的可视化接口[20]。对于大多数对象,这是作为plot()实例方法提供的,该方法将对象分解为matplotlib所需的相关数组,根据需要呈现这些数组,并返回格式化的matplotlib. figure.Figure。第3节演示了此功能。3. 说明性实例以下示例复制自https://gwpy.github.io/docs/1.0.0/examples/上的在线文档。3.1. 示例1:从公开LIGO数据该示例演示了下载与GW 150914相关的公共GW事件数据,估计应变数据的振幅谱密度,并在图中显示这些数据(见图11)。①的人。清单1:使用GWpy生成ASD图的示例代码从gwpy.timeseries导入 TimeSeries数据=TimeSeries.fetch_open_data(“H1”2015-09-14 09:50:302015-09-14 09:51:00sample_rate=16384,)asd = data.asd(fftlength=4)plot = asd.plot(color=“gwpy:ligo-hanford”,xscale=“log”,xlim=(20,4000),yscale=“log”,ylim=(2 e-24,5e-21),ylabel=r“应变噪声[Hz$^{-1/2}$]",)plot.show)搜索结果2有关支持的平均方法的完整描述,请参阅TimeSeries.psd()的文档。3.2. 示例2:估计两个数据通道之间的相干性该示例演示了访问专有的LIGO仪器数据并估计加速度计信号和校准的GW应变数据之间的相干性(见图1)。 2)的情况。清单2:使用GWpy估计两个时间序列之间的一致性的示例代码。从gwpy.timeseriesimport TimeSeriesDict data =TimeSeriesDict.get(“H1:GDS-CALIB_STRAIN',”H1:PEM-CS_ACC_PSL_PERISCOPE_X_DQ '],1126260017,1126260617,)hoft = dataacc = datacoh = hoft.相干性(acc,fftlength=2,overlap=1)图= coh.图(xlabel)plot.show)搜索结果4. 影响GWpy现在是GW数据分析中广泛使用的库,有40多个下游依赖项[36]和250多个恒星[37],包括LALInference [38],PyCBC[11]和Bilby [16]。直观的面向对象界面显著减少了大多数GW数据分析管道常见的重复性任务的开销,使研究科学家(预处理任务。GWpy特别支持创建或增强两个广泛使用的基于Web的服务。LIGO Data Viewer Web(LDVW)[39]是一个基于浏览器的应用程序,通过简单的Web表单实现数据可视化。这个应用程序现在使用GWpy作为其大多数可用产品的后端。 LIGO摘要页面[14]是GW网络性能的自动更新Web视图,包括ASD,ASD频谱图,敏感距离趋势和瞬态故障图。该系统生成O(1000)优值,每个LIGO天文台平均每30分钟更新一次,所有这些都是使用GWpy作为数据处理和可视化的后端生成的。这两项服务共同使LIGO科学合作组织(LSC)和Virgo Col的所有成员能够看到关于探测器网络性能的最新信息,并以相同的外观和感觉复制和生成自己的品质因数,大大提高了数据的可比性。通过GWpy可以轻松访问和处理数据,这对于验证邓肯·M作者:Joseph S.作者:Scott B.Coughlin等人软件X 13(2021)1006574图1.一、清单1的输出图。图二、清单2的输出图。GW 150914 [17],引力波的首次探测,以及随后的探测[40,41]。5. 结论GWpy是一个Python包,为越来越多的GW数据分析工作流提供了基本的构建块。它提供了一个用户友好的、面向对象的界面,可以简化多格式数据I/O、信号处理和可视化,从而显著降低研究人员在开发科学分析软件时的开销。GWpy对于高级激光干涉引力波天文台(aLIGO)的成功至关重要,它可以创建和操作基于控制台和网络的工具,这些工具加速了数据质量调查和对GW探测器数据的理解竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作确认作者要感谢LIGO科学合作组织和Virgo合作组织的所有成员,以及更广泛的科学界,感谢所有与GWpy相关的建设性反馈,错误报告和功能请求。DMM得到了欧盟地平线2020框架计划的支持,英国的赠款协议编号为663380-CU 073。邓肯·M作者:Joseph S.作者:Scott B.Coughlin等人软件X 13(2021)1006575引用[1] LIGO科学合作先进的LIGO经典量子引力2015;32(7):074001.[2] Acernese F等人,Advanced Virgo:a second generationinterferometricgravitationalwave detector。经典量子引力2015;32(2):024001.[3] Abbott BP等人,观测来自双黑洞合并的引力波。Phys Rev Lett2016;116(6):061102。[4] Abbott BP,et al. GW170817:观测来自螺旋状双星的引力波。Phys RevLett2017;119(16):161101。[5] Python软件基金会,Python语言参考,http://www. python.org网站。[6] 罗林斯长基线引力波探测器的分布式状态机监控。Rev Sci Instrumum2016;87(9):094502。[7] Viets AD等人,在先进的ligo探测器中重建校准的应变信号。经典量子引力2018;35(9):095015.[8] Essick R等人,优化重力波瞬态搜索的否决权。经典量子引力2013;30(15):155010.[9] Urban AL等人,GWDetchar,https://doi.org/10.5281/zenodo.2575786。[10] Smith JR等人,Hveto,https://doi.org/10.5281/zenodo.2584615。[11]UsmanSA , etal.Thepycbcsearchforgravitationalwavesfromcompactbinary coalescence.经典量子引力2016;33(21):215004.[12]在引力波数据中快速发现紧凑双星合并的分析框架。物理学修订版D2017;95(4):042001。[13]皮特金 CWInPy,https://cwinpy.readthedocs.io/。[14] MacleodDM,UrbanA,etal.GWSumm.https://doi.org/10.5281/zenodo的网站。2647609[15]辛格湖 GWCelery。https://gw.readthedocs.io/projects/gwcelery/网站。[16]Bilby : A user-friendly Bayesian inference library forgravitational-waveastronomy. Astrophys J Suppl2019;241(2):27.[17]Abbott BP , et al. Characterization of transient noise in advanced LIGOrelative-evant to gravitational wave signal GW 150914.经典量子引力2016;33(13):134001.[18]Robitaille TP等人,Astropy:天文学社区Python包。2013年。[19]Colette A,et al.h5py。https://www.h5py.org网站。[20]亨特JD。Matplotlib:2D图形环境。计算机科学与工程2007;9(3):90-5.http://dx.doi.org/10.1109/MCSE.2007.55网站。[21]奥列芬特一个指南NumPy,卷。1.一、Trelgol Publishing USA; 2006.[22]Virtanen P等,Scipy 1.0:Python中科学计算的基本算法。Nature Methods20182020;17(3):261-72.[23]麦克劳德 DM.dqsegdb2. https://doi.org/10.5281/zenodo.2559254网站。[24]麦克劳德GWDataFind. https://gwdatafind.readthedocs.io/网站。[25]麦克劳德 DM.gwosc。https://doi.org/10.5281/zenodo.1196305网站。[26]坎农K ligo-segments。https://lscsoft.docs.ligo.org/ligo-segments/网站。[27]韦特湾 SWIGLAL : LALSuite引力波 数据分析 库的Python 和octave接口 。SoftwareX2020;12:100634.[28]Robitaille TP等人,Astropy:天文学社区Python包。 A& A2013;558:A33。[29]van der Walt S,Colbert SC,Varoquaux G. NumPy数组:一种高效数值计算的结构,Comput Sci Eng,13(2):22[30]DQSEGDB: Atime-intervaldatabaseforstoringgravitationalwaveobservatory metadata. SoftwareX 2021.正在筹备中。[31]LIGO V.干涉引力波探测器(IGWD)的通用数据帧格式规范ligo-t970130。2009,https://dcc.ligo。org/LIGO-T970130/public.[32]特罗瓦托河引力波开放科学中心。在:多信使天体物理学新时代的进展- PoS(Asterics 2019)。的里雅斯特,意大利:SISSA Medialab; 2020,p. 082.[33]坎农K python-ligo-lw. https://git.ligo.org/kipp.cannon/python-ligo-lw/.[34]Brun R,Rademakers F. ROOT:面向对象的数据分析框架。在:物理研究中的新计算技术V.会议记录,第五届国际研讨会,AIHENP '96,瑞士洛桑,1996年9月2日至6日。核仪器方法A 1997;389:81-6. http://dx.doi.org/10的网站。1016/S0168-9002(97)00048-X。[35]布朗JC。常q谱变换的计算。J Acoust Soc Am1998;89(1):425-34.[36]GWpy依赖者。https://github.com/gwpy/gwpy/network/dependents网站。[37]GWpy观星者https://github.com/gwpy/gwpy/stargazers网站。[38]Veitch J等人,使用LALInference软件库进行基于地面引力波观测的紧凑双星的参数估计。物理学修订版D2015;91(4):042003。[39]LIGodv-web:为LIGO科学合作提供对大型分布式科学数据存储的简单、安全和通用访问。 A& C2017;18:27-34.[40]数据质量否决对高级LIGO第一次观测运行中寻找紧凑二元聚结的影响。经典量子引力2018;35(6):065010.[41]纳 托 尔 湾 描 述 LIGO 探 测 器 中 的 瞬 态 噪 声 。 Phil TransR Soc A2018;376(2120):20170286。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功