1、 数据介绍

          "中国地面气候资料日值数据集(V3.0)”包含了中国各个基准、基本气象站1951年1月以来本站气压、气温、降水量、蒸发量、相对湿度、风向风速、日照时数和0cm地温要素的日值数据。
       以V3.0数据集中的2000年1月SSD的数据为例,命名格式为“SURF_CLI_CHN_MUL_DAY-SSD-14032-200001.txt”,数据内容包括站点编号(sid), 纬度(lat), 经度(long), 高程(elev),年(year), 月(month),日(day), 日照时数(dh)。

2、R语言实现代码

        日照时数数据可为计算太阳辐射服务。代码仅处理日照时长,处理逻辑同适用于降水、温度等其他数据。

        R语言下载:The Comprehensive R Archive Network

         RStudio下载:Download the RStudio IDE - RStudio

#作者:丑唐的修炼之旅
#时间:2022/06/10
#功能:将V3.0气象数据的原始数据(日照数据)进行合并并输出表格处理

install.packages("data.table") #安装程序包
library(data.table) #加载程序包
setwd("E:\\Data\\Temp\\SSD1") #输出文件路径
rawpath <- "E:\\Data\\Temp\\SSD1" #输入数据路径,一次处理全国3年的数据为佳

# 将原始日照数据文件进行合并, 排序后保存为csv文件
ssdfiles <- list.files(path = rawpath, full.names = T, 
                       pattern = "^SURF_CLI_CHN_MUL_DAY-SSD-14032-.*.TXT")
ssddata <- rbindlist(lapply(ssdfiles, fread))[, 1:8]
setnames(ssddata, c("sid", "lat", "long", "elev", "year", "month", "day", "dh"))

# 连接数据,排序后存储为csv文件
data <- ssddata
data <- merge(data, ssddata[, .(sid, year, month, day, dh)], 
              by = c("sid", "year", "month", "day"))
fwrite(setorder(data, sid, year, month, day), file = "SSD_Temp.csv", quote = T)

# 对原始数据进行标准化处理
data <- fread("SSD_Temp.csv")

data[, c("lat", "long", "elev") := 
       list(lat %/% 100 + (lat %% 100) / 60, long %/% 100 + (long %% 100) / 60, 
            ifelse(elev < 100000, elev * 0.1, (elev - 100000) * 0.1))]

data[dh.x == 32766, dh.x := NA] #dh.x为日照时长原始数据单位(0.1h)
data[dh.y == 32766, dh.y := NA]
data[, dh.y := dh.y * 0.1] #dh.y为标准日照时长单位(h)

# 输出csv文件
fwrite(setorder(data, sid, year, month, day), file = "SSD.csv", quote = T)

 3、处理结果

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐