Welcome to the ECMWF Ensemble Simulation CD-ROMs
This little booklet contains excerpts from the following files
as a quick reference and a starting point to get you
acquainted with the ECMWF Ensemble Simulation CD-ROMs.
For more detailed information read the original files
on the cds.
1. file: grads/ecmwf.doc
2. file: grads/readme
3. file: grads/demo.doc
4. file: decoder/gribex/readme
5. file: decoder/wgrib/readme
6. file: decoder/gribsimp/readme
1111111111111111111111111111111111111111111111111111111111111111
The ECMWF Ensemble Simulation CD-ROMs
Bernd Dieter Becker
I. INTRODUCTION
------------
These CD-ROMs contain selected data fields from the ECMWF
seasonal ensemble simulation project.
The successful prediction of El Nino during the 1980s, and the
realisation that much of the world's weather is influenced by
El Nino on seasonal to interannual timescales, has lead to
renewed activity in the field of seasonal to interannual
prediction. Predictability on this timescale is intimately
linked with ability to predict ocean variations, and
its coupling to the atmosphere. Two developments in
particular have led to a realisation that skilful
operational seasonal prediction will be feasible: the development
of realistic coupled ocean/atmosphere models, and the
improving ability to measure the upper ocean, using both
enhanced in situ observations, and remotely sensed
measurements.
The research programme on seasonal to interannual prediction at
ECMWF is concentrating on three basic objectives.
1. Quantify the predictability of seasonal mean atmospheric
variability, over Europe and regions where there may be
European interest, based on atmospheric model integrations
with prescribed observed sea surface- temperature (SST).
2. Develop a fully coupled ocean atmosphere model and ocean data
assimilation system to the stage where real) time seasonal
forecasting is possible.
3. Test the coupled system in hindcast mode over cases in the
1980s and 1990s.
The developments at ECMWF are part of a larger European programme
on research on seasonal to interannual forecasting. Much of
this activity is being coordinated through a 3 year European
Union project (which began in March 1996)
Prediction Of climate Variations On Seasonal to
interannual Timescales (PROVOST). In the initial phase
of PROVOST, much of the coordinated experimentation is
being devoted to the first objective outlined above,
with four groups performing integrations and analyses.
The principal scientific basis for seasonal prediction in the
atmosphere is that lower boundary anomalies,
associated principally with SST but also with land-surface
effects, are at least partially predictable on time scales
significantly longer than that of daily weather. Moreover, even
though the atmosphere is chaotic, these lower boundary
anomalies can have a significant impact on atmospheric
variability (changing, for example, the statistical
probability of blocking over a given region of the
atmosphere).
The impact of lower boundary forcing on atmospheric variability
is, however, dependent on position, season and the strength of
the boundary anomalies. The purpose of the first component of
the ECMWF (and PROVOST) research programme, is to
quantify this dependence more explicitly. In order to do this,
ensemble integrations of atmospheric GCMs and NWP models have
been run over seasonal time scales with the observed
prescribed SST. Four different modelling groups (with four
different models) are taking part in this project: ECMWF (IFS
T63L31 cy13r4), Meteo France (M-F) (ARPEGE T42L31 cycle
12d), Electricite de France (EDF) (ARPEGE T63L31 cycle
12d), UK Meteorological Office
(UKMO) (Unified Model, 2.5x3.75 L19, version 3.4). Each ensemble
is 120 days long and consists of 9 members, started
from consecutive 12z analyses. The integrations are being run
over the ECMWF reanalysis period (1979-1993) using reanalysis
as initial conditions and observed SSTs taken from the reanalysis
project. These SSTs are based on the UKMO GISST analyses
until October 1981, and on Reynolds OI analyses after this
date.
In addition to their use as intial data, reanalysis is used to
verify the ensemble integrations. The set of CDs being developed
contains data from ECMWF ensemble integrations. It provides
cost efficient data access to exploit the potential of
seasonal ensemble simulations by the wider community of
researchers in predictability, particularly those from developing
countries.
Results from the ECMWF ensembles simulations for Winter, Spring,
Summer and Autumn are included in the four CDs. All CDs contain
25 10-day mean fields for each ensemble member,
started from consecutive 12 z analyses immediately preceding the
season of interest. That is 1 December for the Winter season,
1 March for Spring, 1 June for Summer and 1 September for Autumn.
Ensemble member 10 contains 10-day means over 24h forecasts based
on reanalysis to
attain consistent fields well comparable to the ensemble forecast
data. The difference between 24h forecast and reanalysis
is negligable for the purpose of this project.
Although moderate in-house and independent checking has been
performed on the data contained on the CD-ROMs, it is possible
that errors may still exist. Users can be appraised of errors
found after the release of the CD-ROMs by monitoring the ECMWF
home page:
http://www.ecmwf.int
and select the 'corrspondence with the web manager' button. In
addition, watch for further developments regarding interactive
communication via the ECMWF home page for exchanging information
about problems, etc. on these CD-ROMs.
ACKNOWLEDGMENTS:
This project was funded in part by the Commission of the European
Union under contract EV5C - CT93 - 0279 (short-term climate
variability). We greatly acknowledge the developers of
Grads, wgrib and gribsimp for letting us make such
generous use of their developments for this project.
DISCLAIMER:
For your future reference a copy of this On-Screen Licence
Agreement will be accessible after you install the Software. If
you have any questions regarding this agreement or if you wish to
request any information from ECMWF please use the address
information enclosed in this product to write to the Director,
ECMWF, Shinfield Park, Reading, RG2 9AX, UK.
Please read this carefully ==========================
(i) THIS IS A CONTRACT BETWEEN YOU AND THE EUROPEAN CENTRE FOR
MEDIUM-RANGE WEATHER FORECASTS ("ECMWF"). BY SELECTING THE ICON
BELOW TITLED "ACCEPT" YOU ACCEPT ALL THE TERMS AND CONDITIONS OF
THIS AGREEMENT. If you do not agree with the terms and conditions
of this Agreement, select the icon titled "NOT ACCEPT" and you
will not be able to use the Software. In that case, please return
this product to the location where you obtained it or ECMWF. If
you cannot understand this licence or do not think this licence
applies to you then please return this product to the location
where you obtained it.
(ii) This ECWMF On-Screen Licence Agreement accompanies a single
copy of the ECMWF Ensemble Forecast CD-ROM and various data and
program files ("Software") owned by the Centre for Ocean Land
Atmosphere Studies, Research Data Systems Corporation, Naval
Research Laboratory Marine Meteorology Division and the European
Centre for Medium-Range Weather Forecasts ("Suppliers"), as well
as related explanatory written materials ("Documentation"). The
term "Software" shall also include any upgrades, modified
versions, updates, additions, and copies of the Software licensed
to you by ECMWF or third parties.
(iii) THIS IS A LICENCE AGREEMENT AND NOT AN AGREEMENT FOR SALE.
ECMWF continues to own the copy of the Software contained in this
package, the Documentation and the physical media on which the
Software and Documentation are supplied to you.
ECMWF grants to you a non-exclusive licence to use the Software
and Documentation, provided that you agree to the following:
1. Use of the Software. You may -
* Install the Software from the CD-ROM on a closed network server
on a single location on a hard disk or other storage device that
is not accessible over an open network.
* Use the Software to provide an insight into potential
predictability with seasonal ensembles.
* Make one backup copy of the Software, provided no other copy is
installed or used on any computer. The backup copy of the
Software may not be used if the supplied copy of the Software can
be used.
2. Decompilation of the Software
You agree not to reverse engineer, decompile, disassemble or
otherwise attempt to discover the source code of the Software
except as expressly permitted by law.
3. Copyright.
All title and copyrights in and to the Software, the
Documentation, and any copies of the Software or Documentation,
are owned by ECMWF or its suppliers. The Software and
Documentation is protected by copyright laws and international
treaty provisions. You may not copy the Documentation. Except as
stated in this Agreement, ECMWF does not grant you any
intellectual property rights in the Software and Documentation.
4. Confidential Information
The structure, organisation and code of the Software are
confidential information of ECMWF and its suppliers. You
undertake to treat as confidential all information contained in
the program.
5. Transfer
You may not rent, lease, sublicense, or lend the Software or
Documentation.
6. General Provisions
If any part of this Agreement is found void and unenforceable, it
will not affect the validity of the balance of the Agreement,
which shall remain valid and enforceable according to its terms.
This Agreement may only be modified in writing signed by an
authorised officer of ECMWF. This is the entire agreement
between ECMWF and you relating to the Software and the
Documentation and it supersedes any prior representations,
discussions, undertakings, end-user licence agreements,
communications or advertising relating to the Software and the
Documentation. This shall not prejudice the statutory rights of
any party dealing as a consumer.
7. Limited Warranty
If the Software does not perform substantially in accordance with
the Documentation, the entire and exclusive liability of ECMWF
and its suppliers, and your exclusive remedy shall be limited to
the replacement of the original Software and Documentation.
ECMWF AND ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE
OR RESULTS YOU MAY OBTAIN BY USING THE SOFTWARE OR DOCUMENTATION.
CLAUSE 7 STATES THE SOLE AND EXCLUSIVE REMEDIES FOR ECMWF'S OR
ITS SUPPLIERS' BREACH OF WARRANTY. EXCEPT FOR THE FOREGOING
LIMITED WARRANTY, AND FOR ANY WARRANTY WHICH CANNOT BE EXCLUDED
BY COMPULSORY LAW IN THE UNITED KINGDOM, ECMWF AND ITS SUPPLIERS
MAKE NO WARRANTIES OR CONDITIONS, EXPRESS OR IMPLIED, AS TO NON-
INFRINGEMENT OF THIRD PARTY RIGHTS, MERCHANTABILITY, SATISFACTORY
QUALITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL
ECMWF OR ITS SUPPLIERS BE LIABLE TO YOU FOR ANY DAMAGES
WHATSOEVER ARISING OUT OF THE USE OR INABILITY TO USE THE
SOFTWARE EVEN IF AN ECMWF REPRESENTATIVE HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY THIRD PARTY.
Nothing contained in this Agreement shall prejudice the statutory
rights of any party dealing as a consumer. Nothing contained in
this Agreement limits ECMWF's liability to you in the event of
death or personal injury resulting from ECMWF's negligence.
ECMWF is acting on behalf of its suppliers for the purpose of
disclaiming, excluding and/or restricting obligations, warranties
and liability as provided in this Clause 7, but in no other
respects and for no other purpose.
8. Disputes
This Clause, Agreement and all disputes arising under this
Agreement shall be governed by and construed in accordance with
English law including its rules on the conflict of laws. In the
event that any dispute cannot be settled, it shall be finally
settled under the Rules of Conciliation and Arbitration of the
International Chamber of Commerce by three arbitrators appointed
in accordance with the said Rules. In accordance with Section 3
of the Arbitration Act 1979, the right of appeal by either party
to the High Court of England under Section 1 of that Act shall be
excluded in relation to any award of such arbitrators and neither
party shall have the right to apply to the High Court under
Section 2(1)(a) of that Act for the determination of any question
of law arising in the course of the reference to arbitration.
Unless otherwise agreed in writing, the arbitrators shall sit in
England.
Read the files grads/cpyright, decoder/gribsimp/disclai,
decoder/wgrib/readme and decoder/gribex/readme.
II. CD-ROM DESCRIPTION
------ -----------
The 4 CD-ROMs contain selected fields for the Winter season DJFM,
Spring MAMJ, Summer JJAS and Autumn SOND of the period 1979
through 1993. The following 10 day mean fields (twelve for each
120 day season for each of the 15 years) are included:
- Geopotential on levels 700, 500 and 200 hPa (z), 12 bit,
- Temperature on 850, 500 and 200 hPa (t), 11 bit,
- U- and V-Windcomponents on 850 and 200 hPa (u,v), 11 bit,
- Vertical Velocity on 500 hPa (w), 12 bit,
- soil-moisture content in the first layer (7cm) of the soil model
used (swl1), 11 bit,
- snow depth (sd), 11 bit,
- precipitation (large scale plus convectiv)(tp), 11 bit,
- surface sensible heatflux (sshf), 12 bit,
- surface latent heatflux (slhf), 12 bit,
- mean sea level pressure (msl), 11 bit,
- total cloud cover (tcc), 7 bit,
- surface solar radiation (ssr), 12 bit,
- surface thermal radiation (str), 12 bit,
- top thermap radiation (ttr), 12 bit,
- surface windstress components (ewss, nsss), 11 bit,
- minimum temperature at 2m (mn2t), 11 bit,
- maximum temperature at 2m (mx2t). 11 bit,
- surface temperature (stl1, Member 10 (reanalysis) only). 11 bit,
- land-sea mask (lsm, under "season" (winter, spring, summer or
autumn, 1 file only) 4 bit,
All of the fields on these CD-ROMs have been converted to a
uniform 2.5 degree resolution latitude-longitude grid (144 by
73 grid points), oriented from the South Pole (j=1) to the
North Pole (j=73), and from Greenwich (i=1) eastward to 2.5W
(i=144). The number of bits (NOB) per data value determines the
data value accuracy A. A = ( Maximum value - Minimum value )
/ 2 ** NOB E.g.: Total cloud cover: A = ( 100 -
0 ) / 2 ** 7 == 0.78125 .Furthermore
the Gridded Analysis and Display System (GrADS) is provided
on all CDs and Grib-decoding tools are provided on the Winter CD.
IV. CONTENTS and DIRECTORY STRUCTURE
All of the data on the CD-ROMs are stored in GRIdded Binary
("GRIB") which is a packed binary format and is thus not
directly readable. However, two sets of simple yet powerful
software packages are included on the CD-ROM. The first allows
users to view and manipulate the data and the second set allows
users to unpack the data so that users can import the data into
their own application software. These software packages are the
Gridded Analysis and Display System "GrADS", discussed in Section
V "Grads" and three independently developed Grib decoders,
discussed in the README files under the directories "decoder/
wgrib", "decoder/gribsimp" and "decoder/gribex" respectively. For
more information about GRIB, see files "WGRIBDOC.TXT (ASCII) or
"WGRIBDOC.PS" (PostScript).
Figure 1. Directory structure:
(winter,
summer, / ensemb (1 - 14/15) / member (1 - 10) / ---- gz(date)
spring, |- geop.gpm
autumn ) |- geop.ctl
grads / --- dos grads |- ta(date)
|- linux / linux grads |- temp.gpm
`- windows / grads meta file viewer |- temp.ctl
|- wi(date)
decoder / ---- gribex / ecmwf grib decoder |- wind.gpm
(only on | |- wind.ctl
Winter CD) |- gribsimp / saic grib decoder |- sf(date)
| |- surf.gpm
`- wgrib / ncep grib decoder `- surf.ctl
paper / era documentation
cd rom documentation
html / html documentation on the CDs
There are five main "root-level" directories on the
CD-ROM. The names and descriptions of their contents follow:
1. "season" (spring, summer, autumn or winter)/ ensemb(1-15)
contains the 15-year ensemble directories (1979
through 1993).
/ ensemb(1-15) / member(1-10)
each ensemble directory contains nine
ensemble members plus the reanalysis fields as
member 10.
- each member directory contains the twelve 10-day
means of the 25 fields in four gribfiles named :
gzyymmdd contains Z on 700, 500 and 200 hPa
and W on 500 hPa
tayymmdd contains T on 850, 500 and 200 hPa
wiyymmdd contains U,V on 850 and 200 hPa
and sfyymmdd contains surface data (see above)
ending with a date. The yy stands for (78 + ensemble),
the dd stands for (21 + member), and the
mm stands for 02 for the Spring, 05 for Summer, 08 for
Autumn and 11 for
the Winter season. This date is the starting date of the
simulation. The members of each ensemble differ in so far,
that they were started 10 - (member) days before the start
if the forecasted period ( 1st March, 1st June and 1st
December). Member 1 of the Winter season for example was
started at Nov. 22nd, Member 2 was started at Nov. 23 etc,
until Member 9 wasstarted Nov. 30th. The length of the
forecast is variable, depending on the initial date. They
were run from the initial date until the end of the season.
Member 10 contains the means over 10 24hour forcasts based on
the reanalysis fields from the ERA project. The files ending
*.ctl and *.gmp are required for the analysis and display
tool grads.
2. grads - contains the Gridded Analysis and Display System
(GrADS) information and software. This software, which was
developed by Brian Doty of the Center for Ocean Land
Atmosphere studies (COLA) of Calverton, MD, is an easy-to-use
and powerful system to display and manipulate the data on
these CD-ROMs. Once installed, users need only invoke a few
simple commands to display data. GrADS also reads GRIB data
directly.
grads / linux contains the linux version of grads.
3. decoder (only on Winter CD) - contains:
wgrib - contains information and software for "wgrib", which
is a powerful grib decoder developed by Wesley Ebisuzaki
of Research Data Systems Corporation.
gribsimp - contains information and software for "gribsimp",
which is another grib decoder package developed at the Naval
Research Laboratory (NRL), Monterey, CA.
gribex - contains information and software for "gribex",
which is ECMWF own grib de- and encoder package.
4. paper - era.ps, that gives some backgroud on the reanalysis
project at ECMWF.
5. html - contains:
documentation of the CDs in html format. Point your internet
browser to html/seasforc.html.
2222222222222222222222222222222222222222222222222222222222222222
PC GrADS
PC-GrADS is included on this CD-ROM (grads.exe). Versions of
GrADS for other platforms can be obtained from the GrADS home
page:
http://grads.iges.org/grads/head.html
1. INSTALLATION
Execute 'start' followed by the CD-ROM device assignment.
EXAMPLE: d:start d:
{assuming device d: is assigned to the CD-ROM}
-----------------------------------------------------------------
Problems running START.BAT
1) A common problem is that PATH is limited to 128 characters.
If the PATH is longer than roughly 106 characters then
START.BAT
cannot include GrADS on the path. The path must be shortened
(in the AUTOEXEC.BAT).
2) The next most common problem is "OUT OF ENVIRONMENT SPACE".
START.BAT needs to set two environment variables (gaddir,
gascrp), which GrADS uses to find the font, map and script
files.
In windows, the size of the environment space is controlled in
the system.ini file (usually c:\windows\system.ini).The
following sets the environment space to 1024 bytes:
[NonWindowsApp] (find this section)
... (other configuration parameters)
CommandEnvSize=1024 (change/insert this line)
In MS-DOS, the following line in your CONFIG.SYS sets the
environment space to 1024 bytes,
SHELL=C:\DOS\COMMAND.COM /P /E:1024
3) The next most common problem is a corrupted PATH (with
lengths less than 128 characters) such as
C:\DOS;C:\WINDOWS;;E:\PROGRAMS\PCGRADS
^^
The PATH should only have one semicolon separating the second
and third directories. You need to modify your AUTOEXEC.BAT.
3333333333333333333333333333333333333333333333333333333333333333
Notes about the demo (ecmwf.bat, ecmwf.gs, season.gs, exampl.gs
animatio.gs and emmean.gs)
1) To run the demo from MS-DOS, go to the root directory of the
cd-rom and type ecmwf, e.g.
e: (e: is the cd-rom in our example) ecmwf
2) The demo will work on some UNIX machines. cd to the grads
directory and run grads,
cd /cdrom/grads
grads -lc "run ecmwf.gs"
If grads is installed, the path is set correctly, and you can
use the .ctl files, then you should be able to see the demo.
No promises.
3) The ecmwf.gs calls season.gs, animatio.gs, emmean.gs and
exampl.gs. The latter four scripts can be run independently.
You could type
grads -lc "run season.gs"
from the grads directory.
4) Customizing the 'ecmwf' demonstrator. Of course, you can't
write to the
ensemble CD-Rom; however, you can copy ecmwf.gs, season.gs,
animatio.gs, emmean.gs and exampl.gs
to your hard drive and edit those files. The new files will
not work unless you
i) Install GrADS (set path, gaddir, and gascrp). One way to
temporarily install GrADS is to run start.bat.
ii) Modify season.gs, emmean.gs, animatio.gs, emmean.gs and
exampl.gs. Change the line,
base='..' to
base='d:' or
base='e:' or
base='f:'
depending on the location of your cd-rom. The change
must be made in all five files.
6) ecmwf.gs, exampl.gs, animatio.gs, emmean.gs and season.gs
were placed in
the grads directory so that the path, gaddir and gascrp need
not be set.
7) The menus don't list all detail about the display options.
exampl.gs:
If you enter under the t (for time) option not only one
number, but two with a blank in between, you can get a kind
of pseudo animation of the display. It makes the script
display all data for valid times between the first and the
second number given. (Doesn't allways look good)
The p (print) option stores to a file named expl(N)_(M).gmf
the latest display in grads meta file format. N here stands
for the example number (1-9) and M is a number added to the
file name unique for each single session with running the
ecmwf demo. Once you quit the demo, make sure, you convert the
files you want to keep to ps and rename them, because in a
future session with the demo, you could overwrite these plot
output files easily.
Look out for lines beginning with a *Unix (commenting out OS
dependencies) in exampl.gs and animatio.gs. If you are running
Unix, uncomment those lines.
season.gs:
You can click with the mouse into the global display while
running season.gs (or option 1.) out of ecmwf.gs) and get a
zoomed window of about 70 times 120 Degrees, located arround
0.N,0.E. You can move this window to your area of interest by
clicking again anywhere in the window. This point becomes the
center of the next display. If you klick north or south of 70
degrees, the projection switches to polar stereographic. To
come back to standard latlon, klick anywhere equatorwards of
50 Degrees. The little icon in the upper right of your Grads
graphics window changes from "G" for global to "Z" for zoomed
or "N" north polar stereographic or "S" for south polar
stereographic. Click here, if you want to revert from zoomed
to a global display.
In the upper left hand corner, you find three icons with their
function described as follows:
The top most button allows the display of the difference
(simulation - Era data).
The button in the middle allows to display the ensemble mean
and the ensemble variance. (var = (1/(n-1) times Sum over n
( ( ensemble member - ensemble mean ) square) exp 1/2)
The lowest button allows to display all ensemble members and
the Era data as member 10.
Interaction with the screen (mouse clicks) have no meaning
for MS-Dos.
4444444444444444444444444444444444444444444444444444444444444444
G R I B E X
E.C.M.W.F. Grib decoder
Bernd Dieter Becker.
This is the ECMWF grib de- and encoder for a little endian
computer. It is the same code as run on big endian computers,
but each input Grib message is byteswapped before decoding.
If you want gribex to run on a bigendian computer, comment out
all calls to the byte swapping routine SWAP32 in the main program
agrdemo.f.
Documentation can be found in the files agrdemo.f and gribex.f
and in Meteorological bulletin M1.9/3 "Encoding and decoding GRIB
data" by John Chambers available in Postscript file gribex.ps.
Please read the disclaimer in the file decoder/gribex/readme.
To build gribex on your unix system, do:
gunzip and detar the file gribex.tgz
issue the following five commands
g77 -c *.f (or f77 -c *.f or f2c -c *.f)
gcc -c *.c
ar -r grexlib.a *.o
g77 -o gribex agrdemo.o grexlib.a
gribex
or run the Makefile and take it from there. Create a directory
/tables and move the files local_table_2_version_128 and
local_table_2_version_129 there. / denotes the very top of
your directory tree. Ask Systems people to do it for you, should
you not have root permission.
The file dogri.zip contains the winzip archive of all files to
build gribex under the Microsoft Fortran Powerstation 4. The
build commands are :
cl /c *.c
fl32 *.f *.obj
move *.exe gribex.exe
the tables directory shall reside on drive c: (hardcoded in
local2.f). This gribex.exe only runs under Windows 95 and is not
compatible with older versions of dos.
The one line (default) output is a concatenation of F: No. of
field : byte position in the message : start Date : start Time :
Parameter : Level : target Date : target Time as a descriptor of
each individual gribfield in the gribmessage. Do not use wildcards
in the input filenames in Dos.
Example: F 14: 201132:841126:120000:228: 0:841201:120000
gribex -i inputfile name
-o outputfile name
-O requested operation :
B, decode 8-bit data without rescaling, eg satellite
or image data.
D (default), Decode data from Grib code. If pseudo-
Grib is encountered, the return code is set to -6.
G, Special decoding for graphics purposes.
I, Decode only Sections 0, 1 and 2 of Grib data.
L, Returns the length of the Grib message and the Grib
edition number only.
R, decode data from Grib code and, if a quasi-regular
(reduced) grid is encountered, convert it to a
regular grid.
S, Decode initialised analysis data from Grib code and
set the time range indicator flag.
X, Extract data values from up to 4 points from a Grib
coded grid field, without unpacking data at other
points.
Z Decode data from Grib code. If a bitmap is
encountered, the return code is -5.
Further more, but requiring code changes in agrdemo.f ( the main
program ), are available:
A encode 8-bit data without rescaling, eg satellite
or image data.
C encode data into Grib ( with or without bitmaps ).
M encode data into Grib and, if a bitmap is
encountered, make Grib message full length.
(see the manual for details)
-d dump record number
-l dump controlled by list read from stdin (the first
number only is important)
-ascii for formatted output
-bin for unformatted output
-ieee for unformatted output byteswapped and big endian
readable.
-grib for grib output
-v and V for verbose print section 1 and 2 or 1, 2, 3
and 4 plus some data values.
Redirect this output to a file, customize and reuse it as list
input for sorting or chopping of your input file.
Exp.: cat list | gribex -i infile -o outfile -grib -l
The fun comes in, if you do constructs like:
gribex -i infile -O I | grep "item" | gribex -i infile -o
outfile -grib -l -O I
This filters out all matching "items"s from the gribfield
descriptors into a new grib outputfile. Items could be any
item from the gribfield descriptor.
Good Luck!
Bernd Dieter Becker
5555555555555555555555555555555555555555555555555555555555555555
wgrib v1.5.0 Wesley Ebisuzaki
Portable Grib decoder
wgrib is a portable program to read grib files that were
created by the NCEP/NCAR Reanalysis Project.
The full documentation for wgrib is to be found in the file
decoder/wgrib/readme.
Note that wgrib v1.5 makes the "-v" option an inventory and
can "break" codes that used the old format. As a result,
grib2ctl must be at least v0.9.8b. wgrib doesn't handle thinned
grids nor spherical harmonics.
Running wgrib without any arguments displays a short help
message.
wgrib v1.5.0 (7-10-96) Wesley Ebisuzaki
Portable Grib decoder for NMC Reanalysis
it slices, dices
usage: wgrib [grib file] [options]
options:
-v verbose (verbose inventory)
-V even more verbose (not a inventory)
-s short inventory
(default) regular inventory
-d [record number] dump record number
-p [byte position] dump record at position
-i dump controlled by stdin (inventory list)
-text dump will be a text file
-ieee dump will be an ieee file
-grib dump will be a GRIB file
-bin dump will be in binary (default)
-nh dump will have no headers
-h dump will have headers (default)
-append to dump file
-o [file] changes name of dump file from 'dump'
will scan without -d, -p, or -i options
*** Standard Inventory ***
WGRIB's first duty is create an inventory. This inventory also
serves as an index file. Using the test file land.grb you should
be able to enter:
% wgrib land.grb
1:0:d=87010100:LAND:kpds5=81:kpds6=1:kpds7=0:TR=0:P1=0:P2=0:
TimeU=1:sfc:anl:NAve=1
The inventory consists of several fields separated by colons.
The contents of the fields are:
1. Record number
2. Position in bytes
3. Date (YYMMDDHH).
4. Parameter name (LAND=land/sea mask)
5. Indicator of parameter and units (grib PDS octet 9)
6. Type of level/layer (grib PDS octet 10)
7. Height, pressure, etc (grib PDS octets 11-12)
8. Time Range (grib PDS octet 21)
9. Period of time 1, (grib PDS octet 19)
10. Period of time 2, (grib PDS octet 20)
11. Forecast time unit (grib PDS octet 18)
12. level
13. anl=analysis, fcst=forecast
14. NAve (number of grids used to make average)
Tricks for wgrib
------ --- -----
Every once in a while, someone requests that I add some feature
to wgrib. Usually I say no because I'm lazy. I then give the
excuse that feature is already available with a bit of UNIX
trickery.
wgrib v1.5.0 Wesley Ebisuzaki
(1) How do I convert the entire file to binary?
wgrib grib_file | wgrib -i grib_file -o binary_file
(2) How do I get a verbose listing of the 20th record only?
wgrib -V -d 20 grib_file
(2') How about a verbose listing without a dump file?
wgrib -V -d 20 grib_file -o /dev/null
(3) How do I extract the 20th and 30th records?
wgrib grib_file | egrep "(^20:|^30:)" | wgrib -i grib_file -o
binary_file
(4) How do I extract the 500 Heights from a file (grib->grib)?
wgrib -s grib_file | egrep ":UGRD:500 mb:" | wgrib -i -grib
grib_file -o new_grib_file
(5) How do I eliminate the 500 Heights from a file (grib->grib)?
wgrib -s grib_file | egrep -v ":UGRD:500 mb:" | wgrib -i
-grib grib_file -o new_grib_file
(6) How do I extract the winds and temperatures from a file
(grib->grib)?
wgrib -s grib_file | egrep "(:UGRD:|:VGRD:|:TMP:)" | wgrib -i
-grib grib_file -o new_grib_file
(7) How many records does this file have?
wgrib -s grib_file | wc -l
(8) What is the range of values in this file?
wgrib -V grib_file | grep " max "
(9) How do I do a file transpose (rearrange the order) ?
See ts2synoptic. This script could be pared down to 3 lines!
Other file transposes are done in a similar manner and many
only need one line! Unfortunately finding that one line
may require some effort.
(10) My grib file has junk at the end. How do I get rid of it?
wgrib old_gribfile | wgrib old_gribfile -i -grib -o
clean_gribfile
(11) Don't forget that you can 'cat' grib files. That gives you
another tool for making your own tricks.
6666666666666666666666666666666666666666666666666666666666666666
GRIB DECODER v2.2
~~~~~~~~~~~~~~~~~
Developed at Science Applications International
Corporation (SAIC) Monterey, CA
Sponsored by Naval Research Laboratory (NRL), Marine
Meteorology Division Monterey, CA
with funding from the Defense Modeling and Simulation
Office (DMSO) for the Master Environmental Library (MEL)
and Environmental Effects in Distributed Interactive
Simulation (E2DIS) projects.
Developers: Steve Lowe (SAIC)
lowe@nrlmry.navy.mil
Louis Hembree (NRL)
Todd Kienitz (SAIC)
A complete documentation of gribsimp can be found in the file
decoder/gribsimp/readme.
Please read the disclaimer in the file decoder/gribsimp/readme.
1.0 Introduction:
The Gridded Binary (GRIB) format is a standard transfer format
designed by the WMO. It consists of a series of header sections,
followed by a bitstream of packed data. The GRIB format can be
tailored for local use by the definition of extensions, but any
changes to the standard must be backward compatible, so that a
GRIB message can be read by any standard GRIB decoder. In
addition, the GRIB standard allows for the definition of local
tables for many of its parameters, which can then be included
with the message or made available otherwise to users. The
problem is that the GRIB standard does NOT specify a standard
format for these local tables, making it very difficult to
automatically use one center's GRIB decoder for messages encoded
with local tables somewhere else.
The GRIB decoder included here is intended to be used as a
stand-alone program, however it does contain a single call to the
decoding function that could be stripped out and used within
other software. The major drawback to doing this is that the
main program of the decoder takes care of locating one or more
GRIB messages in a single file, indexing messages for subsequent
processing, and performing all table look-ups once decoding is
complete. The decoder FUNCTION expects a pointer to a GRIB
message loaded in memory and returns a set of structures
containing header information, a data array, and a pointer to a
bit map if included. It decodes one message only, and performs
no table look-ups.
This software is not yet a full implementation of GRIB code
edition 1. The decoding function is limited as follows:
1) It can only decode the following grid types:
- Latitude/Longitude (Type 0)
- Mercator (Type 1)
- Lambert Conformal (Type 3)
- Gaussian Latitude/Longitude (Type 4)
- Polar Stereographic (Type 5)
The Spherical Harmonic grid type has not been
implemented yet. Stretched and Rotated Grids can be decoded, but
have not been fully tested and are not included in the printing
module.
2) It can only decode floating point gridded data that
was packed using simple packing. Spherical Harmonic coefficients
and second-order packing is not yet supported.
3) Bitmaps are now supported, but there is no logic built
in to handle a predefined bitmap (one that is not included in the
message). If a message is encountered with a predefined bitmap,
the program issues a warning but is allowed to proceed. However,
without the bitmap applied, the data in the message can not be
properly assigned to the specified grid.
A) Installation:
The Version 2.2 software has been organized into the following
directories:
gribsimp--+ |- bin : Executable software
|- data : Sample data file and output logs
|- doc : This README file and CHANGES_v2.2
|- include : Required include files
|- src : All source code and makefiles
|- tables : Decoder tables and table.cfg file
The makefile included in the TAR should take care of compiling
and linking all source code for program gribsimp. The only
machine dependent parameter is NBITSW, which is defined at the
top of function gbyte.c. It specifies the number of bits per
word on your machine, and is set to 32. The external tables are
located in the subdirectory "tables". You must redefine the
TABLES_PATH variable at the top of gribsimp.c to reflect the
correct path to the tables. It is recommended you use an
absolute path to the tables so that you can include the
./gribsimp/bin directory in your PATH environment variable and
run gribsimp from any location.
The makefile uses the "cc" command to compile the code. If
you have a different C compiler, you just need to change the CC
definition in Makefile. THIS SOFTWARE IS WRITTEN IN ANSI C.
To produce the executable "gribsimp", go to ./src and type
"make" at the prompt.
B) Program control:
The command line syntax for gribsimp is as follows:
gribsimp -i infile -o outfile [-b] [-D] [-d] [-s table_file] [-t]
[-v] [-I index_file] [-X index_file] [-debug]
-i : flag for input GRIB file, specified by 'infile' 'infile' can
contain one or more messages TAR'd or concatenaeted together,
with or without headers between messages.
-o : flag to produce output data file(s), in 32-bit
unformatted binary.
-b : do not apply the Bit Map Section to the data.
-d : printing flag; creates GRIB.log which contains all
header information and the first 100 data points.
-D : same as -d but performs table look-ups as appropriate
-s : set user defined table explicitly (only used with -D)
-t : use GRIB standard table (overides -s, only used
with -D)
-I : generate an index file of GRIB messages in 'infile',
called 'index_file'
-X : decode only those messages in 'infile' that are
listed in 'index_file'
-v : echos version information
-debug : prints debug information to stdout as each
message is being processed. Very useful for
shaking out problems with new messages.
NOTES:
- You MUST use the -i flag to do any decoding.
- The -o flag is optional, but this is the only way to get
all the data in the message; (without editing source code).
- The -t flag overides any table specified by -s
- Using -I and -X together makes no sense. You must first use
-I to create an index file; then use -X to use that index
file as input to the decoder. (see example below)
C) The index file
Using the -I flag will generate an index file of all the
messages in the input file. Each line of the index file refers
to one distinct message. This file is meant to be edited by just
deleting the lines for messages you don't want to decode.
For dos users: put the table g1tab_98_128.0 into directory
c:\Gribsimp\tables or change the table_path in gribsimp.c
accordingly before you recompile. This gribsimp.exe was compiled
with the gcc gnu c-compiler under windows 3.1. Run gribsimp
in windows. (otherwise you don't have DPMI loaded). The output
file name for binary files is not unique! It had to be
redeced to: F{month}{day}{level}.{parameter} Fmmddlev.par
Bernd Dieter Becker.