欢迎光临散文网 会员登陆 & 注册

学习记录九:VIC模型—气象驱动数据的制备

2023-08-17 13:23 作者:学习好难啊__  | 我要投稿

一、气象驱动数据的作用

气象驱动场数据是水文模拟的一关键的部分,水文模拟的精度及可靠性很大程度取决于气象驱动数据的精度。目前西部山区,由于观测站点稀少,高山区基本无观测站点,以致于无论采用何种方式都难以获得准确的气象驱动场,尤其降水。

气象驱动数据的制备

数据来源:中国气象数据网,官网一共提供了21个参数,本次是选用了最基本的四个参数,降水 (prec),最高气温 (tmax),最低气温(tmin),平均风速 (wind)

软件:ArcGIS Pro、RStudio

目的:存储每个网格的历时数据,一个网格一个文件

处理降水数据为例,其余参数处理过程相同,只需修改文件地址

1.RStudio:打开代码“Forcing_PREC”,修改文件地址,运行第一段代码,输出全国流域气象站点的经纬度坐标和站点编码(prec_long_lati.txt)。

2.ArcGIS Pro

①导入prec_long_lati.txt文件,显示XY数据

显示XY数据

②根据研究区网格数据,选点并导出

根据所选要素创建图层
导出表

3.RStudio:修改输入、输出文件地址,继续运行代码“Forcing_PREC”后半部分,输出降水数据。

输出结果展示

注意:气象数据中的特征值处理(主要是降水数据)

各要素项 32766 数据缺测或无观测任务

②降水量数据中:32700 表示降水“微量";32XXX为纯雾露霜;31XXX为雨和雪的总量;30XXX为雪量(仅包括雨夹雪雪暴)

③风速数据中:+1000当风速超过仪器测量上限时,在上限数据基础上加1000

https://blog.csdn.net/ds2001916/article/details/121641805

Error:原始数据问题,有重复行

原因(初始数据问题)

解决办法1:在原文件中删除重复行(非常麻烦,全国多2000站点,猴年马月)

错误提示

解决办法2:修改代码,将2020年9月数据框行数设置为31,12月设置为32,输出后,针对性删除重复行

4.RStudio:打开代码“Station_PREC”,修改输入、输出文件地址、气象站点的个数,运行代码,将按时间排列的气象数据转化为按气象站点排列,为后续插值做制备。

输出结果展示


Error:输入数据中有NA值

解决办法:去除NA值/插补

错误提示
原因


去除NA值

5.RStudio:打开代码“IDW_PREC”,修改输入、输出文件地址、气象站点及网格数,进行IDW插值处理。

输出数据展示(行数=网格数)
输出结果展示(行数=研究区网格数)

Error:各年份运行站点个数不同,直接运行会出错,满篇NA值

解决办法1:返回上一步,单独年份处理(超级无敌慢,利用零碎时间,一周只处理了10年)

解决办法2:返回上一步,运行出day值,核对站点进行取舍使其数量统一,批量处理

其实上述手动解决error的办法都很慢,可能代码几秒解决,但我搞不来代码,一个错误要花好久时间去悟去修改,所以在时间容许的情况下,选择了自己思考得出的低效率办法。

6.RStudio:根据上述步骤分别输出降水 (prec),最高气温 (tmax),最低气温(tmin),平均风速 (wind)的IDW插值数据,且核对输出数据全部无误(无NA值)后,打开代码“Conbination_PMNW”,将四类数据进行合并,输出所有网格逐日气象IDW插值数据。

输出数据展示


这部分气象驱动数据的处理真的废了老大劲,因为流域范围大选的站点多且时间范围长,从8月3日开始到今天,从家到学校,虽然不是全程学习,但基本找着空闲时间就学,中途解决各种bug(找人帮忙未果),算下来估计得一周多了。想起去年10月为了计算潜在蒸散也得处理气象数据,废了足足一个月,好在最后都用上了。

后面还有全局参数的制作及陆面模型的运行、汇流,整个过程没有想象中简单啊,不知多久才能学完,还有半个月开学,秋招要开始了,组会马上也来了,太难了,教教我!!!


学习记录九:VIC模型—气象驱动数据的制备的评论 (共 条)

分享到微博请遵守国家法律