You need to enable JavaScript to run this app. 如何使用CDO或grADS从netCDF/.grd文件按日期提取印度经纬度点气温并转换格式
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CDO或grADS从netCDF/.grd文件按日期提取印度经纬度点气温并转换格式

从格点气温数据中提取印度区域逐日格点的实操方案

核心基础参数

首先明确印度区域常用矩形裁剪经纬度范围:

  • 经度区间:68°E 至 98°E
  • 纬度区间:8°N 至 37°N
  • 输出表必填字段顺序:lat、lon、ind_lat_lon(区域匹配标识,所有印度格点赋值1)、obs_date(观测日期)、tmax(最高气温值)

方案一:使用CDO完成全流程操作

操作步骤

  • 第一步:空间裁剪印度区域
    执行CDO空间裁剪命令,直接从原始格点文件中截取印度范围的格点数据,命令格式如下:
    cdo sellonlatbox,68,98,8,37 原始气温数据文件.grd/netcdf 印度区域临时裁剪文件.nc
    注:命令中参数顺序严格为「西经度边界、东经度边界、南纬度边界、北纬度边界」,不要调换维度顺序
  • 第二步:添加区域标识字段
    为裁剪后的所有印度格点新增固定标识字段,统一赋值1,匹配ind_lat_lon字段要求:
    cdo -expr,ind_lat_lon=1 印度区域临时裁剪文件.nc 带区域标识的文件.nc
  • 第三步:导出目标格式长表
    按指定字段顺序导出为文本表格,直接替换原文件中CDO格式的时间值为标准MM-DD-YYYY格式的obs_date即可:
    cdo outputkey,lat,lon,ind_lat_lon,time,tmax 带区域标识的文件.nc > 印度区域逐日气温表.txt

方案二:使用GrADS完成全流程操作

操作步骤

  • 第一步:数据初始化与范围设定
    打开原始grd/netCDF文件,先通过ctl控制文件明确lat、lon、tmax的维度映射关系,再设置印度区域的空间范围:
    'open 原始气温数据文件.ctl'
    'set lon 68 98'
    'set lat 8 37'
    
  • 第二步:按日期遍历提取格点
    逐时间层循环读取数据:
    • 对每个时间步,提取对应时间字符串,格式化为MM-DD-YYYY格式的obs_date值
    • 逐格点循环读取当前时间步下的tmax值
    • 逐行输出记录,每行固定赋值ind_lat_lon=1,按lat、lon、ind_lat_lon、obs_date、tmax的顺序写入csv表格

实操注意事项

  • 如果需要剔除矩形范围内不属于印度的周边点位,可加载印度行政边界shape文件生成掩膜,将掩膜外的格点值设为缺测,导出时自动过滤缺测记录
  • 若导出的经纬度值错位,需先检查原始grd/netCDF文件的维度顺序,避免将经纬度索引值当成实际地理坐标输出

内容的提问来源于stack exchange,提问作者Rohit Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 09:06:07