g2ctl
g2ctl takes GRIB2 files and makes GrADS control files.
For grib-1 files, see grib2ctl.
Once you have made a control file and index file, GrADS can
read grib2 files. Note that whenever you update g2ctl, you
must update wgrib2.
There is an alternative to the g2ctl/gribmap for making
ctl/index for GrADS.
alt_g2ctl/alt_gmp were written to handle large datasets and
extended grib variable names.
1/25/2008 First public release
For analyses:
$ g2ctl -O grib2_file >grib2_file.ctl
$ gribmap -O -i grib2_file.ctl
$ grads
Landscape mode? (no for portrait):
ga-> open grib2_file.ctl
For forecasts:
$ g2ctl grib2_file >grib2_file.ctl
$ gribmap -i grib2_file.ctl
$ grads
Landscape mode? (no for portrait):
ga-> open grib2_file.ctl
Important Options
-0 .. use analysis times
-365 .. use 365 day calendar
-no_profile .. no z coordinate
-raw .. use a raw grid
-ens "e1,..,en" .. a list of quoted ensemble names
Windows
g2ctl works under Windows. You just have to put a perl
before g2ctl.
linux: $ g2ctl (rest of line)
windows: $ perl g2ctl (rest of line)
You have to keep in mind the Window filename conventions
are different from Unix/Linux. g2ctl is written for the
unix standard. Windows considers upper case A to be the
same as a lower case a. Unix allows multiple periods in
a filename. Some Windows systems only allow one period
in the filename. If you having problems with g2ctl,
convert the input and output filenames to 8.3 and move
all the files to the current directory.
I have tested g2ctl using the cygwin system and I had
no problems. Haven't tried it using another perl
and the default windows shell. Other people have done it.
Templating
GrADS supports some templates by using the GrADS
templating names. For example,
g2ctl pgb.2008010100.f%f2 >forecast.ctl
gribmap -i forecast.ctl
 
g2ctl -0 pgb.%y4%m2%d2%h2.f00 >analysis.ctl
gribmap -0 -i analysis.ctl
 
g2ctl -ens "e1,e2,e3" %e.2008010100.%f2 >ens.ctl
gribmap -i ens.ctl
The supported template names are:
%y4 - four digit year code
%y2 - two digit year code
%m2 - two digit month code
%m1 - one or two digit month code
%h2 - two digit hour code
%h1 - one or two digit hour code
%f3 - three digit forecast hour code
%f2 - two or three digit forecast hour code
%e - ensemble name (specified by -ens option)
Ensembles
Grads v2 now supports
ensembles. Ensemble files come in two flavors. All the ensemble
members are within one file or each ensemble member is in its own
file. For the first case, g2ctl should handle it
it correctly. For the second case, you have to specify
the ensemble names and use the template option.
g2ctl -ens "e1,e2,e3" %e.2008010100.%f2 >ens.ctl
gribmap -i ens.ctl
Note that the first ensemble member specified sets the time range.
Requirements
The current versions of wgrib2
GrADS v2.0+, perl
and the
g2ctl script
Checking for Aliased Variables
The GRIB data model is larger than the GrADS data model. For example,
a GrADS field has a single time value. A GRIB field could have one
time value (ex. analysis), two time values (ex. 6 hour forecast:
start of forecast and the valid time) or even three time values (ex.
12-24 hour precipitation forecast: start of forecast, start of valid period,
and end of valid period). Consequently two different grib fields
may have the same GrADS time value (ex. analysis valid at 2010-01-01-00,
6 hour forecast started from 2010-01-01-00 and a 6 hour forecast started
from 2009-12-31-18 and valid at 2010-01-01-00 will have problem
no matter which gribmap options are used).
The GrADS data model has grown. Originally GrADS didn't know
the difference between the 6-hour forecast of LHTFL and the
0-6 hour average forecast of LHTFL. As a result, the two quantities
could get aliased. The current situation (4-2010) is that the older
grib2ctl will alias the two fields and the newer g2ctl will not.
However, the GrADS data model still has limitation with respect
to averaging. For example, the monthly average of the 6 hour forecast LHTFL
will be aliased with the monthly average of the 0-6 hour forecast LHTFL
because they are both monthly averages.
The only way to deal with aliased variables is to store the variables
in separate files and make separate control files.
You can discover some types of aliasing by using the -no_profile option
with grib2ctl or g2ctl. The control file will list the number of
variables that it found. That number can be compared with the
expected number.
Problems
- make sure you have grib-2 files (test with wgrib2)
- make sure wgrib2 is current and on your path
- make sure gribmap is version 2
- make sure GrADS is version 2
- only some grids are supported
- Have a time series of forecasts (ex 12 hour forecast with varying starting time) which has
an ensemble identifier (ex control forecast). You have to use the EDEF section in the
control file but there is no fixed starting time of the control forecast.
AFAIK you have to use alt_g2ctl and alt_gmp to handle this situation.
To Do
Gaussian thinned grids (GrADS problem, I think)
Statistical processing support is preliminary
Comments: Wesley.Ebisuzaki@noaa.gov
|