APP下载

WOD与Argo数据集的排重方法与软件实现❋

2015-03-18纪风颖董明媚梁建锋国家海洋信息中心天津3007中国海洋大学山东青岛26600天津大学天津3007

关键词:浮标测站仪器

纪风颖, 于 婷,2, 董明媚,3, 梁建锋(.国家海洋信息中心,天津 3007;2. 中国海洋大学,山东 青岛 26600; 3.天津大学,天津3007)



技术报告

WOD与Argo数据集的排重方法与软件实现❋

纪风颖1, 于 婷1,2, 董明媚1,3, 梁建锋1
(1.国家海洋信息中心,天津 300171;2. 中国海洋大学,山东 青岛 266100; 3.天津大学,天津300171)

海水的温度和盐度是描述海水性质的重要物理量,其时空分布和变化几乎与海洋中所有现象都有密切的联系。因此世界各国都非常重视对海水温度和盐度的观测。自1772年第一个海水温度观测数据记录在案,截至目前全球已经积累了2 000多万站次的温盐数据。由于目前海洋调查中仪器自动观测、卫星传输数据的特点,导致同一个观测数据会被重复定位和传送接收多次,而国际上不同的数据收集计划,导致同一个数据也被不同的数据集所收集。这些被重复收集的数据,可能会造成错误的海洋特性的研究与分析结果。针对多来源重复收集的国际海洋数据问题,首先根据观测仪器精度、观测频率,研究设定了不同仪器重复数据判断参数。基于海量处理功能和人工交互式操作的需求,基于Windows平台,在Win32体系架构下,选用VisualC++ 6.0作为项目开发工具,图形显示部分则直接调用图形显示功能比较强大MATLAB的图形函数库完成,使用窗口嵌入技术将MATLAB图形库生成的图形完美融合到VC开发的界面中,实现了海量温盐数据的准确排重。对目前应用最为广泛的海洋数据集(WorldOceanDatabase,WOD)数据集、Argo浮标数据集进行了数据集内和数据集间的排重,为温盐数据集的整合奠定了基础。

Argo;WOD; 排重; 排序

海水的温度和盐度是描述海水性质的重要物理量,其时空分布和变化几乎与海洋中所有现象都有密切的联系。现有的数值同化模型、海平面高度变化和业务化海气耦合模式都迫切需要海洋温度和盐度数据,从而改进模式的初始场和边界约束条件。由于对于全球海洋温盐数据的需求,海洋观测仪器不断更新换代,从最早的颠倒温度计、机械式温深计(Mechanical Bathythermograph,MBT)、温盐深自计仪(Conductivity-Temperature-Depth,CTD),到今天的自持式拉格朗日环流剖面观测(Argo)浮标、水下滑翔机(Glider)等,获取数据方式也从人工读数发展到今天的卫星定位和自动传输。由于任何一个国家都不可能单独完成全球海洋数据的观测工作,为此,众多全球/区域海洋观测、资料收集计划应运而生,如世界海洋环流实验(WOCE)、全球温盐剖面计划(GTSPP)、全球Argo浮标阵列观测计划等等,这些观测计划为海洋研究和管理提供了大量的温盐数据。但是新的观测仪器和数据收集机制也带来了重复数据的问题。

对于Argo、Glider和浮标等自动观测并由卫星进行定位和传输观测数据的海洋调查仪器,虽然精度高,时效性强,但是同一个观测站的数据需要向卫星重复传送多次,以保证数据接收完整。在向卫星传输数据的过程中观测仪器本身仍在运动,卫星继续定位,加之部分卫星系统定位误差可以达到数百米,这样同一个观测站数据所对应的定位时间和定位位置存在很大差异。多次传输过程也存在数据接收不完整,不完整数据和完整数据以不同观测站数据发布,从而造成了重复数据。

对于全球温盐数据的收集与发布,以美国国家海洋大气局/国家海洋数据中心(NOAA/NODC)的海洋气候实验室(OCL)制作的世界海洋数据集WOD[1]最为著名,其数据时间序列长,其海水温度数据可以上溯至1772年,盐度数据的最早观测时间为1803年;覆盖范围广,数据来源众多,包括Argo计划、GTSPP和WOCE等300多个全球或区域海洋观测/数据收集计划。更新频率也较快,每隔3~4个月,美国NODC网站都会发布WOD收集到的最新数据,截至2013年6月该WOD数据集已经发布了2 000多万站次的温盐数据。

另外,法国和美国2个全球Argo数据中心也实时(逐日更新)发布自1998年全球Argo观测计划的开始实施后获取的100多万个高精度的温盐剖面数据。由上可见,众多的观测项目由不同的国际机构发起,数据收集渠道不同,导致同一个数据会被不同的数据集所收集,而全球资料中心没有实施严格的排除重复数据工作[2-4](以下简称排重)。

在数据集的综合利用中,如果简单的合并使用,这些重复接收和重复收集造成的重复数据,势必会影响海洋气候和变化趋势的研究与分析结果。排除数据集中的重复数据成为数据处理工作中的一个重要组成部分。美国海洋数据中心也指出了排重工作的重要性,并提出了重复数据和“准重复数据(near-duplicate data)”的定义,但并没有介绍WOD数据集排重工作进展和结果,发布的数据中也没有相应的标识。全球Argo数据中心同样没有相应的排重工作报告。

为了保障海洋数据分析与相关研究的严谨性和正确性,本文根据仪器观测周期、精度和传输频率确定了判断重复数据的关键信息项以及对应的临界值,制定了排重处理流程,开发出相应的软件,对WOD和Argo数据集进行了数据集内和数据集之间的精细化排重。排重结果表明这2个数据集本身存在不同程度的重复数据,而2个数据集也不是简单的包含关系,而是交叉重复。

1 判断重复数据的关键信息项

排重工作的关键是重复数据的判断。重复数据从字面上可以简单地定义为完全相同的数据。这个概念容易理解但不容易实现。目前所有的温盐数据基本采用计算机进行采集存储,而计算机只能用固定的存储位宽来存储数据,因此计算机存储的浮点类型数据能够表示的实际数值不仅有限,而且离散。即使完全相同的数据在不同的计算机操作系统下存储也有所差异。而对于观测数据的背景信息项,如调查仪器、航次号、调查船等需要用字符串表示的信息,若编码规则、写法顺序不同,结果数据都不可能完全一样。因此对于WOD这种来源众多的数据集,采用完全相同来判断重复数据具有很大的局限性,其结果与实际情况相差很远。

而对于Argo、Glider和浮标等自动观测并由卫星进行定位和传输获取的观测数据,单纯采用完全相同方法也无法解决多次传输,多次定位造成的重复数据问题。

针对以上2种情况,必须根据仪器观测和传输数据的属性,精确判断重复数据。而这个处理过程中需要首先确定表征数据的信息项,这些信息项不能太多,太多容易丢失重复数据;也不能太少,这样会造成误判。通过以上对造成重复数据的原因的分析,确定表征数据的关键信息项(Key item)为观测仪器、观测时间、观测经纬度、观测数据,辅助说明信息项为国家、调查机构、调查项目,其余信息在目前的排重工作中忽略不计。

2 重复数据与准重复数据的判定

根据已确定的判断重复数据的关键信息项,本文对重复数据的定义为:关键信息项都相同的数据。在计算机判定中即为关键信息项的差异不大于设定的重复数据临界值。

目前WOD数据集中包含11种海洋观测仪器获取的温盐数据,具体为:大面测站、CTD、MBT、抛弃式温深仪(Expendable Bathythermograph,XBT)、海表面记录仪、自治式生物携带温盐计、锚系浮标、Argo浮标、漂流浮标、走航CTD以及Glider等。这些仪器观测方式和精度各不相同,WOD也按照仪器将数据存放于不同文件中进行发布。因此目前只对同种仪器获取的数据进行排重工作。

除了观测仪器,关键信息项又可以分为2部分:测站的位置和时间,以及水下1~5000个层次上对应的层深、温度和盐度数据。测站时间和位置比较即为测站之间时间间隔与空间距离的比较,因此在重复数据判断中需设定测站的时间间隔和空间距离临界值。针对目前仪器的海洋观测方式、传输方式、仪器的精度,以及数据集的制作方式,确定如下完全重复数据临界值[5-10],并根据数据的时空分布情况和排重结果对其进行了后期调整。

(1)观测仪器完全相同。

(2)目前基本所有观测仪器采用全球定位系统(Global Position System,GPS)进行定位,因此距离临界值都设定为10m;

(3)采用如下规则来确定测站时间间隔的临界值:

(a)对于人工下放观测的大面测站、CTD、MBT和XBT,其时间间隔临界值为完成一个测站观测所需的最少时间;

(b)对于自动观测的Argo浮标、漂流浮标、Glider、和走航CTD,则时间间隔临界值为完成一次观测所需时间的最小值,以Glider为例,其完成一次观测基本为3~9h,因此对于Glider,重复数据的时间临界值为3h;

(c)对于生物携带温盐传感器,根据生物下潜和上浮时间一般情况,目前主观定为时间临界值为1min;(d)海表面记录仪来源于志愿船走航观测,根据常规观测频率并浏览相应的观测数据,时间间隔临界值为10s;

(e)由于WOD中锚系浮标数据为日平均数据,因此其时间间隔临界值为24h;

(4)考虑到目前水深测量的精度,确定层深数据重复的临界值为不大于1m;

(5)对于同一测站数据接收不完整的情况,做如下处理:假定A、B两个测站的水下数据,并且A的层深个数≥B的层深个数情况,首先按照规则(3)找到A、B中相同层深数据组成新的测站C、D,若D的层深个数小于B总层次数的95%,则不进行进一步比较,否则对同层温盐数据进行逐一比较;

(6)对于观测主体为CTD的下放式CTD、抛弃式CTD(XCTD)、走航CTD(UCTD)、漂流浮标(在WOD中漂流浮标为漂流的温度链或CTD链)、Argo、Glider、生物携带CTD,观测数据的重复标准为同层观测数据温度差异不大于0.01℃,盐度差异不大于0.01。对于观测主体为BT的MBT、XBT和海面浮子,重复数据的标准为同层温度差异不大于0.1℃。具体判定重复数据的临界值见表1。

对于准重复数据,参考WOD09的说明文档,从2个方面定义准重复数据:观测经纬度和时间相同,观测数据不同;观测数据相同而时间和位置不同。鉴于目前计算机的计算和存储能力,在软件设计与实现中,对于准重复数据只限定为测站位置和时间小于重复数据临界值,观测数据不同的一种情况进行了处理。

表1 WOD中不同仪器判别重复数据的临界值Table1 Duplicate threshold values of different instruments in WOD

注:1深度数据相差小于1 m时视为同层。Depth differnece is less than 1 m.2PSS-78盐标。Practical Salinity Scale 1978.

3 排重流程

对于2 000万站次、所需存储空间高达42GB的WOD数据集,每一个测站数据关键信息项都包含了观测时间、观测位置、观测数据(一般大于10层),2 000万站次数据的比较,实际工作量是2亿多个数据的比较,即n≥2亿。普通计算机的内存无法满足如此大数据的比较计算。只能采用文件存储,比较计算中需要不停地进行文件读取,会造成巨大的时间浪费。

根据文献[4],对于大数据集比较计算的情况,首先进行排序,然后进行比较。对于大数据量的WOD,排序方法选取堆排序,其花费时间为O(nlogn),对排序后的数据再进行比较,花费时间为n。这样整体数据的比较时间由原来的O(n2)降为O(nlogn)。

实际计算中,对于同一数据集,首先按照观测仪器将数据分门别类存放。对相同观测仪器的数据,首先按照观测时间和经纬度进行堆排序,从而挑选出时间间隔和空间距离小于重复临界值的站点,再对对应的温盐数据进行两两比较。对于温盐数据完全相同的数据,保留附加信息多的站点。

对于数据集之间的排重,设定资料原始收集者制作数据集的级别为1级,而第二手或第三手的收集者,相应的为2级和3级。对于WOD和Argo数据集的比较,则Argo数据的级别为1级,WOD中Argo数据为2级。在数据集比较后,对于完全重复数据,优先保留直接从原始收集者那里得到的数据。对于准重复数据,仍采用保留附加信息多、数据体更完整的数据原则。具体流程见图1。

图1 排重的流程Fig.1 Flow chart of eliminating duplicate data

4 排重软件功能设计

根据排重的流程,排重软件不仅需要满足日常工作需要,并且需保证能够在稳定运行的基础上,对海量的温盐数据进行及时有效地排重。同时软件系统架构上需灵活化和自动化,系统的各部分功能既能够作为整体中的部分使用也能单独提供使用。软件必须具有以下功能:

(1)大数据量处理功能。由于海洋温盐数据量庞大,单次排重的数据量可能会到达数千万站次,排重程序应满足对数千万站次数据的处理能力。

(2)数据读取功能。根据用户选择方式的不同,灵活的读取数据集文件,包括:读取单个文件;读取同一文件夹多个文件;读取不同文件夹下的多个文件。

(3)数据集内部排重与数据集之间排重方式的设置与实现。

(4)设置重复数据参数。对于不同仪器,重复数据的参数各不相同,因此软件必须具有灵活设置重复数据参数的功能,见图2。(5)自动排重功能。根据用户所选文件,设置的排重方法和参数,对多个文件进行自动的排重,剔除完全重复数据。

(6)人工审核功能。在程序自动排重的基础上,对软件判定的准重复数据提供交互式可视化界面,通过人工审核确定重复数据。人工审核主要具有如下功能:显示数据的辅助信息项、在重复站位信息列表分组显示准重复数据站位信息、用不同颜色显示不同重复数据;表格显示剖面数据,并与站位信息一一对应;人工标识判定重复数据。

(7)整合排重结果导出功能。根据用户排重过程中重复数据标识,剔除重复数据,按照统一的温盐数据格式输出为标准数据格式文件,对剔除的站位数据输出到对应目录。

(8)批量排重处理功能。在对排重方法和排重参数研究和确认的基础上,按照用户设置的参数对批量文件支持排重处理功能。

5 排重软件的开发与实现

基于海量温盐数据处理功能和人工交互式操作的需求,该排重软件运行环境为Windows系列平台,主界面以及数据的处理、质量控制部分使用VC6.0开发,图形显示部分则直接调用图形显示功能比较强大MATLAB的图形函数库完成,使用窗口嵌入技术将MATLAB图形库生成的图形完美融合到VC开发的界面中。所以本软件在图形显示方面具有较强的灵活性以及较好的显示效果,用VC开发数据处理部分也保证了该软件的运行效率。

图2 设置重复数据临界值界面Fig.2 The interface for setting duplicate threshold values

图3 准重复数据的人工审核界面Fig.3 The interface for visual check of near-duplicate data

6 排重结果

(1)数据集内排重。采用该软件对WOD和Argo数据进行排重,由于美国海洋数据中心每3~4a制作发布WOD数据集光盘,并在线更新WOD更新数据集,因此对最新版WOD09数据进行排重,并对光盘发布之后的数据集进行排重。

表2 WOD数据的重复率Table 2 Duplicate ratio of WOD

注: 1. 分子为重复站次数,分母为总站次数。Moleculeisthenumberofduplicatestations,denominatoristotalnumberofstations.

2. 采用表1中锚系浮标的重复数据参数。Usingthethresholdvaluesintable1.

3. 采用表1中锚系浮标的重复数据参数,但时间间隔改为1min。Usingthethresholdvaluesintable1,buethetimeintervalis1minuete.

通过计算结果可以发现,WOD09的数据重复率基本小于0.3%,只有锚系浮标和走航CTD的重复率较大。而对于锚系浮标,由于WOD其用户手册说明数据均为日均值,设定重复数据时间间隔为24h。但通过人工审核数据,发现1990年以后,部分锚系浮标数据的间隔为30min~1h,因此将重复数据的时间间隔参数调整为30min,其余参数不变,重新计算后得到锚系浮标重复率为0.06%。考虑到仪器的更新换代,锚系浮标的观测频率可以达到1min,因此将时间间隔改为1min,对2009年以后锚系浮标重复数据进行排重,与时间间隔为10min时,重复率几乎没有变化。大面测站采用时间参数为1min;重复站次数由438675变为438327,仅降低了0.07%。由此可以说明重复参数设置比较合理,而重复数据是客观存在的。

对于WOD中的走航CTD数据,通过人工审核准重复数据,发现重复数据的观测深度一般在300m左右,忽略海水的浮力和阻力,走航CTD以自由落体的方式到达这个深度需要8s,因此把时间间隔临界值设置为10s,发现重复数据仍然不变。因此在现有的重复数据参数下,走航CTD的重复率较高,为0.8%。造成重复的原因应该为后期数据处理造成的。

以上结果表明软件设置的重复参数的有效性,采用相同参数,对WOD09光盘发布后美国海洋数据中心网站发布的更新数据进行排重,发现重复率基本都超过了3%,进一步证明了重复参数的有效性,另一方面也说明WOD09数据集光盘制作过程中进行了有效地排重工作,而网站发布的数据没有经过排重。

(2)温盐数据集之间排重。利用该软件对WOD中的Argo数据和法国全球Argo数据中心发布的Argo数据进行了数据集间的排重测试。

在数据集间排重之前,采用表1中重复数据参数对法国全球Argo数据中心发布的Argo数据进行了数据集内排重,发现此数据集的重复率仅为0.1%,重复数据主要有2种:(1)同一个浮标观测的同一个数据命名不同造成的重复;(2)不同的浮标的数据完全相同。这都应该是后期处理误操作造成的。这个结果与文献2中Argo数据重复率0.5%略有差异的原因,是本文对Argo数据重复数据判别准则更加精细而造成的。

由于WOD数据集更新频率较慢,因此对于2013年1月1日之前经过排重后的2个Argo数据集进行了排重。结果见表3。

表3 WOD与Argo数据的重复率Table 3 Duplicate ratio of WOD and Argo dataset

Note: ①Numberofstations;②ArgodatafromGDACinFrench/ArgodatafromWOD;③Totalnumberofstations;④Numberofduplicatestations;⑤Numberofnear-duplicatestations

通过软件可视化剖面数据的图形的比较发现,经纬度不同而数据不同的集中表现为2种形式:(1)深度与温度相同,而盐度不同;(2)层深相差2~4m,而温度与盐度相同。通过与美国NODC的技术人员沟通,确认出现此现象的原因为WOD中未采用订正后的Argo数据所造成的[11]。由于收集渠道不同,2个数据集都收集了未参与全球Argo计划的部分Argo浮标数据。因此在数据整合时,应该根据实际需要来决定数据源。

7 结果分析

该排重软件已经应用于由MBT、XBT、CTD、Argo、Glider、浮标等观测仪器获取的温盐数据的排重,实现了多源、大数据量的数据排序、排重与合并等。该系统为业务化运行系统,整体性能良好,具有如下特点:

(1)高度模块化:模块化编程技术进行开发,可以提高系统的可重用性和可维护性,易于进行功能模块的扩充和修改。

(2)交互性强:界面设计灵活,互操作性高,对于数据的浏览、人工审核以及查询检索都极其便利。

(3)高度自动化:除人工审核外,其他所有工作都无人工参与,全部自动运行,节省了人力物力。

8 结语

该温盐数据排重软件已经应用于国家海洋信息中心国际海洋资料处理、科技部海洋数据共享平台建设、海洋环境与地理信息服务平台建设等项目中。系统开发人员一直跟踪软件使用过程,按照实际工作需要不断调整程序的结构,最终实现了系统的整合、排重参数和排重方法调整与优化,并根据使用情况不断的修改完善,极大地提高了温盐数据处理的速度,为温盐数据的整合和深层次应用和共享奠定了坚实的基础。该系统的设计和实现具有广阔的应用前景。

[1]BoyerTP,AntonovJI,BaranovaOK,etal.WorldOceanDatabase2009 [M].LevitusS,Ed.NOAAAtlasNESDIS66,U.S.Gov.WashDC:PrintingOffice, 2009: 216.

[2] 薛惠芬, 苗春葆, 董明媚, 等. 全球ARGO浮标及其观测资料状况分析 [J]. 海洋技术, 2005, 24(4): 23-28.

[3] 陈帅, 王丹, 张志迅.WOD09的PFL数据和Argo数据的比较 [J]. 海洋技术, 2011, 30(4): 32-37.

[4]CliffordAShaffer.Apracticalintroductiontodatastructureandalgorithmanalysis[M], 张铭, 刘晓丹, 译.1版. 北京: 电子工业出版社, 1998: 151-174

[5] 侍茂崇, 高郭平, 鲍献文. 海洋调查方法 [M]. 青岛: 中国海洋大学出版社, 2000: 31-52.

[6]GreenAW,Bulkdynamicsoftheexpendablebathythermograph(XBT) [J].Deep-SeaRes, 1984, 31: 415-426.

[7]HallockZR,TeagueWJ.ThefallrateoftheT-7XBT[J].JAtmosphOceanicTech, 1992, 9: 470-483.

[8]BoehlertGW,CostaDP,CrockerDE,etal.Autonomouspinnipedenvironmentalsamples:usinginstrumentedanimalsasoceanographicdatacollectors[J].JAtmosOceanicTechnol, 2001, 18: 1882-1893.

[9]DavisRE,OhmanMD,RudnickDL,etal.GlidersurveillanceofphysicsandbiologyinthesouthernCaliforniaCurrentSystem[J].LimnolOceanogr, 2008, 53(5): 2151-2168.

[10]EriksenCC,OsseTJ,LightRD,etal.Seaglider:Along-rangeautonomousunderwatervehicleforoceanographicresearch[J].IEEEJOceanicEng, 2001, 26(4): 424-436.

[11]WongAPS,JohnsonGC,OwensWB.Delayed-modecalibrationofautonomousCTDprofilingfloatsalinitydatabyθ-Sclimatology[J].JAtmosOceanicTechnol, 2003, 20: 308-318.

责任编辑 陈呈超

Method and Software for Eliminate Duplicate Data for WOD and Argo Datasets

JI Feng-Ying1, YU Ting1,2, DONG Ming-Mei1,3, LIANG Jian-Feng1

(1. National Marine Data and Information Service, Tianjin 300171, China; 2.Ocean University of China, Qingdao 266100,China; 3.University of Tianjin, Tianjin 300171, China)

Temperature and salinity are essential quantities of oceanography, their distribution and varieties are closely related to almost all the process of ocean. They have been the major focus of oceanography observation in many countries. Until now more than 20 million temperature and salinity casts have been acquired since the first temperature were recorded in 1772. Because of the automatic observing nature and data transferring by satellite, a station may be transferred and received many times. In the meantime, some data may be repeatedly collected by different projects and shared by data exchanges. These duplicate data may induce error in oceanographic analysis and research work. In order to eliminate the duplicates, the primary step is to study and confirm the threshold parameters for data from different instruments based on the accuracy, transferred frequency. Then based on requirements of mass data processing functions and manual interactive operation, Visual C ++ 6.0 is chosen as the project development tool while the MATLAB graphics library is for powerful graphical display part is used for which is more directly using. Under windows platform and Win32 system, MATLAB graphics are embedded with VC interface to eliminate duplicate data from massive temperature and salinity data can be successfully accomplished. Currently this software area applied to check ocean temperature and salinity data from the most widely used dataset, WOD (world ocean database) and Argo dataset, and got the satisfied result, which lay the strong foundation for future dataset integration.

Argo; WOD; eliminate duplicate; heap sort

国家自然科学基金项目(41406024)资助

2013-11-18;

2014-06-10

纪风颖(1974-),女,博士,副研究员,主要从事物理海洋数据的处理分析等工作。E-mail:2320130582@qq.com

TP

A

1672-5174(2015)08-121-07

10.16441/j.cnki.hdxb.20130360

猜你喜欢

浮标测站仪器
受了委屈的浮标君
受了委屈的浮标君
受了委屈的浮标君
受了委屈的浮标君
GNSS钟差估计中的两种测站选取策略分析
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》2022年征订回执
全球GPS测站垂向周年变化统计改正模型的建立
测站分布对GPS解算ERP的影响分析
我国古代的天文仪器