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)
相关推荐
Wenweno0o1 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
chenjingming6661 天前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
cch89181 天前
Python主流框架全解析
开发语言·python
不爱吃炸鸡柳1 天前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发1 天前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
Momentary_SixthSense1 天前
设计模式之工厂模式
java·开发语言·设计模式
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
STL 栈 队列
开发语言·c++
勿忘,瞬间1 天前
数据结构—顺序表
java·开发语言
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python