Skip to main content

6S 辐射传输模型的包装器,可以轻松运行具有各种输入参数的模拟,并以易于处理的形式生成输出。

项目描述

https://travis-ci.org/robintw/Py6S.svg?branch=master https://coveralls.io/repos/github/robintw/Py6S/badge.svg

介绍

Py6S 是 6S 辐射传输模型的 Python 接口。它允许您使用简单的 Python 语法运行许多 6S 模拟,而不是处理相当神秘的 6S 输入和输出文件。除了通常使 6S 更易于使用外,Py6S 还添加了一些新功能:

  • 能够轻松快速地运行许多模拟,无需手动编辑输入文件

  • 能够运行多种波长和/或角度并轻松绘制结果

  • 能够从无线电探空仪测量和 AERONET 太阳光度计测量中导入真实数据以参数化 6S

Py6S 被设计为易于使用,并遵循“最小意外原则”。本文档的其余部分提供了更多详细信息,但是一个快速的代码示例应该让您了解 Py6S 可以做什么:

# Import the Py6S module
from Py6S import *
# Create a SixS object
s = SixS()
# Set the wavelength to 0.675um
s.wavelength = Wavelength(0.675)
# Set the aerosol profile to Maritime
s.aero_profile = AeroProfile.PredefinedType(AeroProfile.Maritime)
# Run the model
s.run()
# Print some outputs
print(s.outputs.pixel_reflectance, s.outputs.pixel_radiance, s.outputs.direct_solar_irradiance)
# Run the model across the VNIR wavelengths, and plot the result
wavelengths, results = SixSHelpers.Wavelengths.run_vnir(s, output_name='pixel_radiance')
SixSHelpers.Wavelengths.plot_wavelengths(wavelengths, results, "Pixel radiance ($W/m^2$)")

这将产生如下所示的结果:

0.283 112.095 667.589

随后是包含显示每个波长结果的图表的图像。

要使用 Py6S,您还需要编译和安装 6S 可执行文件。请按照文档中的安装说明了解如何在 Windows、OS X 或 Linux 上执行此操作。

Py6S 在一篇期刊文章中进行了描述,如果 Py6S 用于生成科学报告/出版物的输出,则应参考该文章。

这个项目是我在南安普顿大学攻读博士学位的一部分。该代码是开源的,在 LGPL 许可下发布,可在Github上获得。

我对接收反馈、错误报告和功能建议非常感兴趣,因此请发送电子邮件至robin @ rtwilson给我com

项目详情


下载文件

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

源分布

Py6S-1.9.2.tar.gz (80.2 kB 查看哈希

已上传 source