最近把IDL编写的FLAASH大气校正模块嵌到了项目里,今天几类卫星的测试数据收到了,就着手测试了大气校正功能是否正常。测试了GF1(高分一号)、GF2(高分二号)、ZY3(资源三号-01a)数据都没有问题,可是到了BJ2(北京二号)大气校正界面弹出了几秒就莫名其妙的关闭了,百思不得其解,于是记录下排除错误和解决问题的方法。
在ENVI中打开BJ2辐射定标数据,发现BJ2缺少半宽高度值fwhm,但是我的代码里明确的处理这样的情况,即每个波段都设为-1,因此可以排除是因为缺少fwhm而产生的错误。(但我还是编辑了头文件,把每个波段的FWHM设置下,结果还是报错)
把同样的参数在ENVI中设置好,进行大气校正,结果ENVI正常运行,并没有报错。。。看来还是我的IDL程序有问题,立即查看大气校正文件输出目录(就是Flaash中的modtran_directory)。在这里,我觉得大家不管是用IDL调用FLAASH,还是直接在ENVI中操作FLAASH这个目录都可以保留,这里面包含大气校正参数信息及大气校正日志信息,方便出错查看,毕竟有的错误不会在界面中显示。