CTD海上现场比测中的技巧应用
2010-01-09程绍华刘晓峰
程绍华 ,刘晓峰 ,岳 奇
(1.国家海洋标准计量中心,天津 300112;2.国家海洋技术中心,天津 300112)
CTD海上现场比测中的技巧应用
程绍华1,刘晓峰2,岳 奇2
(1.国家海洋标准计量中心,天津 300112;2.国家海洋技术中心,天津 300112)
为了比较国产CTD与进口CTD之间的性能差别,除了在实验室进行检测,还必须进行海上的实地测量比对,即同时在海上下放国产和进口CTD,对两组数据进行比较。因为海上测量数据量巨大,常规数据处理软件无法胜任,以此为立足点,结合2008年规范化海上试验的经验,讲述Matlab程序在海上CTD数据比对中的规范化应用和为了解决两台仪器的时间不同步而采取的拐点比测法,同时简单介绍Word使用中的一些编程技巧。
CTD;海上现场比测;技巧;应用
引言
CTD(Conductance电导,Temperature温度,Depth 深度)是海洋科考最常用最方便的测量设备之一,可以方便测得海水温度、盐度、深度等信息,并可搭载其他探头使用。目前国际上比较认可、使用较多的为美国海鸟公司出产的CTD。近年来我国在海洋调查上加大了投资力度,鼎力支持国家自主研发海洋测量仪器设备,CTD作为国家重点资助项目之一,目前已取得巨大成果。为了比较国产CTD(SZC15-2型)与进口CTD(sbe25)之间的性能差别,除了在实验室进行检测,还必须进行海上的实地测量比对,即同时在海上下放国产和进口CTD,对两组数据进行比较。因为海上测量数据量巨大,常规数据处理软件无法胜任,本文以解决CTD现场比测实际问题为立足点,结合863计划课题“质量控制及规范化海上试验”2008年夏季航次的试验经验,讲述Matlab程序在海上CTD数据比对中的规范化应用和为了解决两台仪器的时间不同步而采取的拐点比测法,同时简单介绍Word使用中的一些编程技巧。SZC15-2型国产CTD系国家高技术研究发展计划(863计划)标准化定型研制资助项目的海洋水文类观测仪器样机,其研究水平和制造工艺已经达到较成熟阶段,进行充分的海上现场试验和指标验证,对其样机定型和产业化发展具有至关重要的意义。
1 规范化编程
在本次规范化海上试验中,CTD的比测主要对温度、盐度、深度三个要素进行比较,比测仪器为进口仪器1台(海鸟25),国产仪器2台,比测站位约20个。CTD的采样频率一般为1组/s,通常在一个站位的下放和回收过程会持续2 h以上(以1m/s的速度下放),可见,试验会产生海量的数据,面对如此多的数据,如果在数据处理过程中不进行规范化的命名和输出,极有可能会导致比测结果的混淆,而统一的规范和格式,可以为我们减少不必要的麻烦,达到事半功倍的效果。同时,统一、标准化的程序语言也具备极强的可沿袭性,即使换人操作,也很容易上手。下面就几个主要环节浅谈一下规范化编程的应用。
表1 中间变量命名规则一览表
(1)输入文件的命名:海上比测数据按照站点分放在不同的文件夹中,文件夹以站点命名,如A01站文件夹名为:“A01”,原始数据文件经过简单文本处理后,分别以仪器型号+编号命名,如 sbe25.txt,szc01.txt,存放于“A01”下级文件夹“input”。这样,在使用程序时,只需更改站位名,程序便会自动到对应的路径中导入原始数据文件。
(2)各要素的变量命名:本实验涉及比对的三个要素为温度、盐度、电导率,在程序中分别以T,S,C作为其变量名,直观易懂。
(3)中间变量的命名:程序处理过程中,要得出一些中间变量,既用于运算和保存数据,也用于输出计算结果,中间变量比较多,其命名规则参考表1。
(4)输出结果的命名规则:经过数据处理,最终要输出各种图形和数据结果,以用于比对报告的编写。同样,规则有序的命名可以为下一步对这些结果的使用提供便利。在本次试验中,输出图片的命名见表2。
表2 输出图片的命名规则
另外,还可以将两种结果的曲线同时放于一个图中,便于直观地表现两种结果的差异,输出图片的横纵坐标标签以及图例的位置都要做好提前规划,纵坐标因为表示海水的深度,一般采取倒置式,即从上至下深度逐渐增大。(示例见图1)
图1 输出图片示例
除了图片,一些统计数据需要以文本的形式输出,输出文件的格式要便于使用常规办公软件打开,查看时要名目清晰。本实验输出为文本文件,格式如表3所示。
表3 文本文件输出格式
以表3格式输出的文本文件,用excel打开后,可直接粘贴到word表格中,方便报告的编写。输出结果均保存在文件夹“results”下。
2 拐点比测法
由于比测仪器的测量原理分别为自容式与直读式,同时船上钢缆条件也决定了必须采用这种组合方式才能进行两台仪器的同时下放试验。测量原理决定了测量时间起始零点的不同步,两者无法同时开机;其次,即使同时开机,两者的海洋表面的零压点的计算方法也不相同。海洋零压是将海洋表面的大气压作为零压,而对海洋表面气压的计算与消除,两个剖面仪的依据方法并不一样。所以,这种由于各自开机时间、原始零点等因素造成的初始采样点压力值的非等同性,会造成两条压力曲线之间一定距离的水平位移。但是,这一差异与仪器性能无关,为了更客观地进行两者之间的比较,可以通过编程实现曲线平移,让两条观测曲线尽可能地靠近,本次试验采取了拐点法,即采用跃层的拐点作为两者的压力参考点,以此向上或向下进行时间推算。在仪器下放过程中每隔一定深度将仪器提起,则两仪器测量压力值必然同时有一个向上的拐点,在该拐点上,两仪器处于同一压力下,一次下放过程中有3~4个拐点,即可将两仪器压力测量值之间的关系进行回归计算得出。以本次试验为例:将国产CTD剖面仪和海鸟25CTD剖面仪两套仪器同位架装,做4次下放、提升试验,查看两套仪器在拐点处数据的偏移。实测拐点如图2所示。
图2 拐点示意图
表3 压力拐点值对应表
通过拐点回归计算出两仪器压力测量值之间的线性关系式:Y=0.9992 X+3.9860。
作为标准的海鸟25数据给出方式不变;以被测仪器的压力测量序列为X,应用得到的公式,计算出新的压力序列值Y,进而使用与被测仪器软件一样的算法计算出对应的剖面(温度、电导率)数据,然后对该剖面和标准仪器的测量剖面进行比对。因为比对的剖面是沿压力梯度的剖面,两仪器的压力测量值如果一致性差,剖面比对就没有意义。进行以上方法比对的目的是修正被测仪器的压力测量值,并观察比对结果的变化,为被测仪器优化算法、消除系统误差提供参考。
3 Word编程应用
综上,我们对一个站位的数据进行了处理和规范化的输出之后,如何利用这些图件和文本呢,在Word中一个个插入图片是一件很费力的事情,并且难以保证图片大小的统一,本文以“A01”站数据为例,介绍Word编程在批量插入图片和简单编辑中的一点应用。
在Word文件中打开工具-宏-VisualBasic编辑器,新建一个窗体和按钮,双击按钮,加入代码,如图3所示。
综上,我们就完成了一组海上数据处理结果到报告文件生成几个重要环节的实现,这些工作全部由程序自动完成,减少了人工环节容易产生的纰漏,还为我们节省了大量的时间,使我们可以把精力集中在数据结果的分析、仪器性能的判定上,而不必为整理这些结果而劳神费力。如果配合我们自己编写的其他软件,还可以实现结果报表的自动显示、输出。同样,上述程序如果换人使用,只需要阅读编写规则和代码说明就可以掌握程序的运行原理,使用得心应手。
图3 示例代码段
4 结语
本文仅以CTD海上比测为例,目前我国海上调查通常每航次要同时搭载很多仪器,会产生海量数据,而海上数据的及时处理也是海上工作的主要内容之一,通过编写规范化的处理程序,使得同一程序可以多航次使用和不同人操作,大大提高了海上工作效率。作为海上试验的数据处理工具和重要成果,数据处理程序在项目结束时也要归档备案,其规范化的编写将有助于以后的查询。
[1] 郝红伟.Matlab6实例教程[M].北京:中国电力出版社,2001.
[2] 蒲俊,吉家锋.Matlab工程数学解题指导[M].上海:浦东电子出版社,2001.
[3] 李人厚,张平安,等.精通MATLAB综合辅导与指南[M].西安:西安交通大学,1997.
[4] 田雨,王欣,李建国.SZC15-2型CTD数据采集技术研究[J].海洋技术,2008,27(1):14-18.
[5] 国家高技术研究发展计划(863)质量控制及规范化海上试验.第三方独立检验通用规程.2008.
Skill of CTD Site Test in the Ocean
CHENG Shao-hua1,LIU Xiao-feng1,YUE Qi2
(1.National Center of Oceanographic Standards and Metrology,Tianjin 300112,China;2.National Ocean Technology Center,Tianjin 300112,China)
In order to compare CTD made in China with CTD made in other countries,site tests in the ocean have to be done besides tests in the laboratory,which means that both CTD are bound and lowered to deep sea,and the data are compared.But the amount of data is too huge to be processed by normal software.According to the standardization sea trial in 2008,it’s explained how to make the processing program with normalized language with Matlab.A special method used in the test is also introduced.At last,some skills of programming with Word is introduced.
CTD;site test in the ocean;skill;application
P716
B
1003-2029(2010)04-0044-04
2009-12-25
国家高技术研究发展计划(863)标准化定型研制资助项目(2006AA09A314)