一种6s辐射传输模型的包装器,它可以方便地使用各种输入参数运行模拟,并以易于处理的形式生成输出。
Py6S的Python项目详细描述
简介
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。