pSolve 更新记录
本文记录 pSolve 的主要版本更新,重点说明功能变化、问题修复及其对实际解算的影响。各版本按从新到旧的顺序排列。下面的文件路径均以 pSolve 目录为起点。
说明:本文所列更新由 DeepSeek 总结、ChatGPT 整理,属于非官方更新记录,并非 pSolve 开发者 Leonid Petrov 博士发布的更新说明。对修改目的和实际影响的推测,会在文中单独说明。
最近记录版本:psolve-20261015 (1.14)
本文更新日期:2026-10-22
20261015
- 对比版本:
20260812(1.13 → 1.14)。
这次更新主要涉及 SINEX 文件输出、相位时延模糊度处理,以及几个配套工具能够处理的数据量。
更新内容
- 调整|SINEX 文件中的实验和软件信息:实验代号以前通过查询 master 文件获取,现在直接使用
EXP_CODE。软件版本也直接取自SOLVE_VERSION,不再读取单独的版本日期文件。此外,软件名称由 Calc/Solve 改为 SGDASS,硬件信息中不再固定加上HP。
对应文件:progs/solve/adjst/write_sinex.f。 - 调整|SINEX 程序中的整数类型:记录参数个数的变量由 2 字节整数改为 4 字节整数。调用矩阵缩放程序时,也去掉了将矩阵阶数转换成 2 字节整数的
INT2()。
对应文件:progs/solve/adjst/write_sinex.f。 - 调整|射电源名称表的文件位置:生成 SINEX 时,程序现在读取
/apr/sou/source.names。这个路径直接写在代码里;如果文件不存在或无法读取,程序就会报错并停止这次 SINEX 输出。拼接目录和文件名时,也补上了中间的/。
对应文件:progs/solve/adjst/write_sinex.f、libs/cutil/get_source_table.f。 - 调整|PAMB 对过大时延的处理:增加了两处异常值处理。一处是在计算模糊度整数时,若其绝对值达到或超过 $10^8$,就将其设为零;另一处是在 S 波段的处理分支中,先把时延限制在 −1 ms 至 1 ms 之间,再计算模糊度整数。
对应文件:progs/solve/pamb/pamb_init.f、progs/solve/pamb/pamb_mares.f。 - 调整|射电源名称表可以保存更多源:
MAX_SOU从 44444 增至 65000,SINEX 中的名称表也采用这个上限。单次实验相关数组使用的MAX_SRC仍为 32752,没有随之增加。
对应文件:include/solve_i.templ、include/solve.i、progs/solve/adjst/write_sinex.f。 - 调整|先验 EOP 数组容量:先验地球定向参数(EOP)数组的上限从 7 个数据点改为 5 个,即
MAX_EROT_VALUES从 7 改为 5。SOCOM 公共块末尾的预留空间相应增加了 48 字节。
对应文件:include/solve_i.templ、include/solve.i、include/socom.i、include/q_socom.i。 - 新增|查找以两位年份命名的 master 文件:程序先查找
masterYYYY.txt或masterYYYY-int.txt;找不到时,再尝试masterYY.txt或masterYY-int.txt。
对应文件:libs/cutil/resolve_dbname.f。 - 调整|电离层工具读取钟跳日期的位置:读取钟跳文件时,日期改从每行的第 55—77 列读取,原来是第 59—81 列。
对应文件:utils/iono/est_iono_mod.f。 - 新增|
eopkal在没有观测数据时退出:观测数据条数小于 1 时,程序会打印提示并退出。不过,这个判断之前已经读取了FJD_MEAS(1),判断语句还应该移到读取操作之前。
对应文件:utils/eopkal/eopkal_head.f。 - 调整|配套工具可以处理更多记录:
remove_badeop能保存的待剔除记录从 8192 条增至 32768 条;spl_find_bcl和spl_find_breaks能读入的文本从 4194304 行增至 6291456 行,方便处理更大的解算输出报告。
对应文件:utils/procpar/remove_badeop.f、utils/procpar/spl_find_bcl.f、utils/procpar/spl_find_breaks.f。 - 调整|清理编译文件和调试输出:
make clean现在也会清理utils/gen_rot_adm中的编译文件;另外,修正了prces.f中的一条调试输出语句。
对应文件:Makefile.in2、progs/solve/batch/prces.f。 - 移除|预先编译好的
gen_rot_adm:软件包不再附带bin/gen_rot_adm。源码仍保留在utils/gen_rot_adm中,需要这个工具时可以自行编译。
使用提示
- 更新后重新配置并完整编译。这次修改了多个公共变量和数组的定义,需要让各个程序都使用新版定义。
- 生成 SINEX 前,检查
/apr/sou/source.names是否存在且可读。如果后处理脚本依赖 SINEX 文件名或其中的软件名称,也要检查是否需要修改脚本。 - 使用电离层工具所需的钟跳文件时,检查日期所在的位置。新版程序读取的是第 55—77 列。
- PAMB 遇到异常时延后,即使能够继续计算,也仍需检查对应观测。新增代码会将部分数值设为零或限制在指定范围内,并没有修正原始观测。
- PRFIL 数据的读写长度有一处需要检查。按变量声明计算,射电源名称表扩大后,PRFIL 所需的存储空间增加了约 370000 字节,但读写记录的长度没有同步增加,可能导致部分数据没有完整保存。需要检查
include/prfil.i及相关读写程序。另外,SOCOM 中部分变量的位置发生了变化,继续使用旧版生成的二进制文件前,也需要检查文件格式是否兼容。 - 两个报告分析工具需要更多内存空间。
spl_find_bcl和spl_find_breaks用来存放文本的数组各自从 1 GiB 增至 1.5 GiB。
20260812
- 对比版本:
20260216。
本次主要扩展测站位置时间序列工具,新增无净旋转(NNR)约束调整工具,并修正测站参考位置和参考历元的换算。
更新内容
- 调整|B 样条测站位置工具:
bsp_plot更名为bsp_proc。生成位置时间序列表格时,可以读入.hps文件,叠加测站运动的谐波项;输出增加 TAI 日内秒数和 X、Y、Z 三个坐标分量的误差,日期扩展到时分秒。
对应文件:utils/procpar/bsp_proc.f。 - 调整|线性测站位置工具:
linvel_plot更名为linvel_proc。根据位置、速度的误差及其相关性,计算各历元的位置误差,并写入时间序列表格。
对应文件:utils/procpar/linvel_proc.f。 - 新增|NNR 约束调整工具:新增
gen_rot_adm,读取 7 次试验解算的对齐结果,计算测站位置和速度的 NNR 约束右端项对地球参考架旋转角和旋转速率的影响,生成包含 $6\times6$ 矩阵的.rot文件。
对应文件:utils/gen_rot_adm/gen_rot_adm.f。 - 调整|
eop_alignment约束计算:支持设置rot_0、rot_1p等试验条件,也可以读取.rot文件,重新计算 NNR 约束右端项;输出补充起止日期和时间跨度,并调整参考历元等信息的格式。
对应文件:utils/eop_alignment/eop_alignment.f。 - 修复|参考历元换算:修正
eop_alignment中半天偏移项的符号,解决参考历元正反转换相差一天的问题。
对应文件:utils/eop_alignment/eop_alignment.f。 - 修复|SPE 测站参考位置计算:输出
APS行时,将历元差除以365.25,正确地把天换算成年;旧代码除以86400,会算错测站速度带来的位置变化。
对应文件:progs/solve/adjst/spe_res.f。 - 新增|逐条观测的调试输出:设置
SOLVE_DEBUG=SNGL_OUT后,输出每条观测的时间、测站、射电源、仰角、方位角、时延的观测值与计算值之差(O−C)、误差及偏导数等信息,便于检查具体观测。
对应文件:progs/solve/proc/loop.f。 - 修复|仰角输出中的测站名称:
OUT_ELEV改为输出当前观测对应的两个测站名称,修复此前始终使用测站表中前两个名称的问题。
对应文件:progs/solve/proc/loop.f。 - 调整|先验射电源表标签:
update_apr_cat遇到原有的rfc_标签时,替换为新标签;遇到其他说明时,在前面插入新标签,保留后面的内容。同时调整apriori标记的列位置。
对应文件:utils/procpar/update_apr_cat.f。 - 调整|
getpar射电源数量上限:M_SOU从44444增加到50000。
对应文件:include/getpar.i。 - 调整|依赖要求与构建安装:VTD 最低版本提高到
20260812;构建和安装流程加入gen_rot_adm,并改用bsp_proc、linvel_proc。TLE 版本检查改用SOLVE_TLE_DIR查找链接库,并补充 BLAS 链接项。
对应文件:configure、Makefile.in2、utils/procpar/makefile、support/check_tle_version.mak。 - 新增|测站位置文件格式说明:新增测站位置时间序列的格式文档,并修正文件标识中
Evolution的拼写。
对应文件:doc/ste_format.txt、include/solve_i.templ。 - 调整|电离层模型调试输出:
est_iono_mod在IVRB=5时增加原始记录编号,便于回查数据。
对应文件:utils/iono/est_iono_mod.f。
使用提示
- 控制文件:本次没有修改 pSolve 控制文件的关键词。
eop_alignment的第 12 个命令行参数可以填写试验名称或.rot文件,第 13 个参数用于设置输出详细程度;原来将0–9的输出级别放在第 12 位的调用方式仍然保留。 - 解算结果:当测站速度非零、先验历元与输出历元不同时,时间换算修正会改变 SPE 结果中
APS行的坐标。如果后续位置时间序列使用了这些坐标,应重新生成相关结果。eop_alignment的历元修正也可能改变参考架对齐和约束计算结果。 - 安装与运行:升级前确认 VTD 版本不低于
20260812,并修改脚本中的旧程序名。安装脚本中删除旧linvel_plot的文件名存在拼写错误,升级后旧程序可能仍然保留。gen_rot_adm只汇总试验结果,不会自动完成 7 次解算,需要事先准备完整的PHI、OME输出。 - 输出文件:两个测站位置工具都增加了误差列,
bsp_proc的日期字段也变宽了,按固定列读取的脚本需要同步修改。SNGL_OUT写入SOLVE_DIR_DEBUG指定的目录,未设置时使用/tmp;其表头中部分列号有误,例如AZ2实际位于第117–124列,读取时应以loop.f中的FORMAT 386为准。 - 位置误差计算:
bsp_proc在计算位置误差和协方差时,对速度项采用了不同的时间缩放,需要核对后再将误差用于后续加权。另外,不提供.hps文件时,测站索引I_STA2没有显式初始化,可能误入谐波计算分支,应在读取可选文件前将其设为零。
20260216
- 对比版本:
20251127。
本次主要更新解算输出报告和 getpar 的大气参数文件,增加气象数据导出,并修改测站运动的 B 样条约束及部分全局解算流程。
更新内容
- 调整|解算输出报告格式:新增
LISTING_OPTIONS SEG_STYLE POST2026,并将其设为默认格式。采用该格式时,程序会自动启用APRIORI_ZENDEL;钟差、大气参数和 EOP 的输出也相应调整。未估计单次实验的 EOP 时,报告会给出说明。
对应文件:include/glbc4_i.templ、progs/solve/batch/goutpt.f、progs/solve/adjst/a2jst_plneop.f。 - 调整|天顶时延与气象统计输出:新格式的
at行同时给出先验天顶总时延、先验天顶湿时延、估计的改正量和误差。配套的ATZE中间文件增加天顶湿时延,报告的大气统计增加平均气压和平均气温。
对应文件:progs/solve/cres/secnd.f、progs/solve/adjst/a1jst.f。 - 调整|
getpar大气参数输出:支持读取POST2026格式的解算输出报告。.trp格式更新为 2.0,分别输出先验天顶总时延Apr_tot、先验天顶湿时延Apr_wet、改正量Adj、估计的天顶总时延Tot_est和误差Err;.trs的格式标识更新为 1.1,并保留新增的气象统计信息。
对应文件:utils/getpar/getpar_parse.f、utils/getpar/getpar.f、include/getpar.i。 - 新增|观测时刻的气象数据导出:
SOLVE_EXPORT增加print_meteo选项,将各测站的观测气压、气温、相对湿度,以及数值天气模型给出的气压和水汽分压写入<数据库名>_meteo.info,时间使用 UTC。
对应文件:progs/solve/proc/loop.f。 - 调整|TPD 文件中的气象数据:
TPD__NDER从 25 增加到 29,新增四个存储位置,用于保存基线两端测站的数值天气模型气压和水汽分压。读写程序同步更新,从 TPD 文件恢复理论时延时,也能恢复这些气象数据。
对应文件:include/solve_i.templ、progs/solve/proc/post_vtd.f、progs/solve/proc/tpd_put.f、progs/solve/proc/tpd_get.f。 - 修复|测站运动的 B 样条约束方程:此前,同一节点区间内的 6 个采样点反复写入同一个约束方程,最终只保留最后一个采样点的系数;现在为各采样点分别建立方程。相关配置的报错信息也增加了测站名称。
对应文件:progs/solve/norml/spe_cnst.f、progs/solve/batch/parse_spe.f。 - 调整|仅求全局参数的处理:使用已有全局法方程进行
GLOBAL_ONLY解算时,增加SFLAGS调用,按本次配置设置参数估计标志,并保存相应状态。
对应文件:progs/solve/batch/prces.f。 - 调整|用户自定义参数处理:生成
USRG文件时,参数计数和循环下标改用INTEGER*4;未启用用户参数时,将用户参数计数清零。相关文件的读取程序不再跳过以*开头的行。
对应文件:progs/solve/norml/create_usrg.f、libs/cutil/parcng.f、progs/solve/batch/prces.f。 - 修复|模糊度重置:
SOLVE_DEBUG=AMB_RESET现在会同时撤销群时延和相位时延中的模糊度改正,并清零两类模糊度计数;此前只处理群时延。
对应文件:progs/solve/proc/loop.f。 - 调整|交互式数据库选择:输入数据库名后统一进行通配符匹配,找不到数据库时的提示增加仓库名称;调用端同步传入当前仓库。
对应文件:progs/solve/getdb/getdb_select.f、progs/solve/getdb/getdb_do.f。 - 修复|未设置的模型文件名判断:检查测站坐标、射电源坐标、测站速度和板块运动模型是否设置时,同时识别空格和空字符(NUL),避免尝试读取未设置的模型文件。
对应文件:progs/solve/norml/norml_main.f。 - 修复|电离层数据中的异常数值处理:计算基线两端 GNSS 天顶电离层时延的相关系数时,若分母过小,将相关系数设为零。
dtec_import读取误差字段中的********时,改用9999.999,避免直接将星号作为数值读取。
对应文件:utils/iono/est_iono_mod.f、utils/iono/dtec_import.f。 - 修复|电离层工具的参数传递和输出:
gen_iono_err_regr调用LOAD_IONO_SOLVE时补传IONO_EST;写出附加电离层权重文件时,明确从第一条记录读取随机种子。
对应文件:utils/iono/gen_iono_err_regr.f、utils/iono/wri_add_iono_wei.f。
使用提示
- 控制文件:未指定
SEG_STYLE时,现在默认使用POST2026。需要保留旧输出布局时,可以显式选择PRE2005或POST2005。要输出各段的先验天顶总时延和天顶湿时延,还需要设置SEG_OUTPUT YES。 - 解算结果:启用
CNS_DER_SIGMA的测站运动解算会使用更多约束方程,结果可能改变。使用已有全局法方程进行GLOBAL_ONLY解算时,也应核对本次配置下的参数选取和估计结果。 - 安装与运行:建议重新配置并完整编译,使各程序使用一致的公共块和文件格式定义。TPD 和
ATZE的内容已改变,升级后应重新生成这些中间文件,并配套使用新版getpar。 - 输出文件:读取解算输出报告、
.trp和.trs的脚本需要检查列位置及字段名称。气象文件写入SOLVE_EXPORT_DIR指定的目录,未设置时使用/tmp;其中气压和水汽分压使用 Pa,气温使用 K,相对湿度按 0–1 输出。 - B 样条约束容量:
spe_cnst.f增加了约束方程数量,但数组仍只能容纳 131 个方程。每个参与计算的节点区间产生 6 个方程,达到 22 个区间时就会超出容量。使用较多节点的解算前,需要扩大数组并增加边界检查。 - 先验天顶湿时延为零的情况:
a1jst.f当前会丢弃天顶湿时延绝对值小于 $10^{-14}$ 秒的ATZE记录。若先验天顶湿时延为零,可能导致后续插值缺少数据,需要先修正这一筛选条件。 - 基线结果导出:
getpar_parse.f删除了检查基线是否被排除的查找调用,却仍使用查找结果变量IP判断是否输出。存在被排除基线时,.bas文件可能漏写或误写记录,使用前应恢复这次查找并核对输出。
20251127
- 对比版本:
20210612。
本次记录两个源码包之间的累计改动,主要涉及电离层处理、参数约束、结果输出,以及数据库管理和配套工具。这两个版本之间还有若干中间版本,但我没有保留相应源码,因此在这里合并记录。
更新内容
- 调整|融合群时延处理:原来的
DUAL类型改为FUSED。程序根据两个频段的数据是否可用,选择双频组合或经过电离层改正的单频群时延,并将差分总电子含量(差分 TEC)的误差计入观测误差。
对应文件:progs/solve/getdb/getdb_fill_oborg.f、progs/solve/proc/loop.f、progs/solve/cres/secnd.f。 - 新增|电离层时延比例因子估计:
IONOSPHERE_SCALE可以按每次实验、测站或基线估计电离层时延比例因子,并设置相应约束。实验列表还支持TEC_SCAL和TEC_BIAS,用于调整单频群时延中的电离层改正。
对应文件:progs/solve/batch/gflags.f、progs/solve/batch/garc.f、libs/cutil/partl.f。 - 新增|电离层模型处理流程:
$OUTPUT段新增IONOSPHERIC_MODEL,可以收集双频 VLBI 与 GNSS TEC 模型的信息、估计电离层偏差、计算模型误差,并按设置将差分 TEC 结果写回数据库。
对应文件:progs/solve/batch/goutpt.f、progs/solve/proc/iono_bias_adj.f、progs/solve/proc/iono_regr_mod.f。 - 新增|电离层配套工具:增加
dtec_import、est_iono_mod和gen_iono_err_regr,分别用于导入差分 TEC、估计电离层模型,以及根据回归模型生成误差和附加权重文件。
对应文件:utils/iono/dtec_import.f、utils/iono/est_iono_mod.f、utils/iono/gen_iono_err_regr.f。 - 调整|外部误差与权重处理:
ADDW支持将两项误差的平方相加后开方、取较大值、取较小值等处理方式,也可以直接替换观测误差;新增EXT_ERR,用于逐条指定观测误差。电离层附加误差会根据观测的有效频率换算。
对应文件:progs/solve/batch/garc.f、progs/solve/proc/loop.f。 - 调整|默认参考历元:测站位置估计和测站运动使用的默认参考历元,由
1980.10.17 00:00:00改为2000.01.01 00:00:00,对应JD 2451544.5。控制文件中明确指定的历元仍按原设置使用。
对应文件:include/solve.i、progs/solve/batch/gflags.f、progs/solve/batch/gmap.f。 - 调整|测站基准约束:测站位置和速度的无净平移、无净旋转约束,以及测站间的位置和速度连接约束,默认标准差由
1e-5改为1e-4;垂向速度约束的默认标准差由1e-7改为1e-4。各项约束分别读取自己的测站例外名单,测站位置无净旋转约束的UNIFORM分支也调整了系数的符号和缩放方式。
对应文件:include/solve.i、progs/solve/norml/nnt_pos.f、progs/solve/norml/nnr_pos.f。 - 新增|射电源自行约束设置:
$CONSTRAINTS段新增PROPER_MOTIONS,可以设置射电源自行约束的标准差。射电源坐标的无净旋转约束支持通过RIGHT_PART指定非零右端项,并在解算输出报告中记录相关设置。
对应文件:progs/solve/batch/gconst.f、progs/solve/norml/do_src.f、progs/solve/norml/nnr_src.f。 - 新增|指定样条约束的时间范围:测站非线性运动模型的
CNS_STA_SIGMA、CNS_VEL_SIGMA可以附带起止历元,分别限定位置均值和变化趋势的约束范围。地球自转模型也增加了指定区间内的均值、变化率约束。
对应文件:progs/solve/batch/parse_spe.f、progs/solve/norml/spesta_cnst.f、progs/solve/batch/parse_erm_cnt.f、progs/solve/norml/erm_cnst.f。 - 调整|解算容量与大矩阵下标:大气分段和钟差分段上限均提高到
1600,单次实验扫描数上限由3072提高到131072,解算弧段上限由16384提高到32000。部分矩阵下标改用 64 位整数,避免大矩阵计算中的整数溢出。
对应文件:include/solve.i、progs/solve/adjst/eheo_res.f、libs/cutil/unscaler.f。 - 调整|测站坐标和射电源自行输出:单次实验的 XYZ 坐标改为在当前坐标上加估计改正量,取消原来额外叠加的速度项。射电源自行输出补齐了从
rad/s到mas/yr的换算,并在输出总值时加上先验自行。
对应文件:progs/solve/adjst/a1jst.f、progs/solve/adjst/vtd_get_apr_prp.f。 - 新增|结果提取内容:射电源统计支持
POST2024格式,增加扫描次数等信息。getpar新增.cns和.prp文件,分别保存全局约束信息和射电源自行结果;射电源坐标文件还增加了参考历元和观测加权平均历元。
对应文件:progs/solve/batch/goutpt.f、utils/getpar/getpar.f、utils/getpar/getpar_parse.f。 - 新增|交互设置和电离层绘图:可以在
OPTIN中设置SOLVE_DEBUG、SOLVE_EXPORT和导出目录,也可以统一设置基线附加误差。REPA增加先验电离层时延、差分 TEC 及其误差的绘图选项。
对应文件:progs/solve/optin/optin.f、progs/solve/optin/set_wei_glob.f、progs/solve/repa/repa_setfunc.f。 - 新增|数据库仓库选择和批处理环境设置:交互模式可以用
R切换数据库仓库。批处理控制文件支持DEFINE和UNDEFINE,用于设置或清空运行时使用的环境变量。
对应文件:progs/solve/optin/optin.f、progs/solve/batch/ctrls.f。 - 调整|测站位置时间序列工具:
bsp_plot增加-table和-dates,可以按指定时间范围、步长输出位置时间序列;绘图改为通过-plot开启。新增linvel_plot,用于根据测站坐标和线性速度生成位置时间序列表格或图。
对应文件:utils/procpar/bsp_plot.f、utils/procpar/linvel_plot.f。 - 新增与调整|参考架对齐工具:新增
src_alignment,根据解算结果和参考射电源表生成射电源坐标无净旋转约束的右端项。eop_alignment调整了命令行和处理流程,增加时间范围、误差筛选等设置;新增独立的erm_to_eop,将地球自转模型转换为 EOP 时间序列。
对应文件:utils/src_alignment/src_alignment.f、utils/eop_alignment/eop_alignment.f、utils/erm_to_eop/erm_to_eop.f。 - 新增|频率选择和钟差检查工具:增加
fresel_heo,用于选择地球定向谐波模型的频率;增加spl_find_bcl,从解算输出报告中筛选超过指定阈值的基线相关钟差;增加spl_find_breaks,从报告中提取钟跳记录。
对应文件:utils/fresel/fresel_heo.f、utils/procpar/spl_find_bcl.f、utils/procpar/spl_find_breaks.f。 - 调整|模拟观测配置:
simul改用专门的配置文件集中设置 VTD、NERS、输入输出仓库、测站文件、名称替换表和噪声参数,命令行通过-c指定配置文件。
对应文件:utils/simul/simul_main.f、utils/simul/simul_conf_parse.f。 - 调整|安装依赖和初始数据:增加 TLE、FOURPACK、FFTW 的配置检查,并提高 VTD、PETOOLS 等依赖的最低版本。安装流程增加数据库仓库配置;当
OBS、INT仓库为空时,会导入随包提供的示例数据库。
对应文件:configure、support/config.csh、support/psolve_gen_db.csh。
使用提示
- 控制文件:旧配置中的
TYPE DUAL需要改为TYPE FUSED。bsp_plot默认不再画图,旧命令中的-noplot也需要调整。eop_alignment和simul的参数接口有变化,原有调用脚本需要同步修改。 - 解算结果:默认参考历元和部分约束标准差已经改变。标准差增大意味着约束放宽;复算旧解时,应明确指定历元和约束值。使用带非零右端项的测站无净旋转约束时,还需要核对新的系数定义。
- 安装与运行:公共块和工作文件的结构已有变化,应重新编译整套程序,并通过
psolve_reset重建旧工作文件。旧版 CGM 也不能直接当作兼容文件继续使用:当前libs/cutil/cgm_com.f没有覆盖本次旧源码中长度为294个块的 SOCOM 数据的读取分支。 - 样条导数约束:
progs/solve/norml/spe_cnst.f中,同一节点区间内的六次采样仍写入约束系数数组的同一列,前面的结果会被覆盖。使用CNS_DER_SIGMA时需要先修正这一问题,使每个采样点分别生成约束方程,并相应调整数组容量。 - 射电源表读取:
utils/getpar/read_sou.f读取GETPAR_SOU 3.0时,将实验总数字段的列范围写成了STR(213:117),无法正确读取该字段,使用依赖此例程的工具前需要修正。 - 先验射电源表更新:
utils/procpar/update_apr_cat.f的一种源表更新分支漏写了行下标:BUFA(60:60)和BUFA(68:69)会清空第60、68、69条缓冲记录。应改为当前行的字符范围,即BUFA(J1)(60:60)和BUFA(J1)(68:69)。 - SINEX 输出:
libs/cutil/resolve_dbname.f对 master 文件2.0格式的判断写反了,会把正确的文件头判为未知格式,导致 SINEX 输出无法取得实验代号。这里应将与VER2_SIGNATURE比较的.NE.改为.EQ.。