天体测量与大地测量 VLBI 的数据格式与相关术语
从 Calc/Solve 转向 pSolve 时,Leonid 建议我先了解数据格式。我以前使用 Calc/Solve,接触过 Mark III 数据库和 vgosDB,但对它们保存的具体内容,以及它们在数据处理流程中的作用,了解得还不够系统。借这个机会,我想先梳理一下天体测量和大地测量 VLBI 的数据处理流程,再介绍几种常见的数据格式,以及 session、scan、observation 等术语,最后讨论这些术语的中文译法,说明自己的选择。
1. 数据处理流程与格式
1.1 从信号记录到参数估计
VLBI 测站接收射电源的信号,对信号进行数字采样,并记录采样数据及时间信息。不同测站的信号经过相关处理,得到各条基线上的复可见度函数数据。“复可见度函数”是 complex visibility function 的中文译名。描述相关机输出及后续处理时,中文 VLBI 文献也常使用“可见度数据”这一说法。因此,后文将其简称为“可见度数据”。随后,通过校准和条纹拟合提取时延、时延率等观测量,再利用这些观测量估计射电源位置、测站坐标和地球定向参数等。
按照 IVS《Infrastructure Development Plan 2030》附录中的命名约定,可以将这些数据分为以下级别:
| 数据级别 | 主要内容 | 后续处理 |
|---|---|---|
| L0 | 测站记录的原始数字采样信号 | 相关处理,生成 L1 数据 |
| L1 | 相关处理得到的可见度数据 | 校准、必要的偏振合成和条纹拟合,生成 L2 数据 |
| L2 | 群时延、相时延及其变化率等观测量 | 天体测量和大地测量参数估计,生成 L3 数据 |
| L3 | 射电源位置、测站坐标、地球定向参数等解算结果 | 多个解算结果的组合 |
这里的分析步骤按输入数据命名。例如,L1 数据分析从可见度数据中提取时延等观测量,得到 L2 数据;L2 数据分析利用这些观测量进行参数估计,得到 L3 数据。
实际处理还涉及模型和校准信息。条纹拟合得到的时延残差,是相对于相关处理所用模型而言的。将时延残差与相应的模型时延及相关改正结合起来,才能构成总时延观测量。之后,还要把观测量、误差和测站、射电源、时间、频率等信息整理在一起,供分析软件读取。
1.2 不同处理阶段的数据格式
大地测量 VLBI 数据从记录到解算,要经过多次处理和转换,因此会用到多种格式。Leonid 在 GVF 的说明中,按处理顺序将它们分成几类。我觉得这种分法很直观,下面沿用他的思路,补充一些常见的格式名称。
-
信号记录格式(signal format) 测站将数字采样信号记录在磁带或磁盘上。Leonid 的早期说明列举了 Mark-5、Mark-4、Mark-3、K-3、K-4 和 S2 等记录系统所用的格式。现在常见的基带数据格式还有 VDIF、Mark5B 等。
-
相关机输出格式(correlator output format) 相关机对不同测站记录的信号进行相关处理,得到可见度数据,并连同辅助信息一起保存。以 DiFX 为例,相关结果以 SWIN 格式保存,也可根据后续处理的需要转换为 FITS-IDI 或 Mark 4 格式。
-
相关后处理格式(post-correlator format) PIMA、AIPS、FOURFIT 等程序对相关机输出进行校准和条纹拟合,并保存处理结果。这些结果包括时延、时延率、相位、信噪比和数据质量信息等,具体保存方式因软件而异。
-
观测数据格式(observations format) 将时延等观测量与辅助信息整理在一起,供天体测量和大地测量分析软件使用。Mark III 数据库、NGS、GVF、VDA 和 vgosDB 等都可以放在这一类中。
-
解算结果格式(results format) 参数估计完成后,按照相应格式保存解算结果。例如,IVS 的地球定向参数产品使用专门的 EOP 格式,地球参考架产品采用 SINEX 格式。
有些格式名称会出现在不止一个处理环节。例如,Mark 4 的 type-1 文件保存可见度数据,type-2 文件保存条纹拟合结果,type-3 文件保存测站模型和校准信息。因此,看到“Mark 4 格式”时,还要确认具体指哪类文件。
L0、L1、L2 等级别说明数据经过了哪些处理,格式名称则说明这些数据怎样存放。同一级数据可以采用不同格式,同一种格式也可能保存多个处理阶段的信息。
1.3 我接触过的 Mark III 数据库
我最初学习 Calc/Solve 时,接触的是 MARK-3 DBH 格式,也就是通常所说的 Mark III 数据库。那时,光是导入数据就花了不少时间,我还专门写过笔记,记录 catlg 的使用方法。
在旧的 Calc/Solve 处理流程中,条纹拟合结果先被整理成初始数据库。Calc 计算理论时延和偏导数等,并将结果写入数据库;随后加入气象、电缆校准等信息,再通过交互式 Solve 完成数据编辑、模糊度处理和电离层校准。
处理后的数据库可以按需要转换为两类文件:
| 文件 | 用途 |
|---|---|
| NGS 文件 | 保存数据库中的部分信息,供 Occam、VieVS 等其他分析软件读取 |
| Superfile | 供 Solve 全局解算使用的二进制文件,提高大量观测数据的读取效率 |
这些转换会舍去一部分信息,因此导出的文件并不等同于完整数据库。例如,NGS 文件通常不足以支持重新进行时延模糊度处理。
Leonid 在 GVF 的说明中,对旧格式及其处理程序提出了不少批评:读取速度慢、重复存储的数据多、依赖旧目录系统,更新和版本管理也不方便。其中一些设计受到当年计算机条件的限制,但随着观测规模扩大,使用起来也越来越费力。
1.4 vgosDB 与 GVF
后来,IVS 逐步转向 vgosDB。官方报告记载,这一转换从 2017 年开始,到 2018 年 5 月底已基本完成。Calc/Solve 在此之前就已支持 vgosDB,2017 年的软件发布说明还提到了对这种格式支持的改进。转换初期也遇到过一些问题。不过,就我自己的使用感受而言,vgosDB 对初学者友好得多。
vgosDB 把一次观测的数据分成多个文件,数值数据主要采用 NetCDF 格式保存,再由扩展名为 .wrp 的 wrapper 文件指定使用哪些文件。观测量、校准数据、理论模型和数据编辑信息可以分别存放。分析时更换某些数据或处理方案,也可以通过新的 wrapper 指向相应文件。
Leonid 提出的 GVF(geo-VLBI format),也是为了改善旧数据库在读取、存储和更新等方面的问题。它是 pSolve 使用的观测数据格式,可以将条纹拟合结果、校准数据、理论模型和解算相关信息分别保存。
初步阅读之后,我觉得 GVF 和 vgosDB 在数据组织上有不少相似之处。它们都区分整次观测、观测段、测站和基线观测等不同范围的数据,也都允许将不同类别的数据分开保存。这样可以减少重复存储,修改某一部分内容时,也不必重新写入整套数据。
与 GVF 相关的文本交换格式是 VDA(VGOSDA),早期名称为 AGVF。它以 ASCII 文本保存 VLBI L2 数据及相关信息,便于直接查看,也方便不同分析软件交换数据。
2. 观测数据的组织与基本术语
2.1 Experiment 与 session
在这里讨论的数据分析语境中,experiment 和 session 经常指同一次独立安排的 VLBI 观测。它有自己的观测代号、开始时间、持续时间、参与测站和观测计划。多个测站按照计划,在这段时间内观测一系列射电源。VDA 规范中的 experiment,也用于指独立编排的观测所产生的数据集。
我在描述 VLBI 数据时更习惯使用 session。写成中文时,通常直接译为“观测”或“一次观测”。需要强调组织安排时,再使用“观测任务”。例如:
| 英文表述 | 中文表述 |
|---|---|
| We analyzed 20 sessions. | 我们分析了 20 次观测的数据。 |
| Stations participating in the session | 参加此次观测的测站 |
| The session lasted 24 hours. | 此次观测持续了 24 小时。 |
| Each session has a unique session code. | 每次观测都有唯一的观测代号。 |
在 IVS 中,session code 是某次观测的唯一代号,session type 则用来归类同一系列的观测。例如,R1 是一个观测系列,r1823 是其中某次观测的代号。
在大地测量 VLBI 中,常见的观测安排包括常规观测和 UT1 加强观测,两者的时长、测站配置和主要目的有所不同。常规观测通常持续 24 小时,由多个测站组成观测网,按照计划观测一系列射电源。IVS 的 R1、R4 就是典型例子。这类观测用于测定地球定向参数,其长期积累的数据也用于确定测站坐标、射电源位置,以及建立和维护地球参考架与天球参考架。UT1 加强观测(Intensive sessions)主要用于快速测定 UT1−UTC,通常持续约 1 小时,常见配置为 2 至3 个测站。它的观测时间较短、参与测站较少,观测编排和解算也主要围绕 UT1−UTC 展开。因此,“一个 session”,既可以是一次持续 24 小时的常规观测,也可以是一次持续约 1 小时的加强观测。
2.2 Scan:观测段
这里我把 scan 译为“观测段”,指VLBI阵列或其中一部分测站对同一射电源进行的一段连续观测。一次完整的观测通常包含多个观测段,同一射电源也可以在不同观测段中被反复观测。
例如,先观测射电源 A,再观测射电源 B,随后返回射电源 A,通常对应三个观测段。每个观测段都有相应的目标源、时间、参与测站和观测设置。
我采用“观测段”这个译法,主要是觉得它在中文里比较直观。“观测段时长”、“观测段编号”、“一个观测段内的基线观测”等表述也比较顺畅。涉及程序变量和文件字段时,我仍会保留 scan,方便与软件文档对照。
2.3 Observation:基线观测
在测地 VLBI 观测数据库中,observation 通常指一个观测段内,一对测站针对同一目标源取得的数据。我将它称为“基线观测”;讨论数据库结构和记录数量时,则使用“基线观测记录”。
如果一个观测段内有 $N$ 个测站共同观测同一射电源,可以组成的基线数为 \(N_{\mathrm{bl}}=\frac{N(N-1)}{2}.\) 例如,4 个测站可以组成 6 条基线。在每条基线对应一条记录的组织方式下,这个观测段最多对应 6 条基线观测记录。实际得到的有效记录数,还取决于测站参与情况、数据完整性和条纹检测结果。一条记录可以包含或关联多个数据项,例如不同频段的时延、时延误差、时延率、信噪比和质量代码。因此,“基线观测记录数”与“时延数”不一定相同。
这样,几个层级就可以分别表述为:
| 英文 | 中文 | 所指范围 |
|---|---|---|
| session | 一次观测 | 独立安排的完整观测 |
| scan | 观测段 | 对同一射电源的一段连续观测 |
| observation | 基线观测记录 | 某观测段内一对测站取得的数据 |
2.4 Observation、observable 与 delay
Observation、observable 和 delay 也需要分开使用。Observation 在这里指基线观测或相应的数据记录;observable 是“观测量”,例如群时延、相时延和时延率;delay 则是其中一种具体的观测量,即“时延”。
以时延为主要观测量时,文献中有时会用 delays 指代参与分析的观测数据。但在介绍数据库内容时,我还是会区分“一条基线观测记录”和“一个时延值”,因为一条记录中还可能有其他观测量及辅助信息。
2.5 Master File:观测总表
我将 IVS Master File 称为“IVS 观测记录总表”。它按年度汇总各次 VLBI 观测的基本信息,每次观测实验对应一条记录。记录中包括观测类型、观测代号、开始日期和时间、计划时长、参与测站,以及负责观测编排和相关处理的机构等。IVS 的网页版本还提供处理状态、分析中心和具体观测页面的链接。观测记录总表、单次观测的观测纲要和观测数据库,可以按下面的方式区分:
| 文件或数据集 | 主要内容 |
|---|---|
| 观测记录总表 | 一年内各次观测的代号、时间、测站及组织处理信息 |
| 观测纲要 | 某次观测中,各观测段的目标源、时间、参与测站和观测设置 |
| 观测数据库 | 某次观测实际得到的观测量、辅助数据和处理信息 |
整理观测列表、查看有哪些测站参加时,可以先查观测记录总表;了解某次观测如何安排,需要查看观测纲要;进行时延分析,则需要读取观测数据库。IVS 分别提供普通观测和加强观测的年度总表。例如:
| 文件名 | 内容 |
|---|---|
master2023.txt |
2023 年常规观测总表 |
master2023-int.txt |
2023 年加强观测总表 |
master-format.txt |
Master File 格式定义 |
2.6 常用术语的中文表述
下面汇总我采用的中文译法。涉及软件变量、文件字段和文件名称时,我通常保留英文,便于查阅和对照;正文叙述则尽量使用自然、准确的中文,避免不必要的中英文混用。
| 英文 | 中文表述 |
|---|---|
| experiment | 观测实验 |
| session / observing session | 观测;一次观测;必要时用“观测任务” |
| session code | 观测代号 |
| session type | 观测类型 |
| session start time | 观测开始时间 |
| session duration | 观测时长 |
| session data | 该次观测的数据 |
| observing schedule | 观测计划 |
| scheduling | 观测编排 |
| schedule file | 观测计划文件 |
| master file / master schedule | 观测总表 |
| scan | 观测段 |
| scan identifier | 观测段标识 |
| scan duration | 观测段时长 |
| observation | 基线观测;基线观测记录 |
| observable | 观测量 |
| complex visibility function | 复可见度函数 |
| visibility data | 可见度数据 |
| correlation | 相关处理 |
| correlator | 相关机;相关处理机 |
| correlator output format | 相关机输出格式 |
| post-correlator format | 相关后处理格式 |
| fringe fitting | 条纹拟合 |
| group delay | 群时延 |
| phase delay | 相时延 |
| delay rate | 时延率 |
| residual delay | 时延残差 |
| total delay | 总时延 |
参考资料
- Leonid Petrov:Specifications of the geo-VLBI data format。
- Leonid Petrov:Description of the ASCII geo-VLBI data format VGOSDA。
- IVS:Infrastructure Development Plan 2030。
- John Gipson,2012:IVS Working Group 4: VLBI Data Structures。
- John Gipson:vgosDB Manual。
- IERS:2018 年报中的 IVS 报告。
- 刘磊、郑为民、张娟等,2017:中国 VLBI 网软件相关处理机测地应用精度分析。
- IVS:Master and Control Files。