AERSCREEN-ZH 开发札记:DEM 瓦片与模型设定的矛盾与调和

⏰ 阅读时间: 2 分钟| 📝 文章字数: 465 字
问题描述
  1. 源类型:点源;
  2. 源坐标:N23°,E113°;
  3. 考虑地形:是;
  4. 地形 DEM:Copernicus GLO-30;
  5. 结果摘要:地形条件显示为简单地形。

1 根因识别

导致复杂地形设定失效的根因是:AERMAP 未能读取地形数据(DEM 文件缺失或未覆盖源点坐标),模型计算会回退至不考虑地形继续进行。其根源被进一步定位为以下两处:

  1. 受体落在 NAD 基准转换间隙:坐标系基准不同(NAD83 与 WGS84 之间有米级偏移),受体坐标换算后”漂”出瓦片边缘。这属于逻辑间隙——数据连续,是坐标判断的微小误差,间隙里的受体会被 AERMAP 判定NOT Inside DEM File,导致复杂地形失败。
  2. 受体落在像素覆盖间隙:AERMAP 源码sub_nedchk.f采用nRows-1、nCols(idem)-1计算 DEM 瓦片覆盖范围,少算 1 个像素间距,于是相邻瓦片之间永远留下约 31 m 的缝隙。这属于物理间隙——瓦片覆盖范围被低估,缝是真实存在的,间隙里的受体会被 AERMAP 判定NOT Inside DEM File 2nd Pass。

2 修复方案

  • NAD 基准转换间隙修复方案:AERMAP 官方有FILLGAPS选项(对落在间隙的受体用最近节点高程填充)。但aermap.inp是 AERSCREEN 自动生成的(固化为CO DATATYPE NED),前端无法通过 DEM 清单传进去(AERSCREEN 只读第一行的 D/N 单字符)。因此需修改 AERSCREEN 源码,并重新编译。
1002 format('CO DATATYPE  NED')   →   'CO DATATYPE  NED FILLGAPS'
1003 format('CO DATATYPE  DEM')   →   'CO DATATYPE  DEM FILLGAPS'
  • 像素覆盖间隙修复方案:FILLGAPS 只能处理 NAD 基准转换间隙,无法处理像素覆盖的间隙。需修改 AERMAP 源码sub_nedchk.f的 corner 计算源码,并重新编译。
dble(nRows(idem)-1)  →  dble(nRows(idem))
dble(nCols(idem)-1)  →  dble(nCols(idem))

发表评论