1 | io_grib2 |
---|
2 | |
---|
3 | Author: Todd Hutchinson |
---|
4 | WSI |
---|
5 | thutchinson@wsi.com |
---|
6 | |
---|
7 | 28 September 2005 |
---|
8 | |
---|
9 | I. Introduction |
---|
10 | |
---|
11 | io_grib2 is a WRF module that allows for input and output of WRF data in GRIB |
---|
12 | version 2 format. |
---|
13 | |
---|
14 | Why would anyone use GRIB2 output? |
---|
15 | Data stored in GRIB2 format is compressed using advanced compression |
---|
16 | (i.e., JPEG2000), so output files are much smaller than in other formats |
---|
17 | such as netCDF and grib version 1. Better compression is achieved with |
---|
18 | larger grids. |
---|
19 | |
---|
20 | II. Prerequisites |
---|
21 | |
---|
22 | In order to compile and link WRF using the grib2 format, one system library |
---|
23 | is required: |
---|
24 | libjasper.a: http://www.ece.uvic.ca/~mdadams/jasper/ |
---|
25 | |
---|
26 | The library should be installed in a system accessible place (i.e., |
---|
27 | /usr/lib). The paths to the jasper library and include files must be |
---|
28 | specified via environment variables prior to running ./configure . |
---|
29 | Please use the following environment variables: |
---|
30 | JASPERLIB Path to jasper library files (libjasperlib.a) |
---|
31 | JASPERINC Path to jasper include files |
---|
32 | Note that if these environment variables are not defined before |
---|
33 | ./configure is run, the Grib2 I/O package will not be built. |
---|
34 | |
---|
35 | III. Running WRF with grib2 input/output |
---|
36 | 1. Set namelist entry or entries io_form_<x> to 10 |
---|
37 | 2. Run WRF as you normally would, for example: |
---|
38 | cd test/em_real |
---|
39 | ./real.exe |
---|
40 | ./wrf.exe |
---|
41 | |
---|
42 | IV. Quilting |
---|
43 | If you are running WRF using MPI, you may use a seperate processor for |
---|
44 | quilting just as is done with netCDF. Simply set the namelist variable |
---|
45 | nio_tasks_per_group to 1 (or more). |
---|
46 | |
---|
47 | V. Details |
---|
48 | 1. grib2map.tbl file |
---|
49 | io_grib2 makes use of a table for encoding the WRF data into GRIB2 |
---|
50 | format. The table that io_grib2 uses is contained in the |
---|
51 | WRF run directory, and is called grib2map.tbl. This file is read at |
---|
52 | run-time by io_grib2. Settings in this file are used to encode the |
---|
53 | corresponding parameters in the output files. You may modify |
---|
54 | this file to suit your needs. |
---|
55 | |
---|
56 | The format of the table is described within the file itself. |
---|
57 | |
---|
58 | VI. Comparison between file formats. |
---|
59 | 1. The following table shows the file sizes and run times for netcdf, grib1, |
---|
60 | and grib2 format for a 6 hour simlation of the WRF jun11 test case. The |
---|
61 | domain size in this case is 91x82 by 28 levels. Data was output every |
---|
62 | 3 hours (for a total of 3 output times). The simulations were run on |
---|
63 | NCAR's bluesky system. |
---|
64 | |
---|
65 | | Size (MB) | WRF Time(m:s) |
---|
66 | ------------------------------------ |
---|
67 | NETCDF | 38.40 | 19:31 | |
---|
68 | GRIB1 | 13.42 | 21:22 | |
---|
69 | GRIB2 | 4.33 | 22:36 | |
---|
70 | ------------------------------------ |
---|
71 | |
---|
72 | VII. New namelist variables for Grib2 I/O: |
---|
73 | The following new namelist variables may be optionally used to control |
---|
74 | Grib2 I/O. They are defined in new namelist "&grib2". Note that the |
---|
75 | &grib2 namelist must be included in file "namelist.input" even if empty. |
---|
76 | (This annoyance is ultimately due to problems with old OSF1 Fortran90 |
---|
77 | compilers.) |
---|
78 | |
---|
79 | background_proc_id - Background generating process identifier, typically |
---|
80 | defined by the originating center to identify the background data that |
---|
81 | was used in creating the data. This is octet 13 of Section 4 in the |
---|
82 | grib2 message. Default is 255. |
---|
83 | |
---|
84 | forecast_proc_id - Analysis or generating forecast process identifier, |
---|
85 | typically defined by the originating center to identify the forecast |
---|
86 | process that was used to generate the data. This is octet 14 of Section |
---|
87 | 4 in the grib2 message. Default is 255. |
---|
88 | |
---|
89 | production_status - Production status of processed data in the grib2 |
---|
90 | message. See Code Table 1.3 of the grib2 manual. This is octet 20 of |
---|
91 | Section 1 in the grib2 record. Default is 255. |
---|
92 | |
---|
93 | compression - The compression method to encode the output grib2 message. |
---|
94 | Only 40 for jpeg2000 or 41 for PNG are supported. The default is 40. |
---|
95 | |
---|