1980~2024 年中国各省份逆温数据(空气污染影响相关研究的工具变量)

前几天给大家分享了区县和城市的逆温数据,今天我们再更新份省份版的,可能用处就没有上面的两份大了。

首先我们先了解下逆温。正常情况下,海拔越高,气温越低,但是有时候会出现海拔高的地方气温反而更高,这个时候冷空气在下方,空气不易流通,污染物扩散慢。这种现象称为逆温,由于逆温对污染物扩散的外生性和相关性,所以逆温是研究空气污染影响很好的工具变量。

计算方法

逆温的衡量计算方法有很多,这里我们采用 Shuai Chen(2018)中的方法进行计算:

不过文中对这种逆温的衡量计算方法并不完全准确,NASA 的 MERRA-2 数据集提供了 0.5 度×0.625 度分辨率、42 个气压层(不同的海拔有着不同的气压)的气温等数据,但是并不是每个格点在 42 个气压层都有数据,例如青藏高原的海拔在 5000 m 以上,底部很多气压层是没数据的:

library(terra)
rast("data/MERRA2_100.inst6_3d_ana_Np.19900718.SUB.nc") -> rst
cairo_pdf("levtemp.pdf", width = 10, height = 10)
plot(rst)
dev.off()

所以我们计算逆温的应该采用每个格点近地的第一层和第二层(也就是最开始有数据的两层)。

因此我们可以通过下面的流程计算中国各省份的逆温:

关于这份数据是如何处理的,可以参考区县逆温数据的计算,注意不要使用区县的平均作为省份数据。需要类似区县逆温数据的计算流程计算省份的。

第一步:从 NASA 下载 1980 年至今的 MERRA-2 数据:https://disc.gsfc.nasa.gov/datasets/M2I6NPANA_5.12.4/summary(需要登陆注册);

第二步:从下载到的 netCDF 数据提取近地的第一、二、三层数据(第三层数据可以用来进行稳健性分析),例如 2022 年 1 月 31 日的:

第三步:把栅格数据准换成省份面板数据(使用的是 2021 年中国市级行政区划):

第四步:比较第一层和第二层的平均气温就可以判断逆温情况了,如果第二层的气温高于第一层就是逆温,差值就是逆温强度,反之就不是逆温,逆温强度为 0(每天都有四个时点的数据,只有有一个时点的结果是逆温当天就视为逆温天);

第五步:另外可以使用一三层的温度进行比较得到逆温2 和逆温强度2 用于稳健性检验。

数据概览

各省份逆温数据

经过上述的计算就得到了 1980 年 1 月 1 日~2024 年 12 月 31 日的省份逆温数据:

1980年~2024年省份逆温数据.rds

该数据包含如下变量,各个变量的含义如下:

  • date:日期
  • year:年
  • month:月
  • day:日
  • 省:省份名称
  • 省代码:省份行政区划代码
  • T1_layer1:0 点近地第一层的平均气温
  • T1_layer2:0 点近地第二层的平均气温
  • T1_layer3:0 点近地第三层的平均气温
  • T2_layer1:6 点近地第一层的平均气温
  • T2_layer2:6 点近地第二层的平均气温
  • T2_layer3:6 点近地第三层的平均气温
  • T3_layer1:12 点近地第一层的平均气温
  • T3_layer2:12 点近地第二层的平均气温
  • T3_layer3:12 点近地第三层的平均气温
  • T4_layer1:18 点近地第一层的平均气温
  • T4_layer2:18 点近地第二层的平均气温
  • T4_layer3:18 点近地第三层的平均气温
  • T1_thermal_inv12:0 点根据一二层计算的逆温强度
  • T2_thermal_inv12:6 点根据一二层计算的逆温强度
  • T3_thermal_inv12:12 点根据一二层计算的逆温强度
  • T4_thermal_inv12:18 点根据一二层计算的逆温强度
  • T1_thermal_inv13:0 点根据一三层计算的逆温强度
  • T2_thermal_inv13:6 点根据一三层计算的逆温强度
  • T3_thermal_inv13:12 点根据一三层计算的逆温强度
  • T4_thermal_inv13:18 点根据一三层计算的逆温强度
  • thermal_inv_yesno12:根据一二层判断当天是否是逆温天
  • thermal_inv_yesno13:根据一三层判断当天是否是逆温天

每年各省份逆温天数数据

进一步我们可以根据这份详细数据计算各个省份每年的逆温天数:

read_rds(" 1980年~2024年省份逆温数据.rds") -> df

df %>%
group_by(year, 省, 省代码) %>%
summarise(days1 = sum(thermal_inv_yesno12),
days2 = sum(thermal_inv_yesno13)) %>%
ungroup() -> yeardf
yeardf

#> # A tibble: 1,462 × 5
#> year 省 省代码 days1 days2
#> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 1980 安徽省 340000 235 121
#> 2 1980 澳门特别行政区 820000 11 3
#> 3 1980 北京市 110000 257 180
#> 4 1980 重庆市 500000 147 73
#> 5 1980 福建省 350000 194 150
#> 6 1980 甘肃省 620000 46 3
#> 7 1980 广东省 440000 119 119
#> 8 1980 广西壮族自治区 450000 152 105
#> 9 1980 贵州省 520000 128 103
#> 10 1980 海南省 460000 7 10
#> # … with 1,452 more rows

其中 days1 表示根据一二层判断的逆温天数,days3 表示根据一三层判断的逆温天数。

这样就得到了 1980~2024年各省份年逆温天数数据:

下图展示了 2021 年各个省份的逆温天数分布:

还挺有意思,原来华北地区的空气状况不好也跟逆温天太多有关系!

点击这里跳转到 RStata 短书平台获取附件:旧版本|1980~2024 年中国各省份逆温数据(空气污染影响相关研究的工具变量)

评论