免费|中国1km分辨率逐月平均气温数据集(1976-2025,50年600期):附Python/Matlab/R读取代码
摘要:基于CRU全球0.5°气候数据集与WorldClim高分辨率气候数据集,通过Delta空间降尺度方案生成的中国区域1km分辨率逐月平均气温数据。时间跨度1976-2025年共50年600期,NetCDF格式,已用496个独立气象站点验证。本文介绍数据背景、技术规格、使用方法与完整获取方式(50年逐年关键词)。
关键词:中国平均气温、1km分辨率、逐月气温、Delta降尺度、NetCDF、彭守璋、CRU、WorldClim、气候数据
标签 :
GIS遥感气候数据NetCDF空间数据库气温

一、数据简介
本数据集是彭守璋 副研究员(西北农林科技大学水土保持研究所)团队开发的中国区域高分辨率长时序气候栅格数据集,基于 CRU 全球 0.5° 气候数据与 WorldClim 高分辨率气候数据,通过 Delta 空间降尺度方案生成。
数据发表于国际顶级数据期刊 Earth System Science Data (ESSD),是开展气候变化研究、农业热量评估、生态区划等领域研究的高质量基础数据。
核心指标一览:
| 参数 | 说明 |
|---|---|
| 空间分辨率 | 0.0083333°(约 1km) |
| 时间范围 | 1976年1月 ~ 2025年12月 |
| 时间分辨率 | 逐月(12期/年) |
| 总期数 | 600期(50年×12月) |
| 数据格式 | NetCDF(.nc) |
| 数据类型 | int16(16位有符号整型) |
| 气温单位 | 0.1℃(实际值 = 存储值 × 0.1) |
| 空间范围 | 中国主要陆地(含港澳台) |
| 坐标系 | WGS84 |
二、数据获取
数据免费获取,提供两种渠道,每年数据独立成包:
方式一:公众号关键词(推荐)
- 关注公众号 YouGIS顽石
- 发送关键词:
逐月平均气温-{年份}
示例:
逐月平均气温-2000 → 2000年全年12期数据
逐月平均气温-2020 → 2020年全年12期数据
每年一个压缩包(约160MB),内含 1 个 nc 文件(含该年12个月数据)。获取下载链接。
50年关键词速查表(1976-2025):
| 逐月平均气温-1976 | 逐月平均气温-1977 | 逐月平均气温-1978 | 逐月平均气温-1979 |
| 逐月平均气温-1980 | 逐月平均气温-1981 | 逐月平均气温-1982 | 逐月平均气温-1983 |
| 逐月平均气温-1984 | 逐月平均气温-1985 | 逐月平均气温-1986 | 逐月平均气温-1987 |
| 逐月平均气温-1988 | 逐月平均气温-1989 | 逐月平均气温-1990 | 逐月平均气温-1991 |
| 逐月平均气温-1992 | 逐月平均气温-1993 | 逐月平均气温-1994 | 逐月平均气温-1995 |
| 逐月平均气温-1996 | 逐月平均气温-1997 | 逐月平均气温-1998 | 逐月平均气温-1999 |
| 逐月平均气温-2000 | 逐月平均气温-2001 | 逐月平均气温-2002 | 逐月平均气温-2003 |
| 逐月平均气温-2004 | 逐月平均气温-2005 | 逐月平均气温-2006 | 逐月平均气温-2007 |
| 逐月平均气温-2008 | 逐月平均气温-2009 | 逐月平均气温-2010 | 逐月平均气温-2011 |
| 逐月平均气温-2012 | 逐月平均气温-2013 | 逐月平均气温-2014 | 逐月平均气温-2015 |
| 逐月平均气温-2016 | 逐月平均气温-2017 | 逐月平均气温-2018 | 逐月平均气温-2019 |
| 逐月平均气温-2020 | 逐月平均气温-2021 | 逐月平均气温-2022 | 逐月平均气温-2023 |
| 逐月平均气温-2024 | 逐月平均气温-2025 |
方式二:YouGIS 数据助手
- 微信小程序:搜索「YouGIS数据助手」
- PC 端 :yougis.com.cn/res/home
三、数据来源与技术方法
3.1 原始数据源
| 数据源 | 说明 |
|---|---|
| CRU TS | 英国东英吉利大学 Climatic Research Unit 全球 0.5° 月值气候数据集 |
| WorldClim | 全球高分辨率气候数据集,提供 1km 空间分辨率的气候态场 |
3.2 Delta 空间降尺度方案
CRU 数据空间分辨率较粗(0.5°,约50km),WorldClim 提供高分辨率(~1km)的气候态场但缺乏年际变化。Delta 方案的核心思想:
- 计算 CRU 某月数据相对于多年气候态的距平(Delta值)
- 将该距平空间插值到 1km 分辨率
- 叠加到 WorldClim 的 1km 气候态场上,得到该月 1km 分辨率气温栅格
这种方案既保留了 CRU 的年际变化信息,又继承了 WorldClim 的空间细节。
3.3 验证
使用 496 个独立气象观测站点对降尺度结果进行验证,数据质量可靠。
3.4 数据作者
彭守璋,副研究员,西北农林科技大学水土保持研究所。长期从事气候变化与生态水文研究,开发了一系列中国区域高分辨率气候数据集。
四、数据使用方法
4.1 Python(xarray)
python
import xarray as xr
# 读取nc文件
ds = xr.open_dataset('tmp_2000.nc')
# 气温 = 存储值 × 0.1(单位:℃)
temp = ds['tmp'] * 0.1
# 提取某月(如2000年7月)
july = temp.sel(time='2000-07')
july.plot() # 快速可视化
# 计算年均温
annual_mean = temp.groupby('time.year').mean(dim='time')
# 计算某区域年均温时间序列
regional_ts = temp.sel(
lon=slice(100, 120),
lat=slice(40, 20) # 注意纬度降序
).mean(dim=['lon', 'lat'])
4.2 批量合并多年数据
python
import xarray as xr
import glob
# 合并1976-2025全部nc文件
files = sorted(glob.glob('tmp_*.nc'))
ds_all = xr.open_mfdataset(files, combine='by_coords')
# 50年时间序列
temp_all = ds_all['tmp'] * 0.1
# 计算全国年均温的年际变化趋势
national_mean = temp_all.mean(dim=['lat', 'lon'])
annual_series = national_mean.groupby('time.year').mean(dim='time')
print("全国年均气温序列:")
for year, val in zip(annual_series.year.values, annual_series.values):
print(f" {year}: {val:.1f} ℃")
ds_all.close()
4.3 按区域裁切
python
import xarray as xr
ds = xr.open_dataset('tmp_2000.nc')
temp = ds['tmp'] * 0.1
# 方式一:经纬度矩形裁切(以四川盆地为例)
basin = temp.sel(
lon=slice(102, 110),
lat=slice(32, 29) # 注意纬度可能降序
)
# 方式二:按矢量边界裁切(需 rioxarray + geopandas)
import rioxarray
import geopandas as gpd
temp.rio.write_crs("EPSG:4326", inplace=True)
shp = gpd.read_file('study_area.shp')
clipped = temp.rio.clip(shp.geometry, shp.crs)
ds.close()
4.4 导出为 GeoTIFF
python
import xarray as xr
import rioxarray # 需安装:pip install rioxarray
ds = xr.open_dataset('tmp_2000.nc')
temp = ds['tmp'].sel(time='2000-07') * 0.1
# 写入空间坐标信息
temp.rio.write_crs("EPSG:4326", inplace=True)
temp.rio.to_raster('temp_2000_07.tif')
print("已导出为 GeoTIFF: temp_2000_07.tif")
ds.close()
4.5 ArcMap / ArcGIS Pro
- 打开
Make NetCDF Raster Layer工具 - 输入 nc 文件,变量选
tmp - 设置 X/Y 维度为
lon/lat - 按
time维度切换月份 - 记得在栅格计算器中 × 0.1 转换为实际温度
4.6 MATLAB
matlab
% ncread读取nc数据
data = ncread('tmp_2000.nc', 'tmp');
% 实际气温(℃) = data × 0.1
temp = data * 0.1;
% 绘制某月
imagesc(temp(:,:,7)); % 第7层为7月
colorbar;
4.7 R(terra/raster)
r
library(terra)
# 读取nc文件
r <- rast("tmp_2000.nc")
# 气温 = 存储值 × 0.1
temp <- r * 0.1
plot(temp[[7]]) # 7月
五、关键注意事项
⚠️ 单位换算
nc 文件存储值为 0.1℃ ,使用时必须 × 0.1 转换为实际摄氏温度。
python
# 错误:直接使用存储值
temp_wrong = ds['tmp']
# 正确:乘以0.1转换
temp_correct = ds['tmp'] * 0.1
⚠️ int16 负值处理
气温存在负值(尤其北方冬季),数据采用 int16(有符号整型) 存储,天然支持负数。Python/ MATLAB 读取后无需额外处理负值。
⚠️ 空间范围
数据覆盖中国主要陆地,含港澳台,但不含南海岛礁等远海区域。
⚠️ 文献引用
使用本数据请在论文中引用原文:
Peng Shouzhang, Ding Yongxia, Liu Wenzhao, Li Zhi. 1 km monthly temperature and precipitation dataset for China from 1901 to 2017. Earth System Science Data, 2019, 11, 1931-1946. DOI: 10.5194/essd-11-1931-2019
六、适用场景
| 领域 | 典型应用 |
|---|---|
| 气候变化 | 区域增暖趋势分析、极端高温/低温事件识别 |
| 农业气象 | 积温计算、作物热量带划分、物候期推算 |
| 生态学 | 植被分布与气候关系、物种适生区建模(MaxEnt) |
| 水文模拟 | 蒸散发估算、流域水量平衡 |
| 城市热岛 | 城乡温差分析、热环境评估 |
| 公共卫生 | 传染病传播与气温关系、热浪健康风险评估 |
七、与同类数据集对比
| 数据集 | 分辨率 | 时间范围 | 变量 | 获取难度 |
|---|---|---|---|---|
| 本数据集(彭守璋) | 1km | 1976-2025 | 气温+降水 | 免费 |
| CRU TS | 0.5° | 1901-至今 | 多要素 | 免费 |
| WorldClim v2 | 1km~ | 1970-2000气候态 | 多要素 | 免费 |
| ERA5-Land | 0.1° | 1950-至今 | 多要素 | 免费 |
| 国家气象局站点 | 点位 | 1951-至今 | 多要素 | 需申请 |
本数据集的优势在于:1km 高空间分辨率 + 50年长时序 + 逐月时间分辨率 + 免费开放获取。
八、常见问题
Q1: 数据是实测的还是模拟的?
数据基于 CRU 和 WorldClim 两个权威数据集通过 Delta 降尺度方法生成,属于降尺度产品,非直接观测数据。但已用496个独立气象站点验证,结果可信。
Q2: 原始数据覆盖1901年至今,为什么只分享1976-2025年?
完整数据集时间范围为1901年至今。本文分享的1976-2025年段覆盖了近50年,满足绝大多数气候变化和研究需求。如需更早数据可从原始数据源获取。
Q3: nc文件怎么打开?
ArcMap(Make NetCDF Raster Layer)、QGIS、Python(xarray/netCDF4)、Matlab(ncread)、Panoply 等均可打开。
Q4: int16存储有什么需要注意的?
气温存在负值(冬季低温),数据采用 int16 有符号整型存储,天然支持负数。读取后乘以 0.1 即可得到实际温度(℃)。
Q5: 和ERA5气温数据有什么区别?
ERA5是再分析数据(数据同化),时间分辨率高(小时级)但空间分辨率低(~31km)。本数据是降尺度产品,空间分辨率高(1km)但时间精度为月尺度。做空间精细分析用本数据,做时间过程分析用ERA5。
Q6: 商业使用是否合规?
数据原始来源标注仅限非商业目的的科学研究与学术交流。商用建议联系原始数据提供方确认许可。
九、总结
这套数据集是目前中国区域最易获取、分辨率最高、时序最长的逐月平均气温栅格数据之一。50年跨度足以支撑气候趋势分析,1km 分辨率可以刻画地形对气温的影响,逐月时间分辨率满足季节性研究需求。
参考文献
- Peng S, Ding Y, Liu W, Li Z. 1 km monthly temperature and precipitation dataset for China from 1901 to 2017. Earth System Science Data, 2019, 11, 1931--1946. https://doi.org/10.5194/essd-11-1931-2019
- Harris I, Osborn T J, Jones P, Lister D. Version 4 of the CRU TS monthly high-resolution gridded multivariate climate dataset. Scientific Data, 2020, 7, 109.
- Fick S E, Hijmans R J. WorldClim 2: new 1-km spatial resolution climate surfaces for global land areas. International Journal of Climatology, 2017, 37(12), 4302-4315.
- CRU TS 数据:https://crudata.uea.ac.uk/cru/data/hrg/
- WorldClim 数据:http://www.worldclim.org/
- 国家地球系统科学数据中心-黄土高原分中心:http://loess.geodata.cn
- YouGIS 数据助手:https://yougis.com.cn/res/home
数据来源:国家地球系统科学数据中心-黄土高原分中心(loess.geodata.cn)
如果本文对你有帮助,请点赞收藏 ⭐ 支持一下!有问题欢迎评论区交流。