随着现代数值预报技术水平的提高,产生了大量预报时效长、时间间隔短、精度高的数值预报产品[1-2]。受限于磁盘容量,当前系统只能在线保留1年左右的模式产品数据。超过在线存储时间预设期限,产品数据需转移到二级存储 (如磁带库) 中,而当实际气象业务需要使用这些数据时,要从二级存储中导出这些历史数据,这种导出操作涉及许多复杂手工操作,给数据使用带来极大不便[3]。数值预报模式产品数据通常采用表驱码格式 (如GRIB1, GRIB2) 保存,在读取这些数据时,只能将整个数据文件完整取出并下载到本地磁盘后自行对其进行后处理,从而得到所需数据。对于那些只需要使用数据文件中部分区域范围的用户而言,这样的服务方式不可避免地需要占用本地存储空间以及对数据文件进行区域裁剪处理,这种简单的重复性操作和存储资源需求对用户是一种负担。在国家级气象资料存储检索系统 (MDSS,the National Meteorological Data Storage System) 以及全国综合气象信息共享平台 (CIMISS,China Integrated Meteorological Information Service System) 中的数据管理系统中,均采用以数据库索引表和文件相结合方式存储管理数值预报产品,实际上仍以文件系统方式管理,只是将文件位置作为数据库指针存储在数据库内部,指向数据库的外部操作系统文件[4-7],而且处理数量高达几十亿个不同容量大小的气象数据给当前的数据管理带来了巨大挑战,已越来越接近其能力极限。
MARS软件是气象数据归档和检索系统 (Meteorological Archival and Retrieval System),它解决了上述问题,是欧洲中期天气预报中心 (ECMWF) 气象应用部门开发的一套气象数据管理和服务系统,用于ECMWF的气象数据存档管理,并提供访问这些数据的接口[8-9]。MARS软件在ECMWF业务中已成功运行20多年,在其成员国以及合作国家,如土耳其、澳大利亚等国的气象部门中也逐步开展了应用[10-11]。
不断增强的高性能计算能力,促进数值预报模式向着高精度、长预报时效、短格距积分步长方向发展,同时输出文件的频次、个数和单体容量均大幅增加。以前采用简单的文件系统或传统的数据库管理方式,只提供收集和存储的功能,其他诸如插值、区域裁剪、要素提取等功能均无涉及,无法满足数值预报产品服务的需求。传统的数据分级存储系统借助存储管理软件,依据其提供的功能仍然以单个文件为单位进行数据迁移、回调处理[3]。迁移数据时以目录或单个文件进行,回调数据须以单个文件为最小对象进行。若需要获取的数据仅为回调数据文件中的部分内容,或这些数据分布在回调的多个文件中,用户则需要对这些回调的数据文件进行额外的数据抽取、合并等后处理过程。这种服务方式没有充分发挥数值预报产品表驱码数据的自描述特征,以提供根据用户需求进行数据处理的服务手段,服务效果难以令用户满意。
本文基于MARS软件,通过分析MARS软件管理数据的原理,以GRAPES模式产品GRIB2数据为例,创建一套适用于GRAPES模式产品的数据模板和代码表,实现了数据的归档、检索和后处理等功能。此外,结合存储管理软件TSM,研究实现MARS软件和TSM软件接口,实现了数据的迁移和回调。通过测试基于MARS软件的数值预报产品数据管理系统及CIMISS的数据管理系统检索数据性能,表明基于MARS软件的数值预报产品数据管理系统检索速度超过CIMISS的数据管理系统检索速度1倍,说明基于MARS软件的数据管理系统的高效性。
1 MARS软件介绍 1.1 MARS软件架构MARS软件使用C/C++语言编写,使用面向对象的技术存储元数据,使用存储管理软件管理实际数据。它是针对气象数据 (GRIB格式的气象数值模式要素场、BUFR格式和ODB格式的观测数据) 的存储库软件[10]。MARS软件基于客户端/服务端 (C/S) 架构设计,运行于Unix/Linux平台。图 1为MARS软件的架构示意图[11]。
MARS客户端基于MARS请求协议,主要由C程序和EMOSLIB (GRIBEX或GRIB_API库和插值程序库) 组成,提供命令行、Metview和WebMARS 3种用户访问接口,可在超级计算机、工作站/服务器、远程客户端 (安全机制) 数据服务器上部署,并以交互式和批处理方式执行。
MARS服务端分为两部分,即请求管理器和数据管理器,实现数据的物理组织和逻辑组织分离,从而实现系统的可扩展性。MARS元数据也相应地分为逻辑描述元数据和物理描述元数据。请求管理器使用气象描述专门处理用户请求,记录数据的语义信息,包括气象数值模式要素场定义和一次预报描述信息 (逻辑信息)。MARS软件中,单个气象数值模式要素场是最小寻址对象,表 1给出了各种属性定义。按照要素、层次和预报时效3个属性,多个气象数值模式要素场可以整合为1个归档对象,对应着请求管理器中的逻辑描述元数据[11](如图 2所示)。按照成员、时次和日期等3个属性,多个归档对象整合为超立方体[11](如图 3所示)。数据管理器记录数据的物理位置,描述数据文件存储于哪种介质,包括磁带、磁盘及缓存空间。每个气象数值模式要素场的长度、文件名、存储位置等逻辑属性对应着数据管理器上的物理描述元数据[11](如图 4所示)。请求管理器不直接处理数据文件而是处理数据逻辑索引,当数据请求被执行时,请求管理器将请求转换为逻辑索引地址发送给数据管理器。数据管理器将数据逻辑索引地址解析为实际物理地址,将数据返回给用户。
|
|
表 1 气象数值模式要素场属性及示例取值 Table 1 Attributes for meteorological parameter fields |
|
|
| 图 2. MARS软件中气象数据的归档对象立方体模型[11] Fig 2. Archive object cube model of meteorological data in the MARS (from Reference [11]) | |
|
|
| 图 3. MARS软件中气象数据的归档对象超立方体模型[11] Fig 3. Archive object hypercube model of meteorological data in the MARS (from Reference [11]) | |
|
|
| 图 4. MARS软件中请求管理器和数据管理器的元数据[11] Fig 4. Metadata of request manager and data manager in the MARS (from Reference [11]) | |
MARS客户端通过执行以MARS语言描述的请求,进行归档、检索、后处理等管理操作气象数据。其中,MARS语言是以MARS预定义的词汇唯一描述每个独特的气象数值模式要素场和请求执行动作。MARS客户端配置了一组服务器,查找或归档数据时需要访问这些服务器。
1.2 后处理MARS软件中,数据后处理由MARS客户端执行。通过在数据检索请求文件写入关键字 (如area, grid等) 并赋值,MARS客户端执行此请求时,自动调用EMOSLIB库中的一系列子程序函数实现后处理。如关键字area赋值实现子区域裁剪功能,可在请求文件中使用“area=North/West/South/East”,North,West,South和East分别指北纬、西经、南纬和东经对应的度数,适用于规则经纬度网格。关键字grid赋值对应不同网格转换或分辨率改变,可在请求中使用“grid=x1/x2”或“grid=y, gaussian=z”,其中, x1和x2分别是指东西方向 (经度) 和南北方向 (纬度) 以度为单位的分辨率值,且插值后的分辨率不低于原始分辨率;y指归约高斯网格中南或北半球纬圈数,z指高斯网格类型,值为regular或reduced。其中,网格转换功能包括:改变高斯网格的分辨率,改变经纬网格的分辨率,将球谐坐标格点分辨率转换为高斯网格分辨率,将球谐坐标格点分辨率转换为经纬网格分辨率,将归约高斯网格分辨率转换为规则高斯网格分辨率,将高斯网格分辨率转换为经纬网格分辨率。对于其他后处理关键字的具体细节可参考气象要素插值软件的相关函数[12-13]。
2 基于MARS软件的数值预报产品数据管理系统设计目前中国气象局主要运行T639L60模式、GRAPES全球及区域模式、TIGGE集合预报等几类业务或准业务天气预报模式[14-16]。根据当前MARS软件的特征,分别对每一种模式产品建立MARS服务端,实际上多个MARS服务端可以部署在1台或多台服务器上。根据模式产品差异,建立不同的MARS客户端,用于模式产品的数据归档入库。对于自定义的模式产品,即T639L60模式、GRAPES区域及全球模式产品,建立一套统一的MARS客户端。对用于国际交换的TIGGE产品,单独建立MARS客户端。这几种模式产品分别由部署在IBM PureFlex高性能计算机上的业务预报系统产生,并推送到MARS客户端上归档入库。同时,在IBM PureFlex和神威4000A高性能计算机上另外建立两套MARS客户端,提供模式产品的数据检索访问、后处理等服务。为充分发挥MARS软件的数据存储能力,基于现有存储管理软件TSM,通过开发实现相关程序接口,连接MARS和TSM软件,实现模式产品的数据无缝迁移和回调,发挥分级存储系统的效能。数值预报模式产品数据管理系统设计架构如图 5所示。
|
|
| 图 5. 数值预报模式产品数据管理系统架构 Fig 5. The architecture of NWP data management system | |
对外提供数据服务的MARS客户端、存储管理数据的MARS服务端可以灵活地根据业务需求增加,具有良好的扩展性。数据的迁移、回调、备份都可以通过MARS调用TSM实现。
3 关键技术 3.1 GRIB2数据模板和代码表创建方法 3.1.1 GRIB2及表格驱动编码MARS软件采用WMO标准GRIB1/2格式存储气象数值模式要素场数据和其他空间格点数据。GRIB2码 (GRIdded Binary 2, FM92) 是与计算机硬件无关的表格驱动 (Table Driven Code Forms, TDCFs) 码[17],主要用来表示数值天气分析和预报的格点资料,格式标准化。表格驱动编码不仅包含数据本身,还包含了对数据的完整描述,并通过一套完整的通用表格 (标准化特点) 定义这些描述,用描述信息解释资料内容,从而避免了字符编码中一种资料对应一种编码格式的状况,具备良好的扩展性与灵活性[18]。当出现新的资料种类和内容时,只需增加新的描述和定义相应的表格即可。当部分资料及内容变化时,只需适当调整代码中的描述信息即可。
3.1.2 GRIB2模板GRIB2所有的模板采用模板表格描述,表格按照段号分类查询所属模板。在表格中,模板标为m.n形式,m是模板所属的段号,n是编码正确的段中的模板号。模板描述其内部的网格定义段、产品定义段、数据表示段和数据段。其中,网格定义模板描述数据段包含的数据网格平面和几何特性,产品定义模板描述下面数据段中的数据种类,数据表示模板描述数据值如何在数据段中表示,而数据模板则描述数据本身[19-20]。
根据GRIB2数据规范说明,GRIB2各要素定义在第4段即数据段描述[20-21]。通过扩充或修改已有的数据段,来实现要素的自定义。
3.1.3 增加层次类型GRIB2产品中添加或修改一个层次类型定义,需修改GRIB2代码表格文件4.5.table,这个表描述地面固定类型以及层次单位。如气象模式产品数据修改积云底层次类型,修改其名称缩写,可在4.5.table中将相关内容修改为
2 cbl Cloud base level。
其中,cbl是积云层次类型缩写,“2”是积云层次代码号。
3.1.4 增加气象要素GRIB2产品中增加一个要素,需修改GRIB2代码表格文件4.2.*.*table,这个表描述要素号、产品种类号和要素类别号。如气象模式产品数据增加温度平流要素,根据表格驱动编码规则,查找其对应产品类型号、要素类别号分别为0,0,对应的代码表是文件4.2.0.0.table。而温度平流要素未定义,可在4.2.0.0.table中增加一行内容:
224 Temperature advection (10-6 K s-1)。
其中,224是要素名称代码号,Temperature advection则是要素名称描述,括号中的内容是单位。一般来说,192~225之间的数字用于自定义要素名称代码号。
3.1.5 MARS GRIB2模板配置MARS软件的GRIB2模板配置相关文件位于GRIB_API和MARS客户端及MARS服务端3个部分中。GRIB_API中的配置文件主要有paramId.def,name.def,shortName.def等[19],MARS客户端有grib.c (GRIBEX MARS)、语言文件mars.def、规则文件mars.chk;MARS服务器端有GribHeader.cc (GRIBEX MARS)、buildRules。通过修改这些文件,来描述复杂的数据,扩展MARS处理新类型的GRIB2数据。
目前的MARS软件处理GRIB2格式限于TIGGE产品和模式层数据,而T639L60模式产品或GRAPES模式产品GRIB2数据中很多气象要素无法直接被MARS客户端工具正确解析,导致不能被MARS软件处理。如MARS客户端工具解析GRAPES模式产品GRIB2数据,出现类似“PARAM=DEFAULT/9999”语句, 说明数据中有些要素未正确解析。分析GRIB2数据,发现其中气象要素——光照量 (albedo) 没有正确解析。为使MARS软件正确处理这一气象要素,需要找到其对应的代码表格文件。由数据分析结果可知该要素在4.2.0.19.table文件中已被定义,并获得discipline (产品类型号),parameterCategory (要素类别号),parameterNumber (要素号) 等属性的值。通过修改GRIB_API中数据属性定义相关文件paramId.def, name.def, shortName.def和MARS客户端中的mars.def,实现MARS正确解析处理GRIB2的光照量要素。操作时,在paramId.def中添加如下代码:
′260509′={
discipline=0;
parameterCategory=19;
parameterNumber=1;
},
name.def中添加
′albedo′={parameter=260509;},
shortName.def中添加
′al′ ={parameter=260509;},
MARS客户端mars.def中增加
ALBEDO; AL;260509。
其中,数字260509是光照度的要素代码,可自行定义,但不能与已定义的要素代码号重复。为利于数据的国际交换,增加的要素代码定义应尽量与其他国家气象业务中心的代码定义保持一致。
3.2 MARS软件与TSM软件接口实现MARS软件将磁带文件视为逻辑文件,无需知道磁带的具体位置即可访问数据。MARS软件和存储管理软件连接API提供一系列虚函数,能使MARS软件从磁带文件中读写数据,而不涉及任何中间的磁盘I/O操作[22]。读写磁带文件流程如图 6所示,其中, 写磁带文件流程基于事务处理,而检索数据的缓存则由MARS应用完成。
|
|
| 图 6. MARS软件和存储管理系统连接API读写磁带文件流程 Fig 6. The flow chart for reading or writing a tape file in the API between the MARS and a storage manager system | |
除了实现MARS软件和TSM软件连接接口程序外,MARS软件和TSM软件连接还需在配置文件中定义存储管理软件名、存储管理类名、管理类表等。
4 MARS软件数据管理试验和性能 4.1 数据管理试验本试验以GRAPES全球模式产品GRIB2数据为例,应用模板及代码表创建方法,分别从数据归档、检索、数据迁移及回调等多个方面进行,并与CIMISS中数据管理系统检索数据时效对比。数据归档入库试验流程见图 7。
|
|
| 图 7. 模式产品GRIB2数据MARS入库试验流程 Fig 7. The flow chart of archiving GRIB2 data of model products into the MARS | |
以GRAPES产品数据gmf.gra.201105150000.grb2文件为例,首先利用MARS客户端工具grib2request命令解析数据,获取MARS解析气象要素信息。要素解析如下:
PARAM=131/132/130/156/133/99999/134/DEFAULT,
其中,PARAM属性取值中,99999和DEFAULT属于MARS软件无法正确解析的信息,其他数字对应一个预定义的要素量。针对GRAPES模式产品中的各个要素,分析GRIB2的要素解析文件,找无法解析的GRAPES模式产品要素,按照GRIB2代码表和模板创建方法,修改相应的数据模板和配置文件后,使GRAPES模式产品的所有要素均可被解析。GRAPES模式产品可被MARS解析的要素部分如下:
PARAM=131/132/130/156/133/500032/134/151/139/3115/3116/177/260509,
其中,这些数值分别代表东西风分量、南北风分量、温度、位势高度、比湿、几何垂直速度、地面气压、平均海平面气压、地面温度、长波辐射通量、短波辐射通量、地面静热辐射、光照量。
由于MARS软件按照单要素层数据作为基本单位组织进行归档入库,因此,首先需要对其进行分解,形成多个单要素层数据,该操作由MARS客户端工具命令splitgrib执行完成。
利用splitgrib命令分离示例数据gmf.gra.201105150000.grb2,可得到如下几个文件:① 归档请求文件列表文件splitgrib0000.idx,内容包括splitgrib0000.req和splitgrib0001.req这两个文件名;② 分离后的单要素层GRIB2数据文件splitgrib0000.dat,splitgrib0001.dat。执行mars splitgrib0000.req命令即可将数据splitgrib0000.dat归档入库,以此类推。对于数据检索,如果需要刚入库的数据,则只需将splitgrib0000.req中archive改成retrieve,source改成target,再次执行mars splitgrib0000.req命令即可。
splitgrib000.req归档入库请求内容如下:
ARCHIEVE,
DATABASE=marsth,
SOURCE="splitgrib0000.dat",
ORIGIN=BABJ,
DATE=20110515,
TIME=0000,
STEP =0,
LEVTYPE=PL,
LEVELIST=10/20/30/50/70/100/150/200/250/300/400/500/600/700/850/925/1000,
CLASS=OD,
EXPVER=0001,
MODEL=GLOB,
DOMAIN=G,
PARAM=131/132/130/156/133/500032,
TYPE=AN,
STREAM=OPER,
EXPECT=102。
其中,ARCHIEVE是请求动作;MARS请求中还有RETRIEVE, LIST, READ等动作;等号左侧是关键词,是MARS软件中定义的变量,如TYPE, DATE, PARAM等;等号右侧是给关键词的赋值,如PL, AN, OD等。
对于数据向磁带库迁移,则需在MARS服务端Shell下执行marsadm命令,出现marsadm命令提示符,然后执行list-prearc命令先查询预归档文件系统上的文件标识号xxx,然后执行flush-id xxx命令。对于数据回调,既可以通过客户发起RETRIEVE、GET请求,请求文件写法同上述检索语句类似上述splitgrib0000.req内容;也可以在MARS服务端命令marsadm提示符下,通过copy命令进行。
数据管理操作执行完毕后,客户端会提示相关信息表明试验操作成功。
4.2 性能分析为了说明MARS软件检索数据的性能优异,对基于MARS软件的数值预报模式产品数据管理系统和当前国家级气象数据管理系统检索数值预报产品数据进行测试,并对比时效。由于MDSS即将停止服务,CIMISS中的数据管理系统正在取代MDSS提供数据服务,故当前国家级气象数据管理系统测试选用CIMISS中的数据管理系统。二者用于测试的软件和硬件环境如下:CIMISS中的数据管理系统数据库采用Oracle 11g RAC,安装在配置2个8核Intel Xeon E7420 2.13 GHz (共16个CPU核)、40 GB内存的64位Linux上,CIMISS中数据管理系统的数据检索客户端部署于工作站Windows系统上;而基于MARS软件的数值预报模式产品数据管理系统服务端则安装于入门级IBM P550服务器,配置4个Power 64.2 GHz处理器,32 GB内存和AIX 6.1系统,MARS客户端部署于另一台AIX 6系统上。
此外,当前CIMISS的数据管理系统,还未将准业务运行的GRAPES模式产品入库管理,但提供了T639L60模式产品的东北半球区域数据,故以T639L60模式产品的检索为例说明时效性能情况。任意选定系统中管理的某日某个时次预报某个预报时效,这里以2014年4月14日00:00(世界时) 预报时效24 h为例,分别在两套系统上检索所有要素数据和某个特定要素 (温度) 数据,运行多次检索命令,获取相关信息,对比结果见表 2。由表 2可看出,对于某个固定预报时间预报时效的T639L60模式产品,无论是检索全部气象要素还是某个特定要素 (如温度),基于MARS软件数据检索速度都超过CIMISS检索速度1倍。此外,基于MARS软件的系统根据检索请求,一次输出1个数据,同时在检索请求中可提供后处理功能,如插值、区域裁剪、一些简单数学公式计算等,而CIMISS中检索数据相对复杂,检索后的数据文件数众多,如表 2中的文件数量分别为32和344个,目前也没有提供后处理功能。
|
|
表 2 CIMISS的数据管理系统和基于MARS软件的数值预报模式产品数据管理系统检索T639L60模式产品性能 Table 2 Performance of retrieving T639L60 model production by the data management system of CIMISS and the MARS based system |
5 小结
本文基于MARS软件,实现了数值预报模式产品数据管理。研究实现了MARS和存储管理软件接口,实现数据的直接迁移和回调,以GRAPES全球模式产品为例进行数据归档入库、迁移和回迁试验,并以T639L60模式产品为例进行数据检索性能测试,得出以下结论:
1) 经过分析模式产品GRIB2格式数据,创建数据模板和代码表,基于MARS软件的模式产品数据管理系统可实现对GRIB2格式数据的管理。
2) 依据MARS软件和TSM软件连接API编程接口,考虑磁盘、磁带读写特征,开发相关程序,可实现数据从在线磁盘到近线磁带之间的直接迁移和回迁,消除手工操作。
3) 模式产品的数据检索性能对比试验表明:基于MARS软件的数值预报模式产品数据管理系统相对当前的CIMISS中的数据管理系统,检索速度超过1倍,检索时效优势明显。
目前,MARS软件已经业务化应用于中国气象局TIGGE集合预报产品和T639L60模式产品、GRAPES模式产品的管理中。未来会进一步考虑中国气象局运行的各种模式产品,包括一些长期试验系统,如气候模式产品以及即将开展的S2S (Sub-seasonal to Seasonal Prediction Project) 产品,并在业务中进一步考虑模式、分辨率、区域、版本的不同,实现基于MARS软件的数据管理系统管理多个模式产品,并增加更多的数据服务方式。
| [1] | 陈德辉, 薛纪善. 数值天气预报业务模式现状与展望. 气象学报, 2004, 62, (5): 623–633. DOI:10.11676/qxxb2004.061 |
| [2] | 矫梅燕, 龚建东, 周兵, 等. 天气预报的业务技术进展. 应用气象学报, 2006, 17, (5): 594–601. DOI:10.11898/1001-7313.20060502 |
| [3] | 张玺. 并行文件系统下数据迁移功能的实现. 北京信息科技大学学报, 2012, 12, (5): 77–80. |
| [4] | 沈文海, 赵芳, 高华云, 等. 国家级气象资料存储检索系统的建立. 应用气象学报, 2004, 15, (6): 727–736. |
| [5] | 李集明, 沈文海, 王国复. 气象信息共享平台及其关键技术研究. 应用气象学报, 2006, 17, (5): 621–628. DOI:10.11898/1001-7313.20060505 |
| [6] | 国家气象信息中心. 新一代天气雷达信息共享平台总体设计. 北京: 中国气象局, 2009. |
| [7] | 杨润芝, 马强, 李德泉, 等. 内存转发模型在CIMISS数据收发系统中的应用. 应用气象学报, 2012, 23, (3): 377–384. |
| [8] | Raoult B. Data Handling via MARS at ECMWF. ECMWF Newsletter, 1996, 72: 15–19. |
| [9] | Raoult B. Implementing MARS using object-oriented technology. ECMWF Newsletter, 1997, 75: 9–10. |
| [10] | Raoult B.MARS, ECMWF's Meteorological Archive:Experience in Managing a Large Archive.[2013-12-10]. http://vds.cnes.fr/manifestations/PV2002/DATA/1-5_raoult.pdf. |
| [11] | Raoult B.Architecture of the new MARS server.[2013-12-10]. http://www.ecmwf.int/publications/manuals/mars/server.pdf. |
| [12] | ECMWF Operations Department.MARS User Guide.[2013-12-20]. http://www.ecmwf.int/publications/manuals/mars/guide/MarsUserGuide.pdf. |
| [13] | ECMWF EMOSLIB.[2014-09-27]. https://software.ecmwf.int/wiki/display/EMOS/Emoslib. |
| [14] | 伍湘君, 金之雁, 黄丽萍, 等. GRAPES模式软件框架与实现. 应用气象学报, 2005, 16, (4): 539–546. DOI:10.11898/1001-7313.20050415 |
| [15] | 麻素红, 吴俞, 瞿安祥, 等. T213与T639模式热带气旋预报误差对比. 应用气象学报, 2012, 23, (2): 167–173. DOI:10.11898/1001-7313.20120205 |
| [16] | 闫之辉, 王雨, 朱国富. 国家气象中心业务数值预报发展的回顾与展望. 气象, 2010, 36, (7): 26–32. DOI:10.7519/j.issn.1000-0526.2010.07.007 |
| [17] | 刘媛媛, 应显勋, 赵芳. GRIB2介绍及解码初探. 气象科技, 2006, 34, (增刊Ⅰ): 61–64. |
| [18] | 国家气象信息中心通信台. 表格驱动码编码手册. 北京: 气象出版社, 2005. |
| [19] | WMO.Guide to the WMO Table Driven Code Form Used for the Representation and Exchange of Regularly Spaced Data In Binary Form:FM 92 GRIB Edition 2.[2013-12-10]. http://www.wmo.int/pages/prog/www/WMOCodes/Guides/GRIB/GRIB2_062006.pdf. |
| [20] | WMO.Introduction to GRIB Edition1 and GRIB Edition 2.[2013-12-10]. http://www.wmo.int/pages/prog/www/WMOCodes/Guides/GRIB/Introduction_GRIB1-GRIB2.pdf. |
| [21] | ECMWF.Grib decoder.[2013-12-10]. https://software.ecmwf.int/wiki/display/GRIB/Home. |
| [22] | IBM Tivoli Storage Manager for AIX Version 6.2 Using the Application Programming Interface.[2014-09-15]. http://pic.dhe.ibm.com/infocenter/tsminfo/v6r2/topic/com.ibm.itsm.client.develop.doc/b_api_using.pdf. |
2015, 26 (2): 247-256



