没有合适的资源?快使用搜索试试~ 我知道了~
免费开源的Python软件包,用于非极光地球电离层模型
∼沪公网安备31011502000118号原始软件出版物pyFIRI-一个免费开源的Python软件包,用于非极光地球Oleg Zolotova,b,Yulia Romanovskayab,Maria Knyazevaaa近地环境计算机模拟实验室,俄罗斯bMurmanskState Technical University,Sportyvnaya St. 十三岁,地址:183010,Murmansk Region,Russiaar t i cl e i nf o文章历史记录:2021年8月12日收到收到修订版2021年10月8日接受2021年保留字:Python包FIRI模型d区域地球低电离层a b st ra ctPyFIRI是FIRI-2018的一个免费开源Python 3实现,FIRI-2018是地球电离层D区的模型。与其他电离层相比,这一区域是最难观测和建模的区域之一。FIRI-2018是国际参考电离层模型中包含的FT-2001模型的更新版本,该模型是事实上的标准电离层模型。最初,FIRI-2018模型是作为一组以表格形式存储和分发的值提供的,Microsoft Excel文件。相关各方必须自己实现数据操作的自动化。pyFIRI提供了一种简单版权所有©2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本0.0.1b8用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00148Code Ocean compute capsulenoneApache许可证,2.0(Apache-2.0)使用git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求,操作环境依赖性python 3.6-3.8,scipy,xarray如果可用开发人员文档/手册问题支持电子邮件ZolotovO@gmail.com软件元数据当前软件版本0.0.1b8此版本可执行文件的永久链接https://pypi.org/project/pyfiri/0.0.1b8/Apache许可证,2.0(Apache-2.0)计算平台/操作系统Linux,Microsoft Windows 10安装要求依赖关系Python 3,pip,numpy,scipy,xarray如果可用,请链接到用户手册-如果正式出版,请在参考列表中包括参考文献问题支持电子邮件ZolotovO@gmail.com通讯作者:近地环境计算机模拟实验室,摩尔曼斯克北极州立大学,Egorova街15,摩尔曼斯克,183038,摩尔曼斯克地区,俄罗斯。电子邮件地址:ZolotovO@gmail.com(Oleg Zolotov).https://doi.org/10.1016/j.softx.2021.1008851. 动机和意义地球的电离层D区(60-90公里)是与其他电离层相比最难观测和建模的区域之一。垂直入射电离层遥感不能提供90公里以下的可靠电子密度信息2352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxOleg Zolotov、Yulia Romanovskaya和Maria Knyazeva沪公网安备31011502000118号2=[客户端][][][](E区下限)。由于卫星,包括现代极低轨道卫星,不在300公里高度以下的轨道运行,因此无法进行卫星现场测量。 由于F2层电子密度最大,卫星顶面探测是不可能的。广泛使用的GPS导出的总电子含量(TEC)的估计不适用于D区研究,因为大多数基于GPS的技术估计从卫星到地面接收器的路径上的积分电子含量,并且TEC中的主要沉积物是由于F区等离子体,特别是F2层最大值。传统的气球观测,包括高空气球,都达不到D区的下边界。甚低频斜入射遥感能提供D区电子密度,但这是一个很粗略的估计。火箭测量非常稀少。部分反射雷达很少连续工作,公众用户往往不能免费获得数据。非相干散射雷达(ISR)是一种独特的设施,其建造和运行费用都非常高。此外,运行独特ISR雷达的阿雷西博天文台在2020年遭受了地震的严重影响[1]。同时,D区对电离层下的地球-电离层波导传输具有重要意义它也是基本的估计HF吸收,这可能会导致通信问题,从衰落到完全无线电停电,在这个频率范围内。此外,许多现代自洽的、半经验的和自适应的电离层和全大气模式都要求可靠的D区表示作为下边界条件。它也可能成为大气科学(包括全球变化调查)的宝贵支持信息来源[2]。法拉第-国际参考电离层(FIRI-2018)是一个地球非极光电离层的半经验D区模型[3]。它计算垂直电子密度Ne(m−3)作为一年中的一天(DOY),太阳天顶角(deg.),纬度(度),太阳射电通量F10.7指数(s.f.u. - 太阳通量单位,1s。F. 联合10 −22 W m −2 Hz −1)。FIRI的上一个版本FT- 2001[4]被纳入了一个著名的成熟的国际参考电离层(IRI-2016)模型是地球电离层的事实上的标准模型[5,6]。最初,FIRI-2018模型是以一种成熟但稍微不方便的方式提供的-作为一组以Microsoft Excel文件(xlsx文件)的形式存储和分发给最终用户的列表值。相关方应自行执行或自动化数据提取、插值或操作。这可能是一个耗时的过程,需要在最终用户计算机上安装MS Excel。不能使用免费的打开FIRI-2018 xlsx文件时,Libre Office Calc 报 告 该 文档 包 含 太 多 列 。Open Office Calc(v.1.1.10)表现更差。它可能会使用户感到困惑,因为它只显示列的一个子集,并静默地截断所有超出支持限制的列,因此,需要一种方便的方法来执行FIRI- 2018模拟,以提高科学生产力,减少人力消耗,并消除与人为因素有关的许多错误。2. 软件描述作为FIRI-2018 [ 3 ]之上的一个包装器,pyFIRI具有以下假设和局限性:(1)地球近似于一个球体;(2)纬度在球地心坐标中给出;(3)模型适用于非极光非扰动低电离层;(4)模型廓线在60km以上和电子密度大于10 6 el时被认为是可靠的。m 3 [3],尽管精度在10 6 - 10 8 el ./m3;(5)模式绝大多数是基于北半球观测(>80%);(6)模式不依赖于北半球观测(> 80%)。包括经度作为输入参数,而是通过太阳天顶角间接考虑(7)该模型通过太阳天顶角间接地考虑了当地时间;由于这一点,仅考虑整数天数;(8)该模型是假设365天的“正常"年构建的(10)电子密度分布的顶部具有不确定性,并且被提供给终端用户以允许实现2.1. 软件构架pyFIRI被设计为一个Python 3包,用户可以使用标准的Python3包安装程序(pip/pip 3)从Python包索引(PyPI)存储库中获取和安装。在内部,pyFIRI是一个围绕列表电子密度值的薄包装器,它向用户公开了一个简单的基于xarray的API(应用程序它以NetCDF [7]文件格式存储FIRI-2018数据,并依赖于广泛使用的xarray [8],scipy [9]和numpy [10]包进行数据加载,选择和插值。因此,pyFIRI应该可以移植到任何平台上,只要有Python 3解释器和上面提到的包为了减少相对缓慢的持久性存储(HDD -硬盘驱动器,SSD -固态驱动器)读取操作的数量,将列表值加载到操作存储器(RAM)- 随机存取存储器)仅当实例化“firi2018 "类的第一个实例时。所有其他实例获取已预加载数据的副本。我们决定不在firi2018类的所有实例之间共享单个数据副本,以防止用户意外损坏数据为了获得可维护性和可读性,我们遵循Python最佳实践,并根据PEP8“Python风格指南”的要求格式化pyFIRI源代码源代码版本控制使用Git软件和gitlab的公共存储库进行。Python wheel(Python包二进制分发)的生成是通过Python 3脚本自动进行的,该脚本也托管在gitlab存储库中。2.2. 软件功能“”firi 2018“" 类 方 法 形 成 了 以 下 可 供 最 终 用 户 使 用 的 API :( 1 ) ”“get_profile”“ , ( 2 ) ”“interp”“ 和 ( 3 ) ”“asDataAr-ray”“。“get_profile”方法计算垂直电子密度(el ./ m3)剖面、太阳天顶角(以度为单位)、纬度(以度为单位)和太阳射电通量指数F10.7(s.f.u.)。它检查输入值是否在预期范围内,否则生成异常。预期范围为1.. 365为DOY,0.. 130 对于太阳天顶角, 0个.. 60代表纬度(北半球),75代表纬度。200点为F10.7指数。“get_profile”方法使用线性插值来获取任意点处的值,并且不执行外推。结果值和元数据作为“xarray. DataArray”对象公开给用户。由于“get_profile”方法不提供外推过程,因此用户必须显式执行外推。例如,为了计算位于南半球的纬度,可以应用以下外插算法:(1)最初,计算日期应该移动半年以考虑季节的变化;(2)然后,可以对北半球的对称点执行常规计算;(3)为了防止将来对结果的误解,关于“xarray. DataArray”结果对象的纬度和日期的由于外推法将额外的不确定性引入结果,pyFIRI软件包不提供外推算法,用户必须明确地做出选择由用户决定所引入的外推算法及其误差是否符合要求。Oleg Zolotov、Yulia Romanovskaya和Maria Knyazeva沪公网安备31011502000118号3======-Fig. 1. pyFIRI包的安装示例。感叹号(“!”)在命令的开头,需要使用Notebook到底层shell执行;'' pip ''是标准的python包安装程序;'' pyfiri ''是要安装的包名称。准确的输出可以在特定机器上不同The ‘‘interp’’ method is a direct proxy to the ‘‘interp’’因此,用户可以访问“DataArray. interp”方法的所有功能感兴趣的用户应该查阅''唯一的区别是,对于1980号剖面,我们通过最近邻插值引入了DOY350的值,并删除了DOY349的值。这样做是为了均匀地呈现数据,因为所有其他剖面都包含DOY350的数据。感兴趣的各方可以撤销我们的更改(通过简单地重新标记配置文件编号1980)或应用另一个插值过程,如果需要的话,但我们相信我们的方法适合大多数用例。3. 说明性实例本节演示了一个用户与交互式计算环境EQUYTER Notebook的交互工作流。因为开放海洋计算舱实际上是一个无头的码头环境 , 它 不 能 使 用 。 所 有 python 代 码 片 段 都 是 为 GoogleColaboratory环境(https://colab. research.google.com/),一个免费的笔记本电脑服务。所有示例也应该在本地计算机上工作。这里使用的云环境允许用户使用pyFIRI包进行实验,而无需在本地安装任何东西。要使用pyFIRI包,应该安装它,将包导入到命名空间中,并创建firi2018类的实例来执行计算。 pyFIRI软件包设计用于使用标准python3 pip命令进行安装(参见图1)。①的人。它会自动下载并安装软件包及其所有依赖项。pip命令的确切输出可能与图中所示的不同。1,并取决于预安装的软件包和环境配置。图图2-2021年2月11日,太阳天顶角χ30度,纬度φ太阳射电通量F 10。7120(s. F. 联合); 2021年2月11日是一年中的一天42.图2提供了演示如何导入pyFIRI包、实例化firi2018类并执行使用“get_profile”方法进行计算。计算结果作为一个xarray对象返回,该对象保存这些值和相应的元信息。坐标实际上是结果的维度,如图2(底部)所示。相应的垂直电子密度值如图所示. 3.第三章。'get_profile'方法在与“get_profile”方法相比,“interp”方法不执行输入参数的额外测试,并提供“DataArray.interp”方法的确切接口,xarray用户社区应该熟悉该接口。因此,目前支持的值是“firi2018.interp”方法使用的示例它假设变量“model”是firi2018类的一个实例,与图1中完全相同。二、得到的电子密度值与图11中的相同。2,但返回的数组的维数减少了。如果任何输入参数超出预期范围,则不会生成异常,并返回一个包含NaN(非数字)值的xarray对象(见图10)。 5)。4. 影响到目前为止,FIRI-2018模型仅作为xlsx文件中提供的表格提供给最终用户。为了顺利使用它,应该选择适当的软件工具箱,将数据从xlsx文件转换为所需的文件格式(如CSV,netCDF,CDF),甚至手动处理数据软件工具箱通常是可用的许可证、自由软件和特定科学团体的传统。FIRI模型的前一版本,即FT-2001,目前可作为IRI-2016的一部分提供给最终用户,IRI-2016作为Fortran源代码分发,但没有提供FIRI-2018代码。For- tran语言是为高效的数学计算而设计的为了消除这些限制,围绕IRI模型存在许多Python包装器。Oleg Zolotov、Yulia Romanovskaya和Maria Knyazeva沪公网安备31011502000118号4图二. 使用“get_profile”方法执行电离层D区域垂直电子密度计算所需的最小代码片段。输入参数为day年中最大的太阳辐射量(“doy”)、太阳天顶角(“chi”,单位为度)、纬度(单位为度)和太阳射电通量F10.7指数(“f10_7”,单位为s.f.u.)。最后一行打印出坐标结果的xarray。图3.第三章。根 据 图 1 中 的 代 码 片 段 计 算 的D区域垂直电子密度值的 示 例 输 出 。 二、如今,科学模拟通常围绕Python数值库进行组织(例如,NumPy 、 SciPy 、 Pandas ) 、 GPU 库 ( 例 如 , Numba ,pyOpenCL),具有作为图形用户界面的嵌入式笔记本的交互式计算环境嵌入式,包交付和安装基础设施(例如,pip PyPI,Anaconda)和用于分布式计算的云服务[13,14]。Quixyter 支 持 40 多 种 编 程 语 言 ( 包 括 Python 、 R 、 Julia 和Octave),并允许在异构环境中执行计算。我们的pyFIRI包实现无缝地将FIRI-2018模型引入到这个以Python和Python为中心的科学研究组织实践生态系统中。Oleg Zolotov、Yulia Romanovskaya和Maria Knyazeva沪公网安备31011502000118号5图四、使 用 “ in t e r p " 方 法 计 算 D区垂直电子密度的 示 例 。 变量“ 模 型 " 与 图 中 的 相 同 。 二、图五、“ i n t e r p " 方 法 计 算 一 年 中 不 正 确 日 期 的 示例(doy=420)。返回包含NaN(非数字)值的xarray对象pyFIRI受益于用户pyFIRI提供了一个简单的API,可以显著降低入门门槛和使用复杂性,并吸引更多的研究人员和Python社区用户。Cyberter环境非常适合与模型的交互式实验和批处理模式下的长期模拟。它允许相对容易地将FIRI-2018模型与其他地球物理模型相结合,以可重复的方式组织计算,并在科学界内共享结果。由于pyFIRI是在xarray和SciPy库之上的纯Python 3中实现的,因此它应该在具有相应库和Python 3解释器实现的操作系统和硬件架构当安装、配置和使用优化版本的数值库时,目标系统。PyFIRI许可证,即Apache 2.0许可证,不施加重大限制,应该适合大多数研究和商业项目。5. 结论本文介绍了PyFIRI的公共版本,这是法拉第-国际参考电离层(FIRI-2018)模型的免费开源Python 3实现。它计算非极光地球pyFIRI包旨在吸引在Python 3编程方面具有不同技能的电离层研究人员。一个简单的API(“get_profile”方法)是针对新手的。它返回垂直的电子密度分布,并执行一些额外的测试输入参数的一些性能损失的代价。py- FIRIOleg Zolotov、Yulia Romanovskaya和Maria Knyazeva沪公网安备31011502000118号6方法,面向熟悉xarray库的用户。它消除了这种性能损失,并向熟练的用户提供了与“xarray.DataArray interp”方法完全相同的行为。文档中提供了这两种方法的示例。pyFIRI允许将FIRI-2018模型轻松集成到Python和Python科学生态系统中,并提供标准的“Python”方式来使用Python包安装程序(pip)基础设施交付,安装和更新模型。pyFIRI的内部实现并不局限于任何特定的硬件架构特性,而是依赖于xarray、numpy和scipy来获得在不同操作系统和硬件架构上的可移植性和性能。PyFIRI是在Apache 2.0许可证下发布的,适用于许多开源和闭源项目以及自由和商业软件。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢作者感谢Martin Friedrich博士对FIRI-2018模型进行了富有成效的讨论和详细的咨询。我们承认博士。马丁·弗里德里希博士KlausTorkar和Christoph Pock免费提供FIRI-2018数据,并允许将这些数据用于pyFIRI包。如果没有它,pyFIRI包将无法开发。作者感谢匿名审稿人的宝贵意见,这些意见帮助我们显著改进了手稿引用[1]维 策 河 传 奇 的 阿 雷 西 博 望 远 镜 将 永 远 关 闭 - 科 学 家 们 感 到 震 惊 。 Nature2020;587(7835):529-30. http://dx.doi.org/10.1038/d41586-020-03270-9.[2] 弗里德里希·M.低电离层:被通信抛弃,将被重新发现用于高层大气学。URSIRadioSciBull2004;2004(309):38-46.http://dx.doi.org/10.23919/URSIRSB.2004.7909615网站。[3][1]李文辉,李文辉. FIRI-2018,一个更新的低电离层经验模型。J GeophysRes:Space Phys 2018;123:6737-51. http://dx.doi.org/10.1029/2018JA025437网站。[4]Friedrich M,Torkar K. FIRI:低电离层的半经验模型.地球物理研究杂志2001;106:21409-18. http://dx.doi.org/10.1029/2001JA900070。[5] 比 利 察 湾 IRI 是 电 离 层 的 国 际 标 准 。 Adv Radio Sci 2018;16 :1http://dx.doi.org/10.5194/ars-16-1-2018网站。[6] Bilitza D , Altadill D , Truhlik V , et al. International referenceionosphere2016 : Fromionosphereclimatetoreal-timeweatherpredictions.太空天气2017;15:418-29.http://dx.doi.org/10.1002/2016SW001593网站。[7]Rew R, Davis G.NetCDF : 科 学数 据 访问 接 口IEEE Comput Graph Appl1990;10(4):76http://dx.doi.org/10.1109/38.56302网站。[8] Hoyer S,Hamman J. Xarray:Python中的N-D标记数组和数据集。JOpen Res Softw 2017;5(1):10.http://dx.doi.org/10.5334/jors.148网站。[9]Virtanen P , Gommers R , Oliphan T , et al. SciPy 1.0 : Fundamentalalgorithms for scientific computing in Python. Nature Methods 2020;17(3):261-72. http://dx.doi.org/10.1038/s41592-019-0686-2网站。[10]Harris C , Millman K , Walt S , et al. Array programming with NumPy.Nature 2020;585:357-62. http://dx.doi.org/10.1038/s41586-020-2649-2网站。[11]Rossum G,Warsaw B,Coghlan N. PEP 8风格的Python代码指南。2013,https://www.python.org/dev/peps/pep-0008/。[12]xarray.DataArray.interp.2021.http://xarray.pydata.org/en/stable/generated/xarray.DataArray.interp.html。[13] 奥 列 芬 特 Python 用 于 科 学 计 算 Comp Sci Eng 2007;9 ( 3 ) : 10http://dx.doi.org/10.1109/MCSE.2007.58网站。[14]Perez F,Granger B,Hunter JD. Python:一个科学计算的生态系统。CompSci Eng 2011;13 ( 2 ) : 13-21. http://dx.doi.org/10.1109/MCSE 的 网 站 。2010.119。
下载后可阅读完整内容,剩余1页未读,立即下载
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)