如何将复杂结构的NetCDF数据重构为(time, lat, lon)格式?
数据集说明
我已将文件上传至Dropbox,可下载文件:IASISND02_20240702161759Z_20240702175655Z_epct_d9f95b34_F.nc(不常使用Dropbox,希望可用)
问题描述
我下载了一个NetCDF数据集,用xarray读取后发现结构复杂,无法转换成通用的(time, lat, lon)格式,进而无法在地图上绘制integrated_co2变量的值。
当前操作与变量详情
读取数据集
我使用xarray打开文件的代码:
netcdf = xr.open_dataset( 'path/tofile/IASISND02_20240702161759Z_20240702175655Z_epct_d9f95b34_F.nc' )
文件包含77个变量,我重点关注integrated_co2变量,执行以下代码查看该变量信息:
print(netcdf.integrated_co2)
(配图:integrated_co2变量信息截图)
相关变量维度
该变量的坐标并非实际经纬度,而是指向lat和lon变量中实际坐标的索引,同时存在两个时间变量。我通过以下代码打印了相关变量的维度:
# 数据集中的相关变量 var_names = [ "lat", "lon", "record_start_time", "record_stop_time", "across_track", "along_track", "integrated_co2", ] for var in var_names: print(f"{var}: {netcdf[var].shape} ")
(配图:变量维度信息截图)
各变量的关键信息:
lat和lon存储的是度数格式的实际经纬度坐标along_track取值范围为1至742across_track取值范围为1至120- 时间变量
record_start_time和record_stop_time的值为类似7.732523e+08的格式
核心疑问
我确认所需的经纬度坐标、时间戳、CO₂数据都已存在,但不清楚如何将当前基于索引的坐标结构转换为通用的(time, lat, lon)格式,从而实现integrated_co2数据的地图绘制。我是新手,查阅了不少资料但未找到类似示例,希望得到帮助。
额外变量信息
along_track变量
执行代码查看变量信息:
print(netcdf.along_track)
(配图:along_track变量信息截图)
across_track变量
执行代码查看变量信息:
print(netcdf.across_track)
(配图:across_track变量信息截图)
lat变量
执行代码查看变量信息:
print(netcdf.lat)
(配图:lat变量信息截图)
lon变量
执行代码查看变量信息:
print(netcdf.lon)
(配图:lon变量信息截图)
record_start_time变量
执行代码查看变量信息:
print(netcdf.record_start_time)
(配图:record_start_time变量信息截图)
record_stop_time变量
执行代码查看变量信息:
print(netcdf.record_stop_time)
(配图:record_stop_time变量信息截图)
内容的提问来源于stack exchange,提问作者i.i.k.

