一种6s辐射传输模型的包装器,它可以方便地使用各种输入参数运行模拟,并以易于处理的形式生成输出。

Py6S的Python项目详细描述


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

简介

py6s是6s辐射传输模型的python接口。它允许您使用 简单的python语法,而不是处理相当神秘的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可执行文件。请按照documentation中的安装说明来了解如何在Windows、OS X或Linux上执行此操作。

py6s是在journal article中描述的,如果py6s用于生成科学报告/出版物的输出,则应该引用该文件。

这个项目是我在南安普敦大学攻读博士学位的一部分。代码是开源的, 根据lgpl许可证发布,可在Github获得。

我对收到反馈、错误报告和功能建议很感兴趣,所以请发邮件给我robin@rtwilson.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取JEditorPane中字符的绝对位置   java Datetime:将时间段拆分为天、小时和分钟   java是使此HashMap更高效的一种方法   java项目reactor:collectList()之后的block()对Flux不起作用。创建()   java在Mac OSX上安装OpenCV   java递归地确定一组数字是否包含两个总和相等的子集   Quad2D曲线上的几何图形Java绘图箭头   java将SSL证书导入Glassfish 4。十、   java Android未找到处理Intent MediaScanner的活动   EclipseJava。安全cert.CertificateParsingException:java。木卫一。IOException:主题密钥,无法创建EC公钥   java我能在O(M log N)时间内完成吗?   java跟踪eclipse中的资源更改也在中。元数据和。项目   java如何完全禁用Android键盘   java返回到上一个活动