定位思路
程序正常运行,但输出结果与预期存在偏差。定位思路如图1所示。
图1 Fortran数据偏差问题定位思路
- 根据输出结果确认是数据偏差问题。
- 梳理数据偏差点的计算流程。
- 分析可能存在的怀疑点,增加打印,分析打印结果。
- 确认问题原因,修改代码,测试验证。
- 若问题未解决,排查其他怀疑点。
案例:未做初始化数组引起数据偏差
问题现象:
某软件运行结果部分数据存在偏差。
定位过程:
- 确认现象,是rad_clr7.3表格计算结果出现偏差。
- 确认出错数据范围在[855,856;1190,1191]之间,在相关怀疑点打印关键变量,如下图所示。

- 关键变量值与输出结果对齐,如下图所示。

- 排查相关计算过程,分析tau数组值存在异常,为大量异常数据,怀疑是脏数据,如下图所示。

- 排查tau数组调用位置,发现数组并未做初始化,添加tau数组初始化操作,如下图所示。

- 修改代码,验证,数据偏差问题解决。