跳转到主要内容

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输入和输出文件。Py6S不仅使6S的使用更加容易,还增加了一些新功能

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

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

  • 能够导入真实世界数据来参数化6S,从探空仪测量和AERONET太阳光度计测量

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 查看哈希值)

上传时间 源代码

由以下提供支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面