VTD 更新记录

· 预计阅读 23 分钟

本文记录 VTD 的主要版本更新,重点说明功能变化、问题修复及其对实际解算的影响。各版本按从新到旧的顺序排列。下面的文件路径均以 VTD 目录为起点。

说明:本文所列更新由 DeepSeek 总结、ChatGPT 整理,属于非官方更新记录,并非 VTD 开发者 Leonid Petrov 博士发布的更新说明。对修改目的和实际影响的推测,会在文中单独说明。

最近记录版本:psolve-20260812
本文更新日期:2026-10-07

20260812

  • 对比版本:20260331(2.16 → 2.17)。

这次更新主要增加台站坐标误差、速度误差及相关系数的读取,更新随包的先验数据,并调整先验数据下载程序。

更新内容

  • 新增|台站坐标和速度误差的读取:读取 GETPAR_STA 和 GETPAR_VEL 格式的文件时,增加三个坐标分量及三个速度分量的误差读取,分别转换为 m 和 m/s;同时支持读取 STA_CRL: 记录中的 15 个相关系数。这些值保存在台站对象新增的 ERR_VEC 和 COR_COO_VEL 成员中,目前未见包内的时延计算使用这些值。
    对应文件:include/vtd_i.templ、src/vtd_load_stacoo.f、src/vtd_load_stavel.f。

  • 调整|台站位置时间序列文件的格式标识:STAPOS__LABEL 中的格式日期由 2025.07.20 改为 2025.08.11,文件解析程序的其余读取逻辑未变。
    对应文件:include/vtd_i.templ。

  • 调整|射电源先验数据:glo.src 补充 BP280B–G 的源位置记录,并更新部分已有源的位置和名称,记录总数净增 1981 条;source.names 扩充名称对照记录,净增 1513 条。其中,名称表中原来对应 J1652-0917 的 1649-092 改名为 1649-09A,新增的 1649-092 记录对应 J1651-0922。
    对应文件:share/glo.src、share/source.names。

  • 新增|DANZHOU 台站记录:台站坐标、速度、偏心和描述文件中加入 DANZHOU。描述表将其列为直径 12 m 的方位—俯仰式天线,偏心分量均设为零,速度记录标注来自 NNR-NUVEL1A。其先验坐标存在异常,使用前需要核对,见下文。
    对应文件:share/glo.sit、share/glo.vel、share/ECCDAT.ecc、share/station.desc。

  • 调整|测试台站名称与数据:描述表和偏心文件中的 TEST_001 改为 TEST-003,并在坐标表和速度表中补充 TEST-003 的记录。调用程序或输入文件若仍使用 TEST_001,需要同步检查台站名称。
    对应文件:share/station.desc、share/ECCDAT.ecc、share/glo.sit、share/glo.vel。

  • 调整|先验数据下载地址:样例配置中的斜向大气时延(SPD)和负荷位移数据源由 smce.nasa.gov 改用 sciencecloud.nasa.gov;电离层数据源改为 CODE 的 HTTPS 目录列表页。
    对应文件:share/apr_update.conf。

  • 调整|电离层数据下载:针对新的数据源,先下载目录列表,再从中提取文件链接,逐个下载本地缺少的 COD0OPSFIN_*_GIM.INX.gz 文件。
    对应文件:scripts/vtd_apriori_update.py。

  • 调整|斜向大气时延数据更新:增加了在本地缺少 bspd_summary.txt 时,按远端台站列表下载完整数据文件的分支。不过,该分支仍会引用尚未赋值或保留了上一次循环内容的本地摘要字段,缺少摘要文件时的处理尚不完整。此外,替换 SPD 数据前的等待时间由 60 s 缩短为 4 s。
    对应文件:scripts/vtd_apriori_update.py。

  • 修复|SPD 摘要生成失败时的日志输出:spd_3d_toser 执行失败后,改为逐行输出本次命令返回的信息,并将拼错的 printlog_verb 改为 print_log_verb。此前遍历的是先前命令留下的输出,还可能因调用不存在的函数而中断错误处理。
    对应文件:scripts/vtd_apriori_update.py。

  • 调整|电离层文件信息工具的调用:读取电离层文件头信息时,改用 VTD 安装目录下的 bin/viono_show_header,不再仅通过命令名查找程序。
    对应文件:scripts/vtd_apriori_update.py。

  • 调整|构建依赖:petools 最低版本要求由 20241115 提高到 20260707。
    对应文件:configure。

使用提示

  • 更新后重新配置并完整编译 VTD,确认 petools 版本不低于 20260707。台站对象增加了成员,使用 VTD 对象定义的 Fortran 调用程序也应采用新版包含文件重新编译,避免对象布局不一致。

  • GETPAR 格式文件中的误差列现在会被读取,无法解析的字段会导致加载失败。另外,src/vtd_load_stacoo.f 对 Z 坐标误差只截取第 118—126 列,共 9 个字符,却使用十字符的 F10.2 格式读取。如果实际文件采用右对齐的十字符字段,就可能截去末位;使用读入的误差前应核对字段位置。

  • stapos_to_bin 和 stapos_to_bindisp 调用的 PARSE_STAPOS 会检查首行完整格式标识。带有 2025.07.20 旧标识的文件会被新版拒绝,使用前需核对文件内容与新版格式要求。相关读取程序为 utils/parse_stapos.f。

  • 使用 DANZHOU 前应核对 share/glo.sit 中的坐标。当前三个坐标分量为 (-2145935.420, 5710220.312, 2155902.066) m,按 WGS84 椭球换算得到约 94.15 km 的椭球高,明显不符合地面台站的位置。现有材料不能确定哪一个分量有误,也不能据此给出实际时延偏差。

  • 使用 1435+382 时应核对 share/glo.src 的赤经:本次由 14:37:19.201476 改为 14:37:19.20476,对应 $\Delta\alpha\cos\delta\approx38.8$ mas,而来源和误差记录均未改变。新版 share/source.names 中对应的赤经仍为 14:37:19.2016,两表存在不一致。使用 1649-092 和 1649-09A 时,也应核对其对应的 J2000 名称。

  • 使用先验数据更新脚本时,同步检查实际配置中的 IONO_URL。脚本按地址中是否包含 ftp 选择分支,旧样例的 http://ftp.aiub.unibe.ch/CODE 也会进入旧分支。该分支拼接年份时不再补 /,且下载成功后的日志会引用尚未赋值的 tmp_iono_dir_lis_file,不能直接沿用旧配置。

  • 新的电离层下载分支只匹配 COD0OPSFIN_*_GIM.INX.gz,不会选中旧式 CODG*.yyI.Z 文件。需要补充历史电离层数据时,应核对文件命名和下载结果。此外,设置目录列表文件权限的代码构造了 chmod 命令,却再次执行下载命令,权限设置并未执行;这一处也需要修正。对应程序均为 scripts/vtd_apriori_update.py。

20260331

  • 对比版本:20251118(2.15 → 2.16)。

这次更新主要补充周年视差偏导数,调整源结构改正和源名匹配,完善 difxvtd 的输入检查,并更新射电源及台站先验数据。下面的文件路径均以 VTD 目录为起点。

更新内容

  • 新增|周年视差偏导数:VTD_PK2001 增加时延对周年视差的解析偏导,由 VTD_DELAY 写入 DER_DEL(VTD__DER_PRLX)。该量在 PK_2001 远场模型分支中计算,视差单位为弧度。周年视差项此前已包含在时延模型中,这次补充的是相应偏导输出。
    对应文件:src/vtd_pk2001.f、src/vtd_delay.f、include/vtd_i.templ。

  • 调整|偏导及中间量的数组下标:新增周年视差和源距离偏导的编号,分别为 27、28。电离层映射函数和基线投影分量的编号后移两位,仰角及之后各项后移一位;数组长度仍为 64,调用程序需要按新版定义逐项核对。
    对应文件:include/vtd_i.templ。

  • 新增|源结构的相位中心偏移:结构控制文件中的两个相位中心字段开始按 mas 读取,转为 rad 后存入 PHASE_CENTER_OFFS,并从 CLEAN 分量坐标中减去。结构群时延、相位时延和相关流量密度计算程序均增加了这个输入参数。非零偏移会改变结构相位和时延;忽略数值舍入误差时,整张结构图的平移不改变相关流量密度。
    对应文件:include/vtd_i.templ、src/vtd_read_struc.f、src/vtd_struc.f、src/vtd_gr_del_struc.f、src/vtd_ph_del_struc.f、src/vtd_corr_amp.f。

  • 新增|源结构图的有效期筛选:读取结构控制文件时,增加起止时间检查,跳过有效期不能完整覆盖本次观测区间的记录。筛选后仍按原有顺序装入结构图,没有增加随观测时刻切换结构图的处理。
    对应文件:src/vtd_read_struc.f。

  • 调整|源名匹配与重复名称检查:读取格式 4(I_FMT=4)的源表时,IVS 名匹配失败后,会继续尝试 B1950 名和 AIPS 名。同时放宽调用者源列表中的重复名称检查:同名的首个条目已找到时,不再仅因后面的重复条目未标记而报错。
    对应文件:src/vtd_load_soucoo.f。

  • 修复|difxvtd 源名对照表的读取:增加空名称检查,不再将名称字段为空的记录写入对照表,并相应调整条目计数。名称对照表中每个元素的字符长度由 8 扩大到 10。
    对应文件:utils/difxvtd.f、include/difxvtd.i。

  • 新增|difxvtd 的输入检查和诊断:未获得 IVS 台站名时,报错并列出台站名称;扫描起始偏移超过 VTD 已加载时段长度时,输出相关时刻并停止计算。输出级别不低于 2 时,还会显示计算起止时刻。
    对应文件:utils/difxvtd.f。

  • 新增|台站先验数据:加入 WSTRB-01、MISASA54 的坐标、速度和描述等记录,并补充 NOBEYAMA 的坐标和速度。偏心文件中的 WSTRBORK 记录改名为 WSTRB-01。
    对应文件:share/glo.sit、share/glo.vel、share/station.desc、share/ECCDAT.ecc。

  • 调整|台站座架、轴偏移和速度:YEBES40M 采用的座架类型由 NASM 改为 NASP,改变馈源旋转角的计算;MACGO12M 的轴偏移由 0 改为 −0.0018 m。USUDA64 的速度由 (-4.30, 4.80, -5.10) 更新为 (-1.67, 4.43, -5.66) mm/yr,来源标注为 rfc_2026a。
    对应文件:share/station.desc、share/glo.vel。

  • 调整|射电源先验数据:glo.src 中大量已有源的位置和误差由 rfc_2024c 更新为 rfc_2026a 数据,记录总数由 43562 增至 43961,新增 399 个源名。部分记录重新排序,同一源名的多条记录也可能改变先后顺序。source.names 为 6 条已有记录补充 AIPS 名称,新增 3 条记录,并调整了 4C39.25 的其他名称字段。
    对应文件:share/glo.src、share/source.names。

  • 新增|先验数据更新脚本的进程检查:读取配置后,检查进程列表中是否还有命令行包含 vtd_apriori_update.py 的其他进程;发现后打印其 PID 并退出。信息查询模式也会经过这一检查。
    对应文件:scripts/vtd_apriori_update.py。

  • 调整|错误与诊断输出:台站位移或对流层时延计算失败时,补充输出观测历元;台站位移插值越界时,补充输出数据目录;负荷位移文件校验失败时,补充输出记录号。斜向大气时延的时间节点越界时,会输出相关时间参数和节点数组;先验数据更新脚本的详细输出也补充了结束日期和临时文件信息。
    对应文件:src/vtd_delay.f、src/vtd_get_posvar.f、src/vtd_set_bindisp.f、src/vtd_tropdel.f、scripts/vtd_apriori_update.py。

使用提示

  • 更新后应使用新版包含文件重新编译 VTD 及相关 Fortran 调用程序。源对象的布局和返回数组的下标均有变化,写死下标的程序需要逐项检查。C 调用端还应核对宏定义与实际索引方式,注意 C 从 0、Fortran 从 1 开始计数。若外部程序直接调用 VTD_PK2001,还需要在 TAU_DER_GAMMA 之后增加 TAU_DER_PRLX 实参。

  • 新增的周年视差偏导只写入 PK_2001 远场分支的 DER_DEL;本次未提供相应的时延率偏导,源距离偏导也只是增加了编号,未见计算实现。其他分支未赋值的数组元素不能作为有效偏导使用;调用前清零只能避免旧值残留,不能代替缺少的计算。

  • 使用源结构改正前,核对相位中心字段的单位和列位置。新版按 mas 读取第 72—79、81—88 列;旧文件若填写的是像素坐标,需要先转换并检查。控制文件格式标识仍为 STRUC_CONTROL Format version of 2007.03.18,不能仅凭格式标识判断这些字段的含义是否一致。

  • src/vtd_read_struc.f 复制相位中心偏移时有一处下标错误:按 J4 匹配结构记录后,却从 VTD%STRUC(VTD%L_STR) 取偏移,使用了最后一条保留记录的值。多条结构记录的偏移不同时,各源或频段可能被赋予错误的偏移。两行赋值的右端应改为 VTD%STRUC(J4)%PHASE_CENTER_OFFS(...),并核查各源、各频段的读入值。

  • 调用者的源列表中重复列出同一源,或同时使用多个别名时,应检查加载后各项的名称和坐标。新增代码放宽了“未找到”的判断,但没有在相应新增分支中为重复项补写完整的源数据。相关程序为 src/vtd_load_soucoo.f。

  • 使用 YEBES40M 时,应结合实际接收机检查座架配置。新版随包表启用注释为 S/X 接收机的 NASP 行,K 波段的 NASM 行改为注释。MISASA54 的速度也需要核对:其 Z 分量为 −4.66 mm/yr,与新版 USUDA64 的 −5.66 mm/yr 不同,不能直接按 as USUDA64 的注释理解为两站速度完全相同。

  • 使用新版射电源数据时,核对实际采用的记录及名称对应关系。例如新增的 1212+334 记录中,J2000 名写为 J1215+0340,赤纬却为 +33:11:50.384;名称表还写有 1212+039,这些名称与坐标不一致。对包含同名多条记录的源,也应检查记录重排是否影响实际选用的位置。

  • 数据更新脚本的进程检查不区分配置或数据目录,多个更新任务会互相触发检查;命令行中带有脚本名称的编辑器等进程也可能导致误判。另外,spd_3d_toser 生成摘要失败后的错误处理仍未修好:程序仍遍历先前命令的输出,并调用拼错的 printlog_verb。对应程序为 scripts/vtd_apriori_update.py。

20251118

  • 对比版本:20210505。

这次比较涵盖多年积累的改动,主要涉及 DE440 历表、源视差与自行、卫星观测、天线相位中心、电离层模型,以及先验数据更新工具。下面的文件路径均以 VTD 目录为起点。旧包目录名为 20210505,但内部版本串写为 VTD 20210824 version 1.77;新版内部版本为 2.15。

更新内容

  • 调整|控制文件:格式标签由 2020.02.29 改为 2024.05.02,增加 SOURCE_PRLX_PRP_MOTION、DIR_NZO、DIR_BTX、IONOSPHERE_SCALE 和 SOU_DEBIAS_MODEL。读取时将中间版本使用的 PHASE_OFFSET_FILE 识别为 DIR_BTX,但对应输入已改为 BINTEX 文件所在目录。
    对应文件:src/vtd_conf.f、include/vtd_i.templ、utils/vtd_control_update.f。

  • 调整|行星历表:由 DE403 改为 DE440,更新历表数据结构,并在读入时检查 DE440/LE440 文件头。PLANETA_DE_EPH 还增加了月球天平动及其时间导数的读取。
    对应文件:src/de_eph.f、include/de440_eph.i、include/vtd_i.templ、share/de440.eph。

  • 新增|源视差与自行:通过 SOURCE_PRLX_PRP_MOTION 指定先验文件,按 IVS 源名补充视差和自行,将 mas、mas/yr 转为内部使用的 rad、rad/s。VTD_PK2001 增加相应的时延项,自行改正使用源位置表提供的参考历元。
    对应文件:src/vtd_load_souprl.f、src/vtd_load.f、src/vtd_pk2001.f、doc/prlx_prp_format.txt、share/sou.prl。

  • 调整|银河系光行差:太阳系质心的银河向心加速度取值由 $1.845\times10^{-10}$ 改为 $2.531\times10^{-10}\ \mathrm{m\,s^{-2}}$,累计位置变化的时间基准由 J2000.0 改为各源的参考历元。
    对应文件:src/vtd_gal_abr.f。

  • 新增|源位置经验偏差改正:通过 SOU_DEBIAS_MODEL 选择内置模型,将源位置的经验偏差换算成时延和时延率改正。该处理不改写源表坐标,是否生效还取决于观测类型和有效频率。
    对应文件:src/vtd_sou_debias.f、src/vtd_delay.f、src/vtd_conf.f。

  • 新增|源位置文件格式:增加 VLBI SOURCE POSITION CATALOGUE 2024.10.14 和 SOURCE-NAMES v3.0 2025.09.06 两种格式,后者可记录近场目标类型、NORAD 编号及轨道文件或目录。读取程序还增加了参考历元的解析;源数据的加载移到地球定向、历表等数据准备之后。
    对应文件:src/vtd_load_soucoo.f、src/vtd_load.f、doc/vtd_formats.txt。

  • 新增|近场轨道数据处理:扩展 NZO、TLE、SP3 和 CCSDS OEM 文本的识别与加载,增加 TLE 轨道计算与采样、SP3 位置及钟差读取和插值样条构造。SP3 读取程序实际检查的是 #d 文件头,不能按发布说明中的“SP3c”理解其支持范围。
    对应文件:src/vtd_load_nzo.f、src/vtd_nzo_inquire.f、src/vtd_read_nzo.f、src/vtd_ingest_sp3.f、src/vtd_load_obj_nzo.f。

  • 调整|卫星位置与观测几何:地球卫星的样条求值由 TDT 改用 TAI,将地固系中的位置和速度转换到空固系,速度转换包含旋转矩阵的时间导数项。近场观测增加站心视线方向和相对速度的处理,并新增 JN_2019 几何时延模型。
    对应文件:src/vtd_moment.f、src/vtd_delay.f、src/vtd_jn2019.f、include/vtd_i.templ。

  • 新增|GNSS 天线相位中心与相位缠绕改正:在 JN_2019 分支中加入卫星和地面天线的相位中心偏移(PCO)、相位中心变化(PCV)及载波相位缠绕改正。地面天线相位中心处理使用新增的 GNSS 座架类型;相位缠绕按基线保存前次相位,调整整周数以保持连续。新增 vtd_antex_to_bintex,将 ANTEX 转为由 DIR_BTX 加载的 BINTEX 文件。
    对应文件:src/vtd_jn2019.f、src/vtd_calc_pco.f、src/vtd_load_pco.f、src/vtd_read_bintex.f、src/vtd_write_bintex.f、utils/vtd_antex_to_bintex.f。

  • 新增|单频源结构时延:增加高频单频群时延和相位时延的结构改正,并计算相应的相关流量密度;低频单频分支改为按图的频率选择低频结构图。默认关闭结构调试输出,增加 VTD_DEBUG_STRUC 调试选项。
    对应文件:src/vtd_struc.f。

  • 调整|电离层计算:增加比例因子和两种 TEC 映射模型分支,TEC 插值的纬度由大地纬度改为地心纬度,时间参数改为 UTC。观测类型对象新增 APPLY_IONO,用于控制总时延中的电离层项;返回数组增加两站的斜向总电子含量(TEC)。
    对应文件:src/vtd_iono_delay.f、src/vtd_load_iono.f、src/vtd_delay.f、include/vtd_i.templ。

  • 调整|馈源旋转:X-YE 座架改用与 AZEL 相同的馈源角计算方式,即采用星位角(parallactic angle)。将馈源角换算成相位时延时,增加参考频率范围检查。
    对应文件:src/vtd_delay.f。

  • 调整|地球定向数据:增加 ERM v2.2 的 ERM DIM、ERM EST 记录读取,调整 EOP-MOD 数据列的解析,并在读取 NERS 序列前重置记录计数。VTD_MOMENT 增加 EOP_ONLY 调用方式,在完成地球定向和行星历表计算后返回,跳过源相关处理。
    对应文件:src/read_erm.f、include/erm.i、src/vtd_ueop_init.f、src/vtd_moment.f。

  • 修复|通过 NERS 查询 UTC−TAI:传入 NERS 的时刻由日内 UTC 秒数改为包含 MJD 日期的完整时间参数,避免查询时遗漏观测日期。
    对应文件:src/vtd_utc_to_tai.f。

  • 调整|台站数据读取:增加对 GETPAR_STA/VEL 1.1 和 STATION DESCRIPTION 2023.02.18 格式的支持,并读取 ANTEX 天线类型及台站数据起止日期。分段站坐标的历元改为写入当前坐标段对应的数组元素。
    对应文件:src/vtd_load_stacoo.f、src/vtd_load_stavel.f、src/vtd_load_stadesc.f。

  • 调整|对象容量:源数上限由 1024 增至 65536,近场目标数由 4 增至 512,近场 B 样条节点上限由 256 增至 8192。新增相位中心对象,部分近场轨道数组改为按需分配。
    对应文件:include/vtd_i.templ、src/vtd_quit.f。

  • 新增|difxvtd 名称对照与外部先验读取:增加 -sta、-sou 名称对照表选项,调整 embed 与 external 模式下的站坐标、源坐标和 EOP 加载。源数上限由 128 增至 1024,默认输出级别由 1 改为 0。
    对应文件:utils/difxvtd.f、include/difxvtd.i。

  • 调整|difxvtd 模型插值与输出:五次多项式仍对应 120 s 区间,但六个采样点由相对参考时刻的 −60—+60 s 改为 0—120 s;多项式构造由 POLY_SOLVE 改为 CHCR 和 CHMAP。修正 .im 输出中写死的扫描编号,并扩大输出缓冲区、增加容量检查。
    对应文件:utils/difxvtd.f。

  • 新增|先验数据更新选项:脚本增加 --info 和 --missing,分别查询本地数据情况、补齐缺失的静态先验文件;增加负荷位移与斜向大气时延的模型选项,扩充 GEOS-IT、MPIOM07 及合并负荷数据的处理。EOP 序列的结束时刻由当前时刻延后至未来 10 天,成功写入临时文件后再替换正式文件,并适配 CODE 电离层数据的长文件名。
    对应文件:scripts/vtd_apriori_update.py、share/apr_update.conf。

  • 调整|位移与斜向大气时延文件:增加 BINDISP 2025.06.22 格式及校验逻辑,读取 SPD 数据时增加等待更新锁释放的处理。新增 stapos_to_bin,从台站坐标时间序列中扣除参考位置及线性运动引起的位置变化后,生成 BINDISP 位移文件;另新增 viono_show_header 和 vtd_inq,分别查看电离层文件头、查询 VTD 安装信息。
    对应文件:src/vtd_set_bindisp.f、src/vtd_load_spd.f、include/bindisp.i、utils/stapos_to_bin.f、utils/stapos_to_bindisp.f、utils/viono_show_header.f、utils/vtd_inq_main.f。

  • 调整|构建依赖:PETOOLS 最低版本由 20210430 提高到 20241115,SPD_CLIENT 由 20200501 提高到 20241125;新增 TLE 库依赖,最低版本为 20250215,通过 --with-tle 指定位置。新增工具纳入普通构建和安装流程。
    对应文件:configure、support/config.csh、Makefile.in2、utils/makefile。

  • 调整|随包先验数据:更新射电源位置和名称资料,glo.src 净增 9069 条数据记录,source.names 净增 12348 条;台站坐标、速度、描述和偏心记录也有所补充,包括 MATVGOS、ZHUFENG 等台站。新增 GNSS 卫星名表、IGS20 天线资料及源视差/自行样例。上述记录数包含重复名称,不能直接当作新增独立源或台站数。
    对应文件:share/glo.src、share/source.names、share/glo.sit、share/glo.vel、share/station.desc、share/ECCDAT.ecc、share/gnss_sat_table.txt、share/igs20_pared.atx、share/sou.prl。

使用提示

  • 升级控制文件后,需要逐项检查模型设置和路径。vtd_control_update 的 2020.02.29 转换分支会写入 IONOSPHERE_SCALE: 0.850 和 SOU_DEBIAS_MODEL: MOD_850A,不能视为只更新格式;该分支还未补齐 DIR_BTX。不使用天线相位中心文件时也应按新版要求填写 DIR_BTX: NONE。DE_EPHEMERIDES 应指向兼容的 DE440 文件;环境变量 VTD_IONO_SCALE 会覆盖控制文件中的电离层比例因子。

  • 使用新版包含文件重新编译 VTD 及调用程序,并检查对象分配方式和内存需求。调用 VTD_DELAY 前,应显式设置 OBS_TYP%APPLY_IONO;只清零整个对象会将它设为关闭。C 调用端还需核对观测对象的字段布局及返回数组下标,不能仅凭旧头文件继续使用新增接口。

  • 电离层时延率存在重复计入问题:src/vtd_delay.f 的 RATE 求和保留了一份无条件电离层项,又在 APPLY_IONO 为真时追加一份。因此开关为真时计入两次,为假时仍计入一次。应删除无条件求和中的那一份,并分别核查开关两种状态的返回值;只比较两者之差无法检出这个错误。

  • src/vtd_pk2001.f 新增的自行时延率表达式末尾多了一个 *,破坏了随后 + RAT_GRAV 的加法关系。此外,新增视差时延率项的符号、自行项的求导也需核对。使用该例程的时延率输出前,应先修正表达式,再与时延的独立数值微分结果比较。

  • 自行文件的赤经分量在代码中按 $d\alpha/dt$ 使用,构造方向向量导数时再乘 $\cos\delta$。导入外部星表的 $\mu_{\alpha *}$ 前,应先核对定义;参考历元来自源位置表。另需注意,src/vtd_gal_abr.f 尚未成功实现“跳过非零视差源”:判断阈值误写为 1.0D0-20,清零之后也没有返回,后续计算会覆盖清零结果。

  • 使用 ERM v1.0 文件前,需要修正 src/read_erm.f 的标签检查。旧格式分支错误地按新版标签的 42 字符长度截取输入,再与 44 字符的旧标签比较,正常旧文件会被拒绝;这里应使用旧标签自身的长度。

  • 使用近场轨道时,需要按实际格式检查加载结果和坐标系。SP3 读取程序要求 #d,2006 版 NZO 文件无法通过前置格式检查;NZO/TLE 加载分支中的对象关联和加载状态也需要核查。地球卫星的后续计算将输入轨道视为地固系坐标,不能直接混入空固系坐标。相关程序为 src/vtd_nzo_inquire.f、src/vtd_load_nzo.f、src/vtd_load_obj_nzo.f、src/vtd_moment.f。

  • JN_2019 及配套卫星分支仍有实现问题,不能仅凭增加了调用分支就认定所有偏导和时延率均可用。例如 EOP 偏导未完整计算;src/vtd_delay.f 的卫星仰角率分支使用 STA(J3),而当前台站应为 STA(ISTA(J3))。src/vtd_calc_pco.f 的 AZEL 相位缠绕分支还把标量 U_VEC_ECEF 用作三分量输出,需要先修正声明并检查该分支。

  • 单频源结构改正需核对图与观测频率的对应关系。src/vtd_struc.f 虽然按图频率选出高、低频图,调用时却直接用图下标索引 FRQ_ION_EFF;两组数组的高低频顺序不同时,可能把结构图与错误频率配对。

  • 使用 difxvtd 的 external 模式时,检查台站名称对照是否完整。此版源名对照表仍只有 8 字符,长名称可能被截断;程序内的参考频率还被固定为 1.57542 GHz,应结合实际观测检查。对应程序为 utils/difxvtd.f、include/difxvtd.i。

  • 先验数据更新配置应以新版 share/apr_update.conf 为基础合并原设置;旧 SPD 数据目录需要备份后重建。脚本遇到尚未到期的远端锁时,check_and_wait_remote_lock 会访问未定义的 ivrb,需要修正参数传递。使用新 BINDISP 格式时,还应修正 src/vtd_set_bindisp.f 的校验变量初始化:BIT_SUM_I2 只被写入最低位,其余位未清零,可能误报校验失败。