如何从HITRAN数据库 获取数据
最近研究了一下HITRAN 数据库,在网络上关于HITRAN 的介绍不是很多,而且有点不太详细。所以这篇博客就从小白的角度介绍一下HITRAN 数据库以及从中获取数据的方法。
1. HITRAN是用来干嘛的
HITRAN数据库是光谱参数的汇编,用于模拟和分析气态介质(尤其是陆地大气)中的光的传输和发射。 自1960年代末成立以来(当时仅包含了七个在自然陆地大气中具有红外活性的吸收剂),它经历了许多修改和扩展。 在其最新的主要版本(HITRAN2012)中,数据库的逐行(line-by-line)部分包含将近450万个离子对,总共包含47个不同分子的116个单独的同位素。 对于这些过渡中的每一个,都提供参数以计算其强度和线形随温度和压力的变化,并假设具有通过与两种类型的分子碰撞而确定的洛伦兹分量的Voigt轮廓:“air”和“self”。
详细的介绍可参看:https://zhuanlan.zhihu.com/p/132358533
说实话,我也不是很懂上面这段话所要表达的意思(也许自己专业不是太贴合),但是有胜于无,上面知乎上的这篇文章是我在hitran online(http://hitran.org/)上面找到的一篇英文文章 翻译了一下。前人栽树后人乘凉,我就当是为西学中用做那么一丢丢贡献好了。
2. 如何获取数据
获取数据的方法主要有两种,一是从 hitran online(http://hitran.org/)上面直接下载,上面文章中有详细介绍,并且本人亲测有效!
接下来重点介绍一下第二种方法:使用http://hitran.org/hapi上提供的一个python 包:
老外做的帮助文档真的很给力,只不过是英文的(看见英文就头大),但是翻译一下就知道老外做的东西有多么精细。
下这个数据一般都是在Linux 下进行的。此篇博客基于ubuntu 18.04
关于这个API,可以参看文章:https://zhuanlan.zhihu.com/p/132532661
下面开始介绍实操内容:
首先你电脑上得有Python ,还得下几个包:Numpy Matplotlib
等,详细参看用户手册。如何下载,在终端中输入命令:sudo apt-get install python
即可。
1.在http://hitran.org/hapi上把那个python 包下载下来。
2.找一个地方(最好是固定,不长动的地方)建立一个文件夹存储下载的数据。
可以看到,我建了一个hitran 文件夹,之后又建了一个data 文件夹准备用来接受下载下来的数据。
3.将从hitran online上下载的包复制到这个文件夹中,然后右键,打开终端。
4.在终端中输入python 进入python
5.引用刚才下的包:from hapi import *
并且告诉程序将数据下到指定文件夹:db_begin('data')
’ ’ 中是指定文件夹的名称,这里设成了data
6.开始下载所需数据,这里以下载H2O 为例:fetch('HOH', 1, 1, 4000, 4100)
7.接着就可以在 data 文件夹下看到下载下来的文件了,
可以看到下载了两个文件,一个是data文件存储数据,一个是header 文件存储描述。
这个接口处理数据的方法可以阅读帮助手册,也可以参看这篇文章:https://zhuanlan.zhihu.com/p/112537228
最后展示一下下载出来的数据:
引用文章
[1] 知乎作者-方巍: https://zhuanlan.zhihu.com/p/112537228
[2] 知乎作者-流浪猪头拯救地球: https://zhuanlan.zhihu.com/p/132532661
[3] 知乎作者-流浪猪头拯救地球: https://zhuanlan.zhihu.com/p/132358533
如何从HITRAN数据库 获取数据相关推荐
- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1. 安装MySQL ODBC驱动程序 O ...
- eclipse读取mysql数据乱码_eclipse从数据库获取数据时控制台乱码问题
最近在学习HQL的时候,想从数据库获取数据时eclipse控制台乱码,一开始以为是控制台设置的编码有问题,然后就修改了控制台的编码,run->run Configurations->com ...
- mysql从库数据源_SoapUI Pro教程:如何使用MySQL服务器作为数据源-从MySQL数据库获取数据...
SoapUI Pro拥有许多其他web服务测试工具所不具备的高级技术和功能.对于REST.SOAP以及其他流行的API和物联网协议,SoapUI Pro提供了业界最全面的功能测试功能.通过易用的图形界 ...
- java简单从一个数据库获取数据,然后插入到另外一个数据库
思路:从一个数据库获取数据,然后插入到另外一个数据库,使用springboot的话就需要在application.yml配置两个数据库,这样比较麻烦也要注意注解的使用,如: server:port: ...
- Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(值相等)
1.做数值校验 ,Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(小数) 会出现 数据库取出的数据进度丢失 得到的结果是 false 解决方案 :先进行小数位保留 然后再作比较 ...
- Android中连接MySql数据库获取数据的简单实现
文章目录 背景 demo布局 导入jar包 demo代码实现 权限设置 应用运行的结果 背景 一般情况下,Android与数据库中的数据进行交互都是通过调用api接口来实现的.但是今天我们就来尝试实现 ...
- echarts从数据库获取数据制图
echarts从数据库获取数据制图 首先是连接mysql的工具类(DBUtil ), import java.sql.Connection; import java.sql.DriverManager ...
- oracle 从别的数据库获取数据 ,访问其他数据库
在某个oracle数据库,获取其他oracle数据库中的数据,需要建立database link,在使用语句获取数据 假设前置机实例名prod,你要查询的用户scott密码tiger在本机:creat ...
- 7. 从数据库获取数据- 从零开始学Laravel
从零开始学Laravel教程目录 路由,控制器,视图我们都学了一点了,从这里开始,我们先看下如何用migration创建数据表,然后通过查询构建器(query builder)和Elequent去获取 ...
最新文章
- 主流浏览器js 引擎内核市场份额attialx总结vOa9
- Spring3 MVC
- 记一则神秘JDK版本引发的hadoop集群慢性崩溃”血案“
- P4630-[APIO2018]Duathlon铁人两项【圆方树】
- 利用函数wavread对语音信号进行采样_AI大语音(一)——语音识别基础(深度解析)...
- python数据类型和循环控制
- ajax是宏任务还是微任务,(滴滴面试)事件循环Event Loop及微任务和宏任务的执行过程详解...
- vuejs简单介绍特点
- vue中给window添加滚动监听无效的解决方案
- python成绩统计_python统计考试成绩排名
- android的fragment讲解
- web开发时碰到的问题以及心得经验
- 高等数学(第七版)同济大学 习题4-5 个人解答
- C语言实现EEPROM程序读取24C02成功读取方案单片机用
- Python高级数据处理与可视化
- C# LeetCode刷题 - LeetCode 148. Sort List 解题报告(归并排序小结)
- python如何调用数学函数_Python_函数调用_数学函数_组合
- 100倍分析性能提升 清华冠军团队用图数据震惊世界
- 小米10等UFS字库备份与基带分区说明
- 机器学习的学习形式分类
热门文章
- 数字城市福清防汛应急平台(泉舟时代)
- 企业移动学习行业调研报告 - 市场现状分析与发展前景预测
- Android调用系统摄像头拍照并显示在ImageView上
- 文:来自一个不知名的网友答复如何做到早起床
- 如何搭建GFS分布式文件系统
- [20190402]关于semtimedop函数调用2.txt
- HTML5(六).Input 类型
- dpdk-20.11 rpm包编译
- Whoosh如何搜索
- python中利用jieba库统计词频,counts[word] = counts.get(word,0)+1的使用