微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将地球静止轨道 GOES 卫星数据重新网格化为笛卡尔网格

如何解决将地球静止轨道 GOES 卫星数据重新网格化为笛卡尔网格

我正在处理 GOES 卫星数据,该数据以弧度为网格并具有地球静止标准投影。我知道有几种方法可以重新投影数据,以便可以在笛卡尔意义上绘制它。但是,我一直无法找到任何资源可以让我实际重新网格化数据,以便经度和纬度实际上是数据集的坐标。我想要这种格式的数据,以便我可以轻松地索引数据。关于在这里做什么的任何想法?

可在此处找到示例数据:https://noaa-goes16.s3.amazonaws.com/ABI-L1b-RadC/2020/230/00/OR_ABI-L1b-RadC-M6C07_G16_s20202300001171_e20202300003555_c20202300004038.nc

我正在使用 xarray 加载和处理数据。

解决方法

免责声明:下面超级有偏见的答案。我是 Satpy 和 Pyresample 软件包的核心开发人员之一。

Satpy 库将是一个很好的起点,因为它应该可以轻松解决您可能不关心的问题(从辐射到亮度温度的转换,从投影空间到经纬度空间的转换等)。请参阅此示例 jupyter 笔记本:https://github.com/pytroll/pytroll-examples/blob/master/satpy/GOES-16%20Mosaic.ipynb

您还可以找到我不久前在 SciPy 会议上讲授的教程,其中包含有关重采样的部分:https://github.com/pytroll/tutorial-satpy-half-day/blob/master/notebooks/04_resampling.ipynb

有了这些信息,您应该能够将 ABI 数据重新采样到您自己的自定义网格(pyresample 术语中的区域定义)。此处提供有关制作自己的 pyresample AreaDefinition 的更多信息:https://pyresample.readthedocs.io/en/latest/geometry_utils.html

以下是您的代码外观的基本轮廓:

from satpy import Scene
from pyresample import create_area_def

# analyze filenames and what is in them
scn = Scene(reader='abi_l1b',filenames=abi_filenames)

# load a specific band
scn.load(['C07'])

# create a custom area that fits the projection and resolution you want
your_area_def = create_area_def(...)

# resample all the loaded datasets to your area definition
new_scn = scn.resample(your_area_def)

# save data as geotiffs to the current directory
new_scn.save_datasets()

否则,如果您真的对此使用 xarray 和 rasterio 感兴趣,您可能需要查看 rioxarray 项目:https://github.com/corteva/rioxarray

,

在这个 jupyter notebook 中,我展示了如何重新网格 ABI 数据(在这种情况下,我使用通道 13 的亮度温度)。此示例是我创建的 tutorial 包的 GOES 的一部分。我希望示例和 GOES 包对您有用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。