Skip to main content

使用各种大气密度模型估计大气垂直结构的软件包

项目描述

欢迎来到 ATMOS

PyPI 版本 shields.io PyPI 版本 PyPI 状态 GitHub 贡献者 维护 GitHub 许可证 文件状态

这个包是一个科学例程档案,用各种大气密度模型估计大气的垂直结构,例如指数(-0.611~1000 km)、COESA76(-0.611~1000 km)、NRLMSISE-00(0~2000 km) , 和JB2008 (90~2500 公里)。

NRLMSISE -00模型由美国海军研究实验室开发。它基于质谱和非相干雷达散射数据,还结合了阻力和加速度计数据,并解释了高海拔(> 500 km)的异常氧气。国际空间研究委员会 (COSPAR) 建议将其作为大气成分的标准。该模型中使用了两个指数:F10.7(前一天的日太阳通量值和以输入日为中心的 81 天平均值)和 $A_p$(地磁日值)。

JB2008 (Jacchia-Bowman) 模型是由 Space Environment Technologies (SET) 和美国空军太空司令部开发的较新模型该模型考虑了与热层 EUV 加热相关的各种现象,并使用 DST 指数作为全球密度变化的驱动因素。该模型是 NRLMSISE00 模型的补充,在太阳活动高和地磁暴期间更加准确。COSPAR 建议将其作为卫星阻力计算中热层密度的标准。该模型使用了四个太阳指数和两个地磁活动指数:F10.7(前一天的表格值和以输入时间为中心的 81 天平均值);S10.7(前一天的表格值和以输入时间为中心的 81 天平均值);M10.7(五天前的表格值和以输入时间为中心的 81 天平均值);Y10.7(五天前的表格值和以输入时间为中心的 81 天平均值);$a_p$(3 小时表格值);和DST(在输入时间上转换并输入为 dTc 温度变化表格值)。

指数回报_

  • 质量密度

COESA76回归_

  • 海拔高度的质量密度、温度和压力

NRLMSISE -00返回

  • N$_2$、O$_2$、Ar、He、O、N和500公里以上高度的异常氧等大气成分的数密度

  • 海拔高度

  • 包括异常氧成分的总质量密度

JB2008回归_

  • 海拔高度

  • 总质量密度

如何安装

在 Linux、macOS 和 Windows 架构上,可以通过执行以下命令之一使用pip安装二进制轮子:

pip install pyatmos
pip install pyatmos --upgrade # to upgrade a pre-existing installation

如何使用

指数的

>>> from pyatmos import expo
>>> expo_geom = expo([0,20,40,60,80]) # geometric altitudes by default
>>> print(expo_geom.rho) # [kg/m^3]
>>> # expo_geop = expo([0,20,40,60,80],'geopotential') # geopotential altitudes

[1.22500000e+00 7.76098911e-02 3.97200000e-03 3.20600000e-04
 1.90500000e-05]

1976 年欧洲经济共同体

>>> from pyatmos import coesa76
>>> coesa76_geom = coesa76([0,20,40,60,80]) # geometric altitudes by default
>>> print(coesa76_geom.rho) # [kg/m^3]
>>> print(coesa76_geom.T) # [K]
>>> print(coesa76_geom.P) # [Pa]
>>> # coesa76_geop = coesa76([0,20,40,60,80],'geopotential') # geopotential altitudes

[1.22499916e+00 8.89079563e-02 3.99535051e-03 3.09628985e-04
 1.84514759e-05]
[288.15       216.65       250.35120115 247.01740767 198.63418825]
[1.01325000e+05 5.52919008e+03 2.87122194e+02 2.19548951e+01
 1.05207648e+00] 

NRLMSISE-00

在使用 NRLMSISE-00 之前,需要提前准备好空间天气数据。

>>> from pyatmos import download_sw_nrlmsise00,read_sw_nrlmsise00
>>> # Download or update the space weather file from www.celestrak.com
>>> swfile = download_sw_nrlmsise00() 
>>> # Read the space weather data
>>> swdata = read_sw_nrlmsise00(swfile) 
>>> from pyatmos import nrlmsise00
>>> # Set a specific time and location
>>> t = '2014-07-22 22:18:45' # time(UTC) 
>>> lat,lon,alt = 25,102,600 # latitude, longitude in [degree], and altitude in [km]
>>> nrl00 = nrlmsise00(t,(lat,lon,alt),swdata)
>>> print(nrl00.rho) # [kg/m^3]
>>> print(nrl00.T) # [K]
>>> print(nrl00.nd) # composition in [1/m^3]

1.714115212984513e-14
765.8976564552341
{'He': 645851224907.2849, 'O': 456706971423.5056, 'N2': 531545420.00015724, 'O2': 2681352.1654067687, 'Ar': 406.9308900607773, 'H': 157249711103.90558, 'N': 6759664327.87355, 'ANM O': 10526544596.059282}

JB2008

在使用JB2008之前,需要提前准备好空间气象数据。

>>> from pyatmos import download_sw_jb2008,read_sw_jb2008
>>> # Download or update the space weather file from https://sol.spacenvironment.net
>>> swfile = download_sw_jb2008() 
>>> # Read the space weather data
>>> swdata = read_sw_jb2008(swfile) 
>>> from pyatmos import jb2008
>>> # Set a specific time and location
>>> t = '2014-07-22 22:18:45' # time(UTC) 
>>> lat,lon,alt = 25,102,600 # latitude, longitude in [degree], and altitude in [km]
>>> jb08 = jb2008(t,(lat,lon,alt),swdata)
>>> print(jb08.rho) # [kg/m^3]
>>> print(jb08.T) # [K]

1.2991711750265394e-14
754.2803276187265

更改日志

  • 1.2.3 — 2021 年 6 月 7 日
    • 增加大气模型JB2008
    • 将结果的输出更改为实例
    • 改进了NRLMSISE-00的代码结构,运行速度近三倍
  • 1.2.1 — 2021 年 1 月 22 日
    • 添加指数大气高达 1000 公里
    • 增加标准大气延伸委员会(COESA)至 1000 公里
    • 完成了 NRLMSISE-00 的部分帮助文档
    • 改进了代码结构,使其更易于阅读
  • 1.1.2 — 2020 年 7 月 26 日
    • 添加了用于下载数据的彩色进度条
  • 1.1.0 — 2020 年 3 月 29 日
    • 添加了长达86公里的国际标准大气(ISA)模型

下一个版本

  • 由于当前 Day-Of-Year 与 Space Environment Technologies (SET) 提供的指数文件中的最后一个数据 DOY 之间存在45 天的滞后,因此通过最后一个数据的预测 DOY 为 137 天(5 个太阳自转)需要使用机器学习或其他方法进行估计。
  • 添加其他大气模型,例如Earth Global Reference Atmospheric Model(Earth-GRAM) 2016Drag Temperature Model(DTM)2013

参考

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

pyatmos-1.2.3-py3-none-any.whl (47.3 kB 查看哈希

已上传 py3