186 lines
5.5 KiB
Markdown
186 lines
5.5 KiB
Markdown
# SYNSPEC 输入输出文件完整文档
|
||
|
||
## 概述
|
||
|
||
SYNSPEC 是光谱合成程序,使用 TLUSTY 计算的大气模型计算理论光谱。
|
||
本文档记录 SYNSPEC 所有文件单元的用途、格式和内容。
|
||
|
||
**相关文档**: TLUSTY I/O 文件见 `docs/TLUSTY_IO_FILES.md`
|
||
|
||
---
|
||
|
||
## 第一部分:核心输入/输出
|
||
|
||
| 单元号 | 文件名 | 用途 | 方向 | 格式 | 说明 |
|
||
|--------|--------|------|------|------|------|
|
||
| **5** | stdin | 主输入 | 输入 | 格式化 | fort.55.lin 或 fort.55.con |
|
||
| **6** | stdout | 标准输出 | 输出 | 格式化 | 进度和诊断信息 |
|
||
| **7** | fort.7 | 光谱输出 | 输出 | 格式化 | 计算的谱 flux |
|
||
| **8** | fort.8 / bfactors | 模型输入 | 输入 | 格式化 | 大气模型或 NLTE 系数 |
|
||
|
||
---
|
||
|
||
## 第二部分:谱线数据文件
|
||
|
||
| 单元号 | 文件名 | 用途 | 方向 | 格式 | 说明 |
|
||
|--------|--------|------|------|------|------|
|
||
| **3** | fort.3 | 分子线列表 | 输入 | 格式化 | 分子谱线列表文件名 |
|
||
| **11** | fort.11 | Kurucz 线输出 | 输出 | 格式化 | 谱线数据输出 |
|
||
| **12** | fort.12 | 二进制光谱 | 输出 | 格式化 | 谱线数据(二进制/格式化) |
|
||
| **14** | fort.14 | 调试输出 | 输出 | 格式化 | 详细调试信息 |
|
||
| **17** | fort.17 | 谱线选择 | 输出 | 格式化 | 选中的谱线列表 |
|
||
| **19** | fort.19 | 原子线列表 | 输入 | 格式化 | 默认原子谱线列表 |
|
||
|
||
---
|
||
|
||
## 第三部分:轮廓/加宽文件
|
||
|
||
| 单元号 | 文件名 | 用途 | 方向 | 格式 | 说明 |
|
||
|--------|--------|------|------|------|------|
|
||
| **50** | fort.50 | Stark 轮廓 | 输出 | 格式化 | 氢 Stark 加宽数据 |
|
||
| **56** | fort.56 | He 轮廓 | 输出 | 格式化 | 氦线轮廓数据 |
|
||
| **57** | fort.57 | 分子线 | 输入 | 格式化 | 分子谱线列表 |
|
||
|
||
---
|
||
|
||
## 第四部分:控制/诊断文件
|
||
|
||
| 单元号 | 文件名 | 用途 | 方向 | 格式 | 说明 |
|
||
|--------|--------|------|------|------|------|
|
||
| **4** | fort.4 | 参数文件 | 输入 | 格式化 | 非标准参数文件 (NST) |
|
||
| **55** | fort.55.lin/.con | 输入参数 | 输入 | 格式化 | 谱线/连续谱计算参数 |
|
||
| **69** | fort.69 | 计时 | 输出 | 格式化 | 计算时间统计 |
|
||
| **84** | fort.84 | 参数值 | I/O | 格式化 | 优化参数值 |
|
||
| **95** | fort.95 | 线标识 | 输出 | 格式化 | 谱线标识信息 |
|
||
|
||
---
|
||
|
||
## 第五部分:原子数据文件
|
||
|
||
| 文件名 | 用途 | 说明 |
|
||
|--------|------|------|
|
||
| `./data/hydprf.dat` | 氢线轮廓 | H I Stark 加宽轮廓 |
|
||
| `./data/he1prf.dat` | He I 轮廓 | He I 线轮廓数据 |
|
||
| `./data/he2prf.dat` | He II 轮廓 | He II 线轮廓数据 |
|
||
| `./data/h1.dat` | H I 能级 | 氢原子能级数据 |
|
||
| `./data/he1.dat` | He I 能级 | 中性氦能级数据 |
|
||
| `./data/he2.dat` | He II 能级 | 氦离子能级数据 |
|
||
| `bfactors` | NLTE 系数 | NLTE 出发系数(替代 fort.8) |
|
||
| `RBF.DAT` | 辐射场边界 | 辐射 bracketing 数据 |
|
||
|
||
---
|
||
|
||
## 第六部分:文件格式详解
|
||
|
||
### 6.1 fort.55.lin (谱线计算输入)
|
||
|
||
```fortran
|
||
! Line 1: IFREQ=0, NFREQ, INLTE
|
||
0 50 0
|
||
! Line 2: IHYDPR, IHE1PR, IHE2PR (轮廓开关)
|
||
1 0 0 0
|
||
! Line 3: 不透明度开关
|
||
0 0 0 0 0
|
||
! Line 4: 其他开关
|
||
1 1 0 0 0
|
||
! Line 5: 分子开关
|
||
0 0 0
|
||
! Line 6: 波长范围和步长
|
||
20 100000 10 0 0.0001 4
|
||
! Line 7-8: 角度/通量选项
|
||
0 0
|
||
```
|
||
|
||
### 6.2 fort.55.con (连续谱计算输入)
|
||
|
||
```fortran
|
||
! 与 fort.55.lin 结构相同,但 IFREQ=0 表示连续谱
|
||
0 50 1
|
||
1 0 0 0
|
||
...
|
||
```
|
||
|
||
### 6.3 fort.7 (光谱输出)
|
||
|
||
```fortran
|
||
! 波长 flux
|
||
3500.00 1.234E+14
|
||
3501.00 1.235E+14
|
||
...
|
||
```
|
||
|
||
### 6.4 fort.8 / bfactors (模型输入)
|
||
|
||
与 TLUSTY fort.7 格式相同,包含:
|
||
- 深度点数和参数
|
||
- 质量深度数组
|
||
- 温度、电子密度、质量密度、布居数
|
||
|
||
---
|
||
|
||
## 第七部分:有 I/O 的模块分析
|
||
|
||
| 模块 | 主要 I/O 操作 | 复杂度 |
|
||
|------|--------------|--------|
|
||
| **START** | 读取 fort.55 参数 | 中 |
|
||
| **INIBL0** | 初始化输入 | 中 |
|
||
| **NSTPAR** | 非标准参数 | 中 |
|
||
| **HYDINI** | 氢线轮廓 | 低 |
|
||
| **HE1INI** | He I 轮廓 | 低 |
|
||
| **HE2INI** | He II 轮廓 | 低 |
|
||
| **INPBF** | 读取 bfactors | 低 |
|
||
| **MOLEQ** | 分子线列表 | 中 |
|
||
| **OPDATA** | 不透明度数据 | 低 |
|
||
| **RDATA** | 原子数据 | 低 |
|
||
| **SIGAVS** | Stark 数据 | 低 |
|
||
|
||
---
|
||
|
||
## 第八部分:重构优先级
|
||
|
||
### 高优先级
|
||
|
||
| 文件 | 单元 | 用途 |
|
||
|------|------|------|
|
||
| fort.55.lin | 5 | 谱线计算参数 |
|
||
| fort.55.con | 5 | 连续谱计算参数 |
|
||
| fort.7 | 7 | 光谱输出 |
|
||
| fort.8 | 8 | 模型输入 |
|
||
|
||
### 中优先级
|
||
|
||
| 文件 | 单元 | 用途 |
|
||
|------|------|------|
|
||
| fort.11 | 11 | Kurucz 线输出 |
|
||
| fort.12 | 12 | 二进制光谱 |
|
||
| fort.17 | 17 | 谱线选择 |
|
||
|
||
### 低优先级
|
||
|
||
| 文件 | 单元 | 用途 |
|
||
|------|------|------|
|
||
| fort.14 | 14 | 调试 |
|
||
| fort.50 | 50 | Stark 轮廓 |
|
||
| fort.56 | 56 | He 轮廓 |
|
||
| fort.69 | 69 | 计时 |
|
||
| fort.95 | 95 | 线标识 |
|
||
|
||
---
|
||
|
||
## 附录:测试文件清单 (tests/synspec/hhe/)
|
||
|
||
| 文件 | 大小 | 说明 |
|
||
|------|------|------|
|
||
| fort.55.lin | 231 B | 谱线计算参数 |
|
||
| fort.55.con | 229 B | 连续谱计算参数 |
|
||
| fort.7 | 56 B | 光谱输出 |
|
||
| fort.8 | 45 KB | 模型输入 |
|
||
| fort.11 | 307 B | Kurucz 线 |
|
||
| fort.12 | 2.4 KB | 二进制光谱 |
|
||
| fort.14 | 6.8 KB | 调试输出 |
|
||
| fort.17 | 56 B | 谱线选择 |
|
||
| fort.57 | 0 B | 分子线(空)|
|
||
| fort.69 | 37 B | 计时 |
|
||
| fort.84 | 352 B | 参数值 |
|
||
| fort.95 | 1.6 KB | 线标识 |
|