地球大气吸收和传输与波长和位置的关系模型。
项目描述
Python 中的 Lowtran
LOWTRAN7 大气吸收消光模型。由 Michael Hirsch 更新为独立于平台,可从 Python ≥ 3.6 和 Matlab轻松访问。
通过使用直接内存传输而不是编写/读取文本文件的繁琐且容易出错的过程,可以从 Python 访问主 LOWTRAN 程序。
xarray.Dataset带有适当元数据的高性能、简单的 ND 阵列数据被传递出去。
画廊
请参阅下文了解如何制作这些示例。
安装
您将需要一个 Fortran 编译器。
gfortran是一种合适的编译器。我们使用f2py(part of numpy) 通过使用自动生成的 shim 代码对 Fortran 库进行特殊编译来无缝使用 Python 中的 Fortran 库。
-
如果尚未安装 Fortran 编译器,请安装 Gfortran:
- Linux:
apt install gfortran - 苹果电脑:
brew install gcc - 视窗
- Linux:
-
安装 Python Lowtran 代码
pip install -e .
例子
-o在这些示例中,您可以使用该选项写入 HDF5 。
我们提供以下示例:
-
地对空透射率: TransmittanceGround2Space.py
-
太阳到观察者的散射辐射(为什么天空是蓝色的): ScatterRadiance.py
-
太阳到观察者的辐照度: SolarIrradiance.py
-
具有自定义压力、温度和分压的 12 个物种的观察者对观察者太阳单散射太阳辐射(上行): UserDataHorizontalRadiance.py
-
具有 12 种物种的自定义压力、温度和分压的观察者对观察者透射率: UserDataHorizontalTransmittance.py
-
观察者到观察者的透射率: HorizontalTransmittance.py
MATLAB
Matlab 用户可以无缝访问 Python 模块,如 RunLowtran.m和 lowtran_transmission.m 所示。
这是您需要的:
-
在 Python 中安装 Lowtran,如本自述文件的顶部。
-
在 Matlab 中,从
lowtran/目录验证一切是否正常:runtests('tests')
笔记
LOWTRAN7 用户手册 请参阅此以了解哪些参数设置为默认值。例如,目前我没有启用任何气溶胶,尽管可以将它们添加到代码中。
目前很多配置功能没有实现,请索取你想要的。
参考
- 1994 年原始 Lowtran7代码
LOWFILreference/lowtran7.10.f 中的程序未连接,因为我们之前直接在 Python 中实现了过滤器功能。LOWSCAN没有连接光谱采样(扫描)程序,reference/lowtran7.13.f因为我们不需要更粗的光谱分辨率。
Fortran(可选)
这对于普通用户来说不是必需的:
cd bin
cmake ..
cmake --build .
ctest -V
应该生成 这个文本输出。