[2759] | 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 grib2 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.) Information on the variables is located in the WRFV2/run |
---|
| 78 | directory: README.namelist. |
---|