国际电离层参考模型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库,用 ...
最新文章
- 调包侠福音!机器学习经典算法开源教程(附参数详解及代码实现)
- Directx教程(27) 简单的光照模型(6)
- Python导入模块(包)的两种方式 TypeError: 'module' object is not callable
- mysql php 新手卡生成_PHPMaker(基于MYSQL数据库自动生成PHP 脚本的软件)
- 学习笔记:InnoDB存储结构及多版本实现
- 11 CO配置-控制-成本中心会计-定义分割结构
- Htmlt_Div+Css简介
- Java并发编程-ReentrantLock可重入锁
- 深入理解Webpack核心模块Tapable钩子[同步版]
- Mac怎么合并文件夹
- 数据之路 - Python爬虫 - Scrapy框架
- Unstated浅析
- android启用hdcp_如何在Android的Google键盘中启用单手模式
- HL340(usb转串口线)驱动
- Opencv3.2各个模块功能详细简介(包括与Opencv2.4的区别)
- Android解决Can't create handler inside thread that has not called Looper.prepare()
- CityBuilder+DataV制作次世代3D城市大屏,一秒俘获甲方的心!
- AR1021x USB网卡驱动学习笔记
- 详细图解3阶段事务提交及单点故障和网络脑裂问题
- 关于jQuery中的submit事件
热门文章
- 用Python做游戏有多简单
- 安装部署postgresql-15 高可用(pgpool)
- 用Vue实现购物车组件
- java 参数可传可不传,求大神指教为什么参数传不进来
- oracle --sql--转换表字段日期格式(年月日时分秒转换年月日)
- 快速幂——Jxc军训
- 小米android10升级版本,小米基于安卓9.0的MIUI10稳定版来了,你的手机可以更新吗?...
- 西安殡仪馆引入 3D 打印技术,修复逝者遗容
- stm32f3新建工程_青风带你探索stm32f3 系列教程及源代码
- WDK下载错误如何卸载WDK