mirror of https://github.com/ecmwf/eccodes.git
65 lines
5.4 KiB
HTML
65 lines
5.4 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
|
<title>grib_api: GRIB API</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.5.3 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li class="current"><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="examples.html"><span>Examples</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<h1>GRIB API</h1>
|
|
<p>
|
|
<h2><a class="anchor" name="new">
|
|
New</a></h2>
|
|
<ul>
|
|
<li><a href="/publications/manuals/grib_api/conversion.html">GRIB edition 1 to 2 conversion</a></li><li><a href="/services/archive/d/gribapi/param/">Parameters in GRIB API</a></li><li><b> GRIB API keys </b><ul>
|
|
<li><a href="/services/archive/d/gribapi/fm92/grib1/">GRIB edition 1 </a></li><li><a href="/services/archive/d/gribapi/fm92/grib2/">GRIB edition 2 </a></li><li><a href="/services/archive/d/gribapi/keys/">Edition independent</a></li></ul>
|
|
</li></ul>
|
|
<h2><a class="anchor" name="overview">
|
|
Overview</a></h2>
|
|
The grib_api is the application program interface developed at ECMWF to provide an easy and realiable way for encoding and decoding WMO FM-92 GRIB <a href="http://www.wmo.ch/pages/prog/www/WMOCodes/Manual/WMO306_vol-I-2-PartB-GRIB1.pdf">edition 1</a> and <a href="http://www.wmo.ch/pages/prog/www/DPS/grib-2.html">edition 2</a> messages.<p>
|
|
With the grib_api library, that is written entirely in C, some command line <a class="el" href="tools.html">tools</a> are provided to give a quick way to manipulate grib data. Moreover a Fortran interface 90 is available giving access to the main features of the C library.<p>
|
|
The library is designed to access and modify messages in both editions with the same <a class="el" href="group__get__set.html">function calls</a> using a set of <a class="el" href="keys.html">Grib API keys</a> to access the coded information ( examples: <a class="el" href="get_8f90-example.html">get.f90</a> <a class="el" href="set_8f90-example.html">set.f90</a>, <a class="el" href="get_8c-example.html">get.c</a>, <a class="el" href="set_8c-example.html">set.c</a>, <a class="el" href="grib_get.html#grib_get_examples">grib_get</a>, <a class="el" href="grib_set.html#grib_set_examples">grib_set</a> ).<p>
|
|
The <a class="el" href="keys.html">keys</a> available for a message are different depending not only on the edition but also and mainly on the type of each message and the information it contains. A list of all the available keys in a message can be obtained dynamically using the library as shown in <a class="el" href="keys__iterator_8c-example.html">keys_iterator.c</a> or using the <a class="el" href="tools.html">Grib tools</a> as shown in <a class="el" href="grib_dump.html">grib_dump</a> or <a class="el" href="grib_keys.html#grib_keys_examples">grib_keys</a>.<p>
|
|
GRIB API will replace the GRIBEX function and a <a href="/publications/manuals/grib_api/gribexkeys/callGribex.html">table of conversion</a> between the numeric encoding of GRIBEX and the alphanumeric keys of GRIB API is provided to help the migration.<p>
|
|
To learn how to use the grib_api we recommend the user works through the <a class="el" href="grib_examples.html">Grib API examples</a>.<p>
|
|
Reference manuals are also provided for the C library (organized in <a class="el" href="modules.html">C interface</a>) and for the Fortran 90 interface.<p>
|
|
<a class="el" href="installation.html">Installation</a> instructions are also provided.<h2><a class="anchor" name="ecwf_users">
|
|
Compiling and linking on ECMWF platforms</a></h2>
|
|
The grib API is installed on all systems at ECMWF with both its components: the library and the tools.<br>
|
|
The latest version of the tools is always available in the system PATH so that users can begin using the tools immediately by typing directly the tool name (<a class="el" href="tools.html">see tools reference</a>).<br>
|
|
The latest version of the library is also installed on any platform and it is available for linking through the following two environment variables: $GRIB_API_INCLUDE $GRIB_API_LIB.<br>
|
|
<br>
|
|
Here is a short summary on how to compile and link on ECMWF systems:<br>
|
|
<p>
|
|
<ul>
|
|
<li>ecgate, hpce, hpcf <div class="fragment"><pre class="fragment">
|
|
> xlc -o foo foo.c $GRIB_API_INCLUDE $GRIB_API_LIB -lm
|
|
</pre></div> <br>
|
|
<div class="fragment"><pre class="fragment">
|
|
> xlf90 -o foo foo.f90 $GRIB_API_INCLUDE $GRIB_API_LIB
|
|
</pre></div><br>
|
|
</li><li>linux cluster (C programs) <div class="fragment"><pre class="fragment">
|
|
> gcc -m32 -o foo foo.c $GRIB_API_INCLUDE $GRIB_API_LIB
|
|
</pre></div> <br>
|
|
</li><li>workstation (C programs) <div class="fragment"><pre class="fragment">
|
|
> gcc -o foo foo.c $GRIB_API_INCLUDE $GRIB_API_LIB
|
|
</pre></div> <br>
|
|
</li><li>linux cluster,workstation (Fortran programs) <div class="fragment"><pre class="fragment">
|
|
> use pgf90
|
|
> pgf90 -o foo foo.f90 $GRIB_API_INCLUDE $GRIB_API_LIB
|
|
</pre></div><br>
|
|
</li></ul>
|
|
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 22 15:18:21 2009 for grib_api by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
|
|
</body>
|
|
</html>
|