GRIB API学习笔记02——GRIB介绍

目录

GRIB API Introduction

参见PPT: 2A1-grib_api_intro.pdf

1.1.  GRIB1与GRIB2的区别

不同的结构
GRIB 2的模板
不同单位

1.2.  GRIB API

1.2.1.   GRIBEX vs GRIB API

GRIBEX基于数组访问
GRIB API基于key/value访问

1.2.2.   GRIB API设计

1.2.3.   GRIB API接口

C
Fortran90
Python
命令行工具
C接口示例:
[c]
h = grib_handle_new_from_file(context,in,&err);
grib_get_double(h,”latitudeOfFirstGridPointInDegrees”,&latitudeOfFirstGridPointInDegrees);
grib_set_long(h,”centre”,centre);
grib_set_string(h,“date”,date,&len);
grib_handle_delete(h);
[/c]
Fortran 90接口示例:
[fortran]
call grib_new_from_file(ifile,igrib,iret)
call grib_get(igrib,’latitudeOfFirstGridPointInDegrees’,latitudeOfFirstPointInDegrees)
call grib_set(igrib,’centre’,centre)
call grib_set(igrib, ‘date’,’20070212’)
call grib_release(igrib)
[/fortran]
命令行工具:

grib_get –p latitudeOfFirstGridPointInDegrees regular_latlon_surface.grib1
grib_set –s centre=ecmf,date=20070212 regular_latlon_surface.grib1 out.grib1