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)
相关推荐
LDR0062 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术2 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园2 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob2 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享3 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.3 小时前
C语言--day30
c语言·开发语言
何以解忧,唯有..3 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽3 小时前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下3 小时前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗1114 小时前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言