国际电离层参考模型IRI2016的python包
这个包采用的是首次运行时编译的方法。所以直接下载安装iri2016库:pip install iri2016。
如果是windows平台,需要安装intel oneAPI fortran编译器。
安装完成后,从启动菜单找到Intel oneAPI command prompt for Intel 64 for Visual Studio 2017快捷方式,启动命令提示符。
在界面运行python运行环境:比如"D:\python\WPy64-3741\WinPython Powershell Prompt.exe"
然后执行:python -m iri2016.time 2014-11-21 2014-11-22 1 -11.95 -76.77。
启动编译链接过程。如果正常,会输出曲线和图表。
或者下载编译好的iri2016_driver.exe,拷贝至对应python源文件的根目录。https://download.csdn.net/download/novanova2009/66759449https://download.csdn.net/download/novanova2009/66759449
编译时cmake总提示The Fortran compiler identification is unknown,设置了FC等环境变量都没有帮助。需要用intel自己的环境变量设置方式才可行。
执行方式
IRI函数的参数包括年月日时分秒字符串,高度列表(起始高度、终点高度、步长),经度和纬度。终点高度比起始高度小,则只获得起始高度的密度等参数。
>>> iono = iri2016.IRI("2003-11-21T12",(80,1000,10),100,100)
>>> iono
<xarray.Dataset>
Dimensions: (alt_km: 93, time: 1)
Coordinates:* time (time) datetime64[ns] 2003-11-21T12:00:00* alt_km (alt_km) float64 80.0 90.0 100.0 110.0 ... 980.0 990.0 1e+03glat int32 100glon int32 100
Data variables:ne (alt_km) float64 3.773e+08 1.874e+09 ... 3.78e+09 3.671e+09Tn (alt_km) float64 225.6 205.1 171.5 ... 1.226e+03 1.226e+03Ti (alt_km) float64 225.6 205.1 171.5 ... 1.938e+03 1.947e+03Te (alt_km) float64 225.6 205.1 171.5 ... 2.436e+03 2.435e+03nO+ (alt_km) float64 13.65 1.275e-08 ... 2.965e+09 2.875e+09nH+ (alt_km) float64 0.0 0.0 0.0 ... 4.961e+08 4.894e+08nHe+ (alt_km) float64 0.0 0.0 0.0 ... 1.156e+08 1.139e+08nO2+ (alt_km) float64 9.078e+05 2.832e+07 9.242e+07 ... 0.0 0.0nNO+ (alt_km) float64 3.764e+08 1.846e+09 2.497e+09 ... 0.0 0.0nCI (alt_km) float64 -3.773e+06 -1.874e+07 ... -3.671e+07nN+ (alt_km) float64 0.6276 8.967e-10 ... 2.028e+08 1.921e+08NmF2 (time) float64 1.031e+11hmF2 (time) float64 321.6NmF1 (time) float64 -1.0hmF1 (time) float64 -1.0NmE (time) float64 2.616e+09hmE (time) float64 110.0TEC (time) float64 2.496e+16EqVertIonDrift (time) float64 -1.0foF2 (time) float64 4.125
Attributes:f107: 172.800003ap: 42.0
该包还提供了直接输出图形的执行方式,例如随高度的分布、随时间的变化、随纬度的变化等。
python -m iri2016.altitude 2003-11-21T12 -11.95 -76.77
python -m iri2016.latitude 2004-11-21T17 -76.77
python -m iri2016.time 2014-11-21 2014-11-22 1 -11.95 -76.77
这个python包比较讨巧,采用的是直接读取exe程序输出的方式。exe程序输入参数为:
year month day hour minute second glat glon min_alt_km max_alt_km step_alt_km datadir
例如,iri2016_driver.exe 2001 1 1 0 0 0 100 100 80 1000 10 ".\data\"
输出结果如下:
80.000 3.79980832E+08 2.20996964E+02 2.20996964E+02 2.20996964E+02 5.98255920E+00 0.00000000E+00 0.00000000E+00 1.03725556E+06 3.78943616E+08 -3.79980825E+06 2.79794663E-0190.000 2.30350182E+09 2.13448318E+02 2.13448318E+02 2.13448318E+02 9.41277012E-09 0.00000000E+00 0.00000000E+00 4.12383160E+07 2.26226355E+09 -2.30350180E+07 1.74804393E-09100.000 3.53089408E+09 2.00654236E+02 2.00654236E+02 2.00654236E+02 9.35555300E-10 0.00000000E+00 0.00000000E+00 1.49334368E+08 3.38155955E+09 -3.53089400E+07 1.54988411E-05
含义分别是
高度,电子密度ELECTRON DENSITY/M-3,中性大气温度NEUTRAL TEMPERATURE/K,离子温度ION TEMPERATURE/K,电子温度ELECTRON TEMPERATURE/K,O+离子密度,H+离子密度,HE+离子密度,O2+离子密度,NO+离子密度,CLUSTER IONS DEN,N+离子密度
然后输出的结果为ADDITIONAL OUTPUT PARAMETERS的OARR数组结果。详细信息参考isi_sub程序。
f107和ig_rf文件需要从irimodel.org下载。
国际电离层参考模型IRI2016的python包相关推荐
- MATLAB读取国际电离层参考模型(IRI) 数据 绘制TEC网格
文章目录 前言 一.IRI模型 二.使用步骤 1.代码下载 2.代码修改 3.代码完善 完整代码链接 4.读取数据说明 前言 最近导师安排的工作需要使用 IRI 模型提供的TEC(单位面积总电子含量) ...
- python包 wget_Python数据科学“冷门”库
原标题 | Lesser Known Python Libraries for Data Science 作者 | Parul Pandey 译者 | CONFIDANT(福建师范大学).Seabis ...
- python包引用问题
python模块引用梳理 文件组织结构: 复制代码 t ├── __init__.py ├── main.py ├── t1 │ ├── A.py │ └── __init__.py └── t2 ├ ...
- Python包管理工具Distribute的安装
Python包管理工具Distribute的安装 Python的包管理工具常见的有easy_install, setuptools, 还有pip, distribute,那麽这几个工具有什么关系呢,看 ...
- python 发布包_如何将自己的Python包发布到PyPI
以前写过一篇类似的文章: 如何打包自己的项目并且发布到pypi上,不过由于PyPI进行了一些更新,因此旧方法不大适用了.趁端午有时间,想把haipproxy的客户端发布到PyPI,以改进用户体验,因此 ...
- Python 包安装和 postgresql 的一些问题
今天安装 hgvs 这个 python 包的时候,遇到几个比较有代表性的问题,记录分享一下. hgvs is a Python package to parse, format, validate, ...
- python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例
python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例 目录 python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例
- python包NiBabel对医学影像文件格式进行读写并可视化实战:查看和显示.nii.gz、.nii文件
python包NiBabel对医学影像文件格式进行读写并可视化实战:查看和显示.nii.gz..nii文件 目录 python包NiBabel对医学影像文件格式进行读写并可视化实战:查看和显示.nii ...
- 使用python包faker生成仿真数据
使用python包faker生成仿真数据 在编写程序过程中,我们常常需要用到很多数据来进行测试.如果要是手动制造数据的话,肯定要花费大把精力,这不合理.此时我们应该使用Faker这个Python库,用 ...
最新文章
- SublineText 3 安装 Package Control插件
- Atitit 关于处理环保行动联盟和动物解放阵线游击队的任命书 委任状
- Codeforces 685C Optimal Point (二分、不同类型距离的相互转换)
- go interface 的坑
- CrossPHP框架的常用操作
- 正在利用0day 时被人发现了,然后我灵机一动……
- linux配置NFS系统
- Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程
- Windows毫秒精度定时器SetTimer
- vb连接mysql教程视频_VB连接MYSQL数据的方法
- aho-corasick php,Aho-Corasick自动机浅析
- dp题目总结(1)——基础
- 各类对象属性拷贝工具性能测试对比(BeanCopier、BeanUtils、DozerBeanMapper、PropertyUtils)
- 微信公众号教程-注册发布文章
- H5/C3进阶(9) -- 元素的显示与隐藏
- 使用 Prometheus-Operator 监控 Calico
- 计算机应用基础前言,大学计算机基础
- Ubuntu开发环境_TLP电源管理模块、禁用笔记本触摸板
- 打开CHM文件内部中文乱码问题的解决
- 如何准备才能提高面试的通过率拿到offer?