Observables Analysis and Simulation for Interferometer-in-Space
空间干涉仪观测数据分析与模拟系统
OASIS 是一套面向科学用户的空间干涉仪软件工具,旨在帮助科学用户筹划观测任务、分析观测数据。 此外,在工程方案设计与研制阶段,OASIS 也能帮助科学用户评估方案科学目标可实现性,从而为方案设计及试验验证提供参考。
OASIS 采用 TOP 三层架构,分别对应观测任务的数据流:
| 层 | 缩写 | 核心职责 | 数据流向 |
|---|---|---|---|
| T - 目标层 | targets |
观测目标建模(图像、光谱、参数)——内部采用接口段、模型段、数据段三段式架构,负责从用户 YAML 输入到 FITS 输出的全链路处理 | 目标 → 观测量 |
| O - 观测量层 | observables |
干涉观测量(可见度、闭合相位)模拟与重建 | 观测量 ↔ 载荷数据 |
| P - 载荷层 | payloads |
仪器数据生成与处理(探测器、条纹、噪声) | 载荷数据 → 观测量 |
数据流:T → O → P(目标 → 观测量 → 载荷数据)
OASIS 各层之间通过文件进行数据交换,采用国际天文标准格式以确保兼容性和可追溯性。
| 数据类型 | 封装格式 | 说明 |
|---|---|---|
| 参数化模型输入 | YAML (UTF-8) | 用户提交的 Source / Background / Transmission 模型定义,遵循统一 schema;支持层级继承、参数扫描与带单位的物理量表达,是自动化流程的主要输入方式。 |
| 源表 (Catalogue) | CSV / TSV (文本) | 辅助批量导入或手工编辑目标的基本参数(名称、坐标、模型类型等),在参数扫描或传统工作流中作为补充。 |
| 正演产品包 | FITS (图像/光谱/光变) + JSON/YAML 辅助 + .forward_ready 哨兵 |
目标层输出至观测量层的完整产品包。主 FITS 包含亮度分布(图像立方体、光谱、光变曲线),携带完整 WCS、版本及溯源元数据;params.json 等辅助文件记录本次计算的参数侧写与观测配置;哨兵文件通知下游数据就绪。 |
| 反演输入包 | FITS 数据产品 + JSON 噪声/校准辅助 + .inverse_ready 哨兵 |
观测量层提供的高级科学数据产品,格式与正演输出一致,额外携带数据质量标记(DATA_QUAL)、仪器标识及校准版本;哨兵文件触发目标层反演流程。 |
| 数据类型 | 封装格式 | 说明 |
|---|---|---|
| 复可见度等观测量 | OIFITS 2 (FITS) | 存储模拟或重建的干涉观测量(可见度振幅、相位、闭合相位等),遵循国际 OIFITS 2 标准。 |
| 干涉仪状态 | JSON (辅助文件) | 记录干涉仪的动态状态(延迟线位置、环境参数、指向修正等),与 OIFITS 文件配套保存。 |
| UV 覆盖 | 内嵌于 OIFITS | (u,v) 采样点信息直接存储在 OIFITS 表的 UVCOORD 列中,无需单独文件。 |
| 数据类型 | 封装格式 | 说明 |
|---|---|---|
| 原始条纹数据 | 自定义二进制或 FITS | 探测器原始读数(通常为自定义格式),但处理后的校准数据将转换为标准 OIFITS。 |
| 工程辅助数据 | OIFITS 自定义扩展 (OI_ENG / OI_ENV) | 望远镜指向、活塞误差、环境监测等工程数据以二进制表形式附加在 OIFITS 文件中,确保时间同步。 |
| 处理后的干涉采样 | OIFITS 2 (FITS) | 经过条纹提取、校准后的可见度数据,输出为标准 OIFITS 文件,供观测量层进一步分析。 |
- 格式统一:尽可能使用 FITS 家族格式(图像 FITS + OIFITS),减少依赖,复用
astropy.io.fits工具链。 - 人机友好:源表等配置类数据采用文本格式(CSV),便于用户直接查看和修改。
- 元数据完整:所有文件均包含充分的元数据(如 WCS、时间、仪器状态),保证数据可追溯。
- 国际兼容:OIFITS 作为核心交换格式,确保与国内外干涉数据处理软件(如 JMMC 工具集)无缝对接。
- 异步解耦:层间数据交换通过哨兵文件(
.forward_ready/.inverse_ready)实现异步就绪通知,避免紧耦合轮询;异常通过.error哨兵传递英文错误码与摘要。