使用命令进行转换时
nccopy -k classic EDGAR_2024_GHG_CO2_2023_TOTALS_emi.nc EDGAR_CO2_classic.nc
出错:NetCDF: Not a valid data type or _FillValue type mismatch Location: file ?; fcn ? line 1408
解决方案:
1. 修复 _FillValue
类型不兼容
NetCDF-3 经典格式不支持 NaNf
作为 _FillValue
,需替换为具体数值(如 -9999.0
):
ncatted -a _FillValue,emissions,d,, EDGAR_2024_GHG_CO2_2023_TOTALS_emi.nc # 删除原有属性
ncatted -a _FillValue,emissions,o,f,-9999.0 EDGAR_2024_GHG_CO2_2023_TOTALS_emi.nc # 添加新属性
2. 移除 NetCDF-4 专有属性
删除 ChunkSizes
属性(NetCDF-3 不支持分块存储):
ncatted -a ChunkSizes,emissions,d,, EDGAR_2024_GHG_CO2_2023_TOTALS_emi.nc
3. 转换为 NetCDF-3 经典格式
使用修复后的文件进行转换:
nccopy -k classic EDGAR_2024_GHG_CO2_2023_TOTALS_emi.nc EDGAR_CO2_classic.nc
4. 验证转换结果
检查新文件的格式和属性:
ncdump -k EDGAR_CO2_classic.nc # 应输出 "classic"
ncdump -h EDGAR_CO2_classic.nc # 确认 _FillValue 和 ChunkSizes 已修正