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

我可以在 R 中创建一个渔网,让我可以覆盖两个不同分辨率的气候网格吗?

如何解决我可以在 R 中创建一个渔网,让我可以覆盖两个不同分辨率的气候网格吗?

*当我在这里提到气候学时,我指的是 30 年的时间片,该时间片每月取平均值以生成特定变量的气候学(平均数据年份)。

我有一个高分辨率的“基线”气候学网格,其大小为 4320 x 8640 x 12(纬度 x 经度 x 时间(月))(下方baseline.Tmax)。

我还通过从未来气候学 (Tmax.h) 中减去建模的基线气候学 (Tmax.f) 为未来气候情景生成了分辨率较低的“变化表面”。这会生成一个大小为 180 x 288 x 12(纬度 x 经度 x 时间)的气候学网格(下面的Delta.Tmax)。

#baseline.Tmax = climatology of observed Tmax from 1980-2009
#Tmax.h        = climatology of modelled Tmax from 1980-2009
#Tmax.f        = climatology of modelled Tmax from 2065-2095
#create the change surface
Delta.Tmax <- gridArithmetics(Tmax.f,Tmax.h,operator = "-")
#Then add it to the baseline
Tmax_modelled <- gridArithmetics(baseline.Tmax,Delta.Tmax,operator = "+")

我想要做的是将这个变化面添加到基线气候学中,以获得这个变量的未来气候变化情景(上面的Tmax_modelled),但是以一种非常具体的方式:

我已经尝试过“粗化”基线以匹配变化表面的分辨率,这导致了一个简单的网格算法将两者相加(这就是我上面所做的。粗化是使用 {{ 1}} 命令)。

然而,我真正想做的是在不改变基线分辨率的情况下将变化表面添加到基线。我想为了做到这一点,我需要一个与基线大小相同的渔网,然后将其覆盖在变化表面上,变化表面中的值将由新渔网采用。因此,在变化表面中只有一个值为 1.2 的网格单元的情况下,可能(例如)来自渔网的 100 个网格单元占据了该网格单元,它们都假定值为 1.2。希望我的解释有意义。我可以在 ArcGIS 中手动执行此操作,但我真的想在 R 中自动执行此过程。

我还没有在堆栈中找到答案。这不是我想要的插值: Interpolate gridded climate data to different resolutions in R

也许这有关系? Create 10 min resolution grid in R

任何关于我如何做到这一点的建议将不胜感激。

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