我已经从 ESGF 网站下载了 tasmax 数据集。数据集中的 .nc 文件包含从 1850 年到 2014 年的全球数据。但是,我想从该全球数据中提取特定国家(如孟加拉国、斯里兰卡、巴基斯坦、马尔代夫等)的数据,然后处理这些特定国家。
包含 1850 年到 1899 年数据的 .nc 文件的详细信息:
table_id: day
table_info: Creation Date:(20 February 2019) MD5:951084b632bd52c3f6224e495b1cb65e
title: INM-CM4-8 output prepared for CMIP6
tracking_id: hdl:21.14100/819efd11-8094-46b4-86a9-1296bfe83b55
variable_id: tasmax
dict_keys(['time', 'time_bnds', 'lat', 'lat_bnds', 'lon', 'lon_bnds', 'height', 'tasmax'])
维度(大小):时间(5475),纬度(120),经度(180),bnds(2)
此文件绘制时显示整个地球每天的 tasmax 数据。我需要提取特定国家/地区的数据。 我正在使用 python,但如果这是更好的方法,我也可以使用 QGIS 和 ArcGIS。
我试过像这样在纬度和经度空间中放置特定坐标:
print(temp[:,23.35,90])
这给出输出:[282.4348 281.53607 283.49426 ... 280.90012 282.33377 282.48367]
通过这种方式,我可以提取特定点的数据。但是国家有很多经纬度点,所以我不能对每个点都这样做,因为那样效率不高。
我还创建了一个 numpy 数据框,并用它来将数据提取到 csv 文件中。