R语言处理潜在蒸散nc数据

数据来源https://www.tpdc.ac.cn/zh-hans/data/8b11da09-1a40-4014-bd3d-2b86e6dccad4/

数据简介:该数据集描述了中国逐月潜在蒸散发的时空分布,覆盖1901年1月至2023年12月,空间分辨率为1km(0.0083333°),单位为0.1mm。基于Peng等(2019)发布的中国逐月均温、最低温和最高温数据,采用Hargreaves公式计算潜在蒸散发(PET),公式为:PET = 0.0023 × S0 × √(MaxT - MinT) × (MeanT + 17.8),其中MaxT、MinT和MeanT分别为月最高、最低和平均温度,S0为理论太阳辐射。数据采用int16类型存储于NetCDF(nc)文件中,支持ArcMAP软件制图及Matlab、R等软件的提取处理,建议使用WGS84坐标系统。

代码处理(处理详情:先把多年的月数据进行累加得到年潜在蒸散的数据)

r 复制代码
library(ncdf4)   # 读 NetCDF:nc_open(), ncvar_get()
library(raster)  # raster 处理:brick(), calc(), writeRaster()


# 处理npp的数据
tmpfile = nc_open("F:\\geodata\\31蒸散发数据\\China_PET_1901_2023_from_CRUv4.08\\pet_2000.nc") 

# 查看nc文件的信息
print(tmpfile) 


time <- ncvar_get(tmpfile, "time") # 获取时间变量
head(time) # 查看时间变量的前几行
print(time) # 查看时间变量


# nc文件的数据存成栅格数据集
tmp = brick("F:\\geodata\\31蒸散发数据\\China_PET_1901_2023_from_CRUv4.08\\pet_2000.nc",varname='etp')# 读取nc文件中的变量'time


# 对栅格数据集进行栅格计算
tmp_mean = calc(tmp, fun = sum, na.rm = TRUE) * 0.1


writeRaster(tmp_mean,'F:\\geodata\\31蒸散发数据\\China_PET_1901_2023_from_CRUv4.08\\pet_2000.tif',overwrite=TRUE)
相关推荐
Edward.W37 分钟前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv
小熊officer37 分钟前
Python字符串
开发语言·数据库·python
月疯1 小时前
各种信号的模拟(ECG信号、质谱图、EEG信号),方便U-net训练
开发语言·python
荒诞硬汉1 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国1 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
flysh051 小时前
C# 架构设计:接口 vs 抽象类的深度选型指南
开发语言·c#
2501_941882481 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
bkspiderx1 小时前
C++中的volatile:从原理到实践的全面解析
开发语言·c++·volatile
沛沛老爹2 小时前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理
专注_每天进步一点点2 小时前
【java开发】写接口文档的札记
java·开发语言