315 lines
17 KiB
Text
315 lines
17 KiB
Text
v1.8.3 5/23 ECMWF introduced a new ec_stream (1122). This stream uses the same
|
|
convention as 1033 and 1035 for denoting the perturbation number.
|
|
thanks S Villaume (ECMWF)
|
|
v1.8.2 3/17 old code only checked grib header (Sec 0) to find grib message, assumed
|
|
grib message is valid. new code will reject grib message (no error message)
|
|
if the message wants to be bigger than the message length. This fixes
|
|
problems with ECMWF mixed grib1+grib2 files. Some of their files included
|
|
a grib1 Sec 0 which was not part of a grib1 message.
|
|
v1.8.1.2e 7/15 internal release
|
|
7/15 removed from pds4.h: #define PDS_EcNoFcst(pds) (pds[50]), no affect on code
|
|
7/15 various code/.h files: removed warnings about prototypes and initialization
|
|
no affect on the code
|
|
v1.8.1.2e beta1 9/2014 added pertbation no. for ECMWF stream 1033 (hindcast)
|
|
v1.8.1.2d 4/14 updated ncep table 130, 131
|
|
v1.8.1.2c 9/13 added JMA levels 211, 212 and 213 for JRA-55
|
|
v1.8.1.2b 9/13 added JMA table 200 for JRA-55
|
|
10/11 added fflush(dump_file) and fflush(stdout), enhancement for potential apps
|
|
v1.8.1.1 6/11 changes from Jeffery S Smith for Albers equal area projection
|
|
v1.8.1.0h 5/11 seekgrib: scan entire file for grib data because ECMWF files have grib1+grib2 data
|
|
v1.8.1.0g 5/11 Paul Schou: fixed #define GDS_Lambert_LonSP(gds) INT3(gds[37],gds[38],gds[39])
|
|
v1.8.1.0f 3/11 update ncep table 129, 130, 133
|
|
v1.8.1.0e 10/10 moved int ec_large and len_ec_bds to seek_grib.c
|
|
helped people who just call subroutines, suggested by P. Tran
|
|
v1.8.1.0d 9/10 changed add_time: old: 1month + Jan31 returns Feb31, now returns Feb 28/29
|
|
v1.8.1.0c 7/10 Updated ncep table 130
|
|
v1.8.1.0b 5/10 PDStimes .. decided to remove normalize minutes to hours, make time units consistent in inv
|
|
v1.8.1.0 5/10 PDStimes .. if time_range == 10 and time_unit == 0 (minute) .. normalize to hour only
|
|
occurs when (time/256 % 60) == 0 && ((time % 256) % 60) == 0 rather than (time % 60 == 0)
|
|
v1.8.0.13g 5/10 changed decl of pos so error message wont appear on AIX
|
|
v1.8.0.13f 3/10 added code from Brian Doty for large ECMWF files
|
|
v1.8.0.13e 2/10 added level 216/217/239/241
|
|
updated nceptab 128, 129
|
|
9/09 warning message if grib2 message encountered
|
|
v1.8.0.13d 9/09 added ncep table 141, fixed typo in ncep table 129 (thanks YT)
|
|
v1.8.0.13c 6/09 Dusan Jovic's changes for Arakawa staggered b-grid (205)
|
|
v1.8.0.13b 6/09 updated ncep table 129
|
|
v1.8.0.13a 5/09 added SUNSD ncep table 133
|
|
v1.8.0.13 5/09 added -cmc by NCO request, updated ncep table 129
|
|
v1.8.0.12z: 4/09 updated/added ectables: 128, 129, 131, 132, 133, 140, 150,
|
|
151, 160, 162, 170, 171, 173, 174, 180, 190, 200, 210, 211, 228
|
|
v1.8.0.12y: 3/09 added #include <stdlib.h> to BDSunpk.c (Lulin Song)
|
|
fix: bit 1 table 7 doesn't apply to lambert conformal
|
|
v1.8.0.12x: 11/08 make center LAMI point to DWD tables (Davide Sacchetti) (removed)
|
|
v1.8.0.12w: 9/08 (preliminary) MDL table
|
|
v1.8.0.12v: 8/08 polar & lambert conformal grid: dx/dy now respect bit 1 of resolution flag
|
|
v1.8.0.12u: 4/08 update time ranges for CFSRR
|
|
v1.8.0.12t: 3/08 update table ncep table 129, fix ncep table 133, #205
|
|
v1.8.0.12s: 1/08 update ncep table 133 (CFSRR)
|
|
v1.8.0.12r: 12/07 update ncep table 133 (CFSRR)
|
|
v1.8.0.12q: 11/07 update ecmwf table 128
|
|
v1.8.0.12p: 10/07 update ncep table 129, 130, add ncep table 140
|
|
v1.8.0.12o: 5/07 update ncep table 129
|
|
v1.8.0.12n: 3/07 name change DH->VEDH (ncep table 129), update ncep table 129, 130
|
|
updated levels table to current on388
|
|
updated levels table to current on388
|
|
v1.8.0.12m: 3/07 added FAST_GRIBTAB compile option, support for updates in user defined grib tables
|
|
v1.8.0.12l: 3/07 minor table change ncep 129 (lat/lon of u, v and p points)
|
|
v1.8.0.12k: 2/07 stdin 2000 characters now
|
|
v1.8.0.12j: 2/07 level 210 corresponds to WMO standard for non-NCEP files
|
|
v1.8.0.12i: 12/06 ncep table 128 entry 186 K->C
|
|
v1.8.0.12h: 9/06 can figure out the nxny of complex packed files, still no support for decoding
|
|
so you can manipulate ec-spectral files but can't decode them
|
|
v1.8.0.12g: 8/06 more ncep ensemble information
|
|
v1.8.0.12f: 8/06 more ncep ensemble information stddev/wtd mean
|
|
v1.8.0.12e: 8/06 level 20: T=280K, added verbose parameter, revised level 113
|
|
v1.8.0.12d: 8/06 added marine branch table 128 (extremely revised)
|
|
v1.8.0.12c: 8/06 level 20
|
|
v1.8.0.12b: 7/06 update ncep tab 129, remove ncep tab 128 .. need new table, minor fixes
|
|
v1.8.0.12a: 6/06 replace error message - complex packing spectral files
|
|
v1.8.0.12: 5/06 update thinned gaussian grid info for grib2ctl.pl
|
|
v1.8.0.11: 5/06 flag bad read_grib calls
|
|
v1.8.0.10c: 1/06 fix the 1/3/05 additions to PDStimes, H. Frank
|
|
v1.8.0.10b: 1/06 add new (204, 205) and updated DWD tables H. Frank, 10-19-2005
|
|
v1.8.0.10a: 12/05 add ectable 172 from Geert Jan van Oldenborgh (KNMI)
|
|
v1.8.0.10: 9/05 fix gribtable.c
|
|
v1.8.0.9m1: 9/05 put copyright info in wgrib_main.c and wgrib.c
|
|
v1.8.0.9m: 8/05 add time range 6 and 7, updated add_time code
|
|
v1.8.0.9l: 5/05 update ncep 129 table, new levels done by D. Stokes
|
|
v1.8.0.9k: 4/05 ec table 190, more ec diagnostics (ec_ext)
|
|
v1.8.0.9j: 4/05 minor comment changes in ncep table 131 (RR)
|
|
v1.8.0.9i: 12/04 fixed typo introduced 11/04 (table 129, entry 192)
|
|
v1.8.0.9h: 11/04 updated table ncep-129 (strange entry)
|
|
v1.8.0.9g: 9/04 fix if (gds && GDS_Harmonic_type(gds) == 1)
|
|
found by Graziano Giuliani
|
|
v1.8.0.9f: 8/04 added ecmwf table 151
|
|
v1.8.0.9e: 8/04 changes of CFS time ranges
|
|
v1.8.0.9d: 7/04 fixed reanal grib table NLON -> ELON
|
|
v1.8.0.9c: 6/04 chaged UVI defn ncep opn table
|
|
v1.8.0.9b: 6/04 added table 132 (global reanalysis)
|
|
v1.8.0.9a: 6/04 updated table 129,130
|
|
v1.8.0.9: 5/04 added new time codes 132-135, changed time code 51 (clim)
|
|
v1.8.0.8: 4/04 added -ncep_ens option
|
|
v1.8.0.7e: 3/04 multiple user tables (fix open)
|
|
v1.8.0.7d: 3/04 extern minute -> extern int minute
|
|
v1.8.0.7c: 3/04 for clim (51) don't print 'anl'
|
|
v1.8.0.7b: 2/04 update NCEP grib table 129
|
|
v1.8.0.7a: 11/03 update NCEP grib table 131
|
|
v1.8.0.7: 10/03 Mods fron Norwegian Meteorological Institute
|
|
fixed ec table 131, and enhansed ex_ext.c
|
|
v1.8.0.6: 9/03 added time codes 128-131 (for RR)
|
|
v1.8.0.5: 9/03 fix scan mode and change format
|
|
v1.8.0.4: 9/03 new dwd tables and -dwdgrib option (thanks to Helmut P. Frank)
|
|
updated formats_update.txt for -dwdgrib option
|
|
v1.8.0.3k: 7/03 fixed N/S vs grid wind diagnostic with -v option
|
|
found by Dusan Jovic
|
|
v1.8.0.3j: 6/03 fixed level 206 (was 205)
|
|
v1.8.0.3i: 5/03 updated ncep table 131
|
|
v1.8.0.3h: 5/03 updated ncep table 131
|
|
v1.8.0.3g: 4/03 ecmwf table 128, 140 (names from ECMWF web site), updated 131
|
|
v1.8.0.3f: 4/03 updated ncep131, ncep130, ncep-opn
|
|
v1.8.0.3e: 3/03 fix level 141, update tables 130 and 131
|
|
v1.8.0.3d: 2/03 added prelim ncep grib tables 130 and 131
|
|
v1.8.0.3c: 1/03 Reanalysis Project updates: scan mode in english,
|
|
grid vs NS winds, and dusan.jovic@noaa.gov: ss2dEGRID support
|
|
v1.8.0.3b: 1/03 minor update: changed units of CICE in NCEP tables
|
|
v1.8.0.3a: 11/02 update ncep_opn and add ncep_129 table
|
|
v1.8.0.3: 10/02 update levels and ncep_opn grib table
|
|
v1.8.0.2: 10/02 check gds before grib_check, redid level 117
|
|
v1.8.0.1: 10/02 added cptec gribtable 254
|
|
v1.8: 4/1/02: Decode of simple packed spectral data and some cleanup of the
|
|
triangular grid (Luis Kornblueh, Max-Plank Institute of Meteorology)
|
|
v1.7.4.1a 12/01: added new entry to OMB grib table (REV)
|
|
v1.7.4.1 12/01: D. Haalman (METEO SERVICE weather research GmbH)
|
|
rewrote seekgrib.c
|
|
v1.7.4 10/01: Merged changes made by Helmut P. Frank (DWD) to current
|
|
source code. This adds DWD tables 1, 201, 202, and 203
|
|
as well as support for triangular grids based on an icosahedron
|
|
1.7.3.6: 5/01: added fractional mb, center to levels.c
|
|
1.7.3.5: 2/01: Handle grib files with precision greater than 31 bits
|
|
1.7.3.4a: 9/00: check for missing grib file
|
|
1.7.3.4: 8/00: polar stereo + lambert, always print direction increments
|
|
1.7.3.2: 6/00: undefined direction increments set to zero on -V output
|
|
1.7.3.1: 8/99: added new levels
|
|
1.7.3: 5/99: updated NCEP opn grib table
|
|
1.7.2: 5/99: fixed fictious error message with thinned grids and bitmaps
|
|
1.7.1: 2/99: fixed error in wrtieee_header affects only -H option
|
|
1.7.0b7: 1/99: preliminary support for NCEP ensembles
|
|
1.7.0b6: 1/99: changed "x12 hours" format to "hr" format
|
|
1.7.0b5: 1/99: fixed 3/6/12 hour forecast time units
|
|
1.7.0b4 11/98: updated (128,160) and new (129,130,131,140,150,170,180)
|
|
ECMWF tables
|
|
1.7.0b3 10/98: added new time units
|
|
1.7.0b2 8/98: allow blank gribtab lines in definition, --v
|
|
1.7.0b 8/98: added "km" to Mercator meta-data
|
|
1.7: 7/98: fixed bitmap when nbits > 24 (theoretical bug)
|
|
1.6.2.5 5/98: fixed -H code so that all of GDS is written
|
|
1.6.2.4 4/98 beta: reanalysis ID code: needed for users of 1997 Reanalysis data
|
|
1.6.2.2 2/98 beta: rotated lat long grid (10)
|
|
1.6.2 1/98 added Arakawa E-grid meta-data
|
|
1.6.1b changed 03TOT to O3TOT in ncep operational table
|
|
note: typo originated in the original NCEP documentation
|
|
1.6.1a 12/97 made ncep_opn the default table
|
|
1.6.1 9/97 Added the "-d all" option
|
|
1.6.0 9/97 non-beta version, added operational NCEP table,
|
|
optimized the ieee writes (2.5x faster on Cray, 20% on linux),
|
|
new help screen
|
|
1.5.0b14 fix century mark: year=100 not 0
|
|
1.5.0b13 -4yr, use 4 digit year code
|
|
1.5.0b12 lat-long thinned grid support
|
|
1.5.0b11 Added -H option (PDS/GDS output to binary files)
|
|
1.5.0b10 Changed"0hr fcst" to "anl" for TR=10 and fcstlen = 0 (non-beta release)
|
|
1.5.0b9 Thinned grids support (preliminary)
|
|
1.5.0b8 Changed bitmap message
|
|
1.5.0b7 -PDS -GDS work for all inventories
|
|
1.5.0b6 Added -verf to print "verification" time, new grib2ctl for -verf
|
|
1.5.0b5 Added Lambert Conformal, -PDS and -GDS
|
|
1.5.0b1 Added ECMWF parameter table #128
|
|
|
|
1.5.0a wgrib failing with no GDS and constant field. Cannot determine
|
|
(9/96) the size of data without a center-dependent lookup table.
|
|
Set length size of data to 1.
|
|
|
|
1.5.0 -v option: major changes, now an inventory
|
|
(9/96) -V option: added century to date code, list parameter table number,
|
|
added description of variable
|
|
Added parameter table (NCEP-128) for the ocean modeling branch of NCEP.
|
|
Added user-defined parameter tables.
|
|
Note: changes are incompatible with grib2ctl. Get new version.
|
|
(old version works by changing "wgrib -v" to "wgrib -V".)
|
|
V1.5.0 is the first version to be parameter-table aware. As a
|
|
result, wgrib will give a warning if it cannot find a matching
|
|
parameter table. The warning can be eliminated by either using
|
|
a user-defined parameter table or by adding your table into
|
|
the wgrib source. (Contact w. ebisuzaki, Wesley.Ebisuzaki@noaa.gov).
|
|
Built-in tables: NCEP-2, NCEP-128, ECMWF-160.
|
|
Much faster flt2ieee routine, changed rounding factor in flt2ieee
|
|
so that IEEE machines gets the correct last bit.
|
|
Increased NTRY to 100 to accommodate Automation div headers.
|
|
The 1.4.x series didn't last long (1 revision, 3/96 to 7/96).
|
|
|
|
1.4.1a Several optimizations of the grib routines for reduced CPU usage.
|
|
(6/96) Updated the NCEP parameter table and altered the print statement
|
|
for climatological fields.
|
|
|
|
|
|
1.4 ******************************************************************
|
|
1.4
|
|
1.4 BUG: Prior to v1.4, when the start of the grib message was less
|
|
1.4 than 160 bytes from the end of the file, wgrib would not find
|
|
1.4 the message. This would only occur if a short grib message (< 160 bytes)
|
|
1.4 ended the file. Basically I had assumed that a grib message
|
|
1.4 had to be 160+ bytes in length. Well someone at NCEP decided
|
|
1.4 to write 84-byte grib messages! About the only field that
|
|
1.4 can be described in a 84-byte message is uniform value of zero.
|
|
1.4
|
|
1.4 Fixed a bug in the return code, and made the code 10% faster.
|
|
1.4
|
|
1.4 Since this is a bug fix PLEASE upgrade to version 1.4.
|
|
1.4 Why not? It's free! (3/96)
|
|
1.4
|
|
1.4 ******************************************************************
|
|
|
|
|
|
1.3.4h Complaint about wgrib failing if the file has no GDS. Since a GDS
|
|
(2/96) is recommended (and is in every file that I have seen) I've never
|
|
included the code to create a GDS for prespecified grids. This
|
|
version is a temporary fix. It sets the array size to NX x 1.
|
|
[7/96: This temporary fix will have to do. The GDS prespecified
|
|
grids are center dependent. Since I don't have the tables, nothing
|
|
is planned.]
|
|
|
|
1.3.4f updated ECMWF parameter table (from M. Fiorino)
|
|
(11/95) support for the ECMWF stream parameter
|
|
clean compiles using acc (SunOS) (acc is pickier than gcc -Wall)
|
|
|
|
1.3.4e writing grib files made much faster
|
|
(11/95)
|
|
1.3.4d minor change in error statement format
|
|
(9/95)
|
|
1.3.4c didn't check for case where number of bits = 0! in NMC bug check
|
|
(7/95)
|
|
1.3.4 added check for bad bds "used bits" parameter (look for NMC bug)
|
|
(7/95)
|
|
1.3.3: (preliminary) ECMWF parameter table added
|
|
(5/95)
|
|
1.3.2: preliminary polar stereographics map support
|
|
(4/95)
|
|
|
|
- from wgrib code -
|
|
* 11/94 - v1.0
|
|
* 11/94 - v1.1: arbitary size grids, -i option
|
|
* 11/94 - v1.2: bug fixes, ieee option, more info
|
|
* 1/95 - v1.2.4: fix headers for SUN acc
|
|
* 2/95 - v1.2.5: add num_ave in -s listing
|
|
* 2/95 - v1.2.6: change %d to %ld
|
|
* 2/95 - v1.2.7: more output, added some polar stereographic support
|
|
* 2/95 - v1.2.8: max min format changed %f to %g, tidying up more info
|
|
* 3/95 - v1.3.0: fix bug with bitmap, allow numbers > UNDEFINED
|
|
* 3/95 - v1.3.1: print number of missing points (verbose)
|
|
* 3/95 - v1.3.2: -append option added
|
|
* 4/95 - v1.3.2a,b: more output, polar stereo support (-V option)
|
|
* 4/95 - v1.3.3: added ECMWF parameter table (prelim)
|
|
* 6/95 - v1.3.4: nxny from BDS rather than gds?
|
|
* 9/95 - v1.3.4d: speedup in grib write
|
|
* 11/95 - v1.3.4f: new ECMWF parameter table (from Mike Fiorino), EC logic
|
|
* 2/96 - v1.3.4g-h: prelim fix for GDS-less grib files
|
|
* 2/96 - v1.3.4i: faster missing(), -V: "pos n" -> "n" (field 2)
|
|
* 3/96 - v1.4: fix return code (!inventory), and short records near EOF
|
|
* 6/96 - v1.4.1a: faster grib->binary decode, updated ncep parameter table, mod. in clim. desc
|
|
* 7/96 - v1.5.0: parameter-table aware, -v option changed, added "comments"
|
|
* increased NTRY to 100 in seek_grib
|
|
* 11/96 - v1.5.0b: added ECMWF parameter table 128
|
|
* 1/97 - v1.5.0b2: if nxny != nx*ny { nx = nxny; ny = 1 }
|
|
* 3/97 - v1.5.0b5: added: -PDS -GDS, Lambert Conformal
|
|
* 3/97 - v1.5.0b6: added: -verf
|
|
* 4/97 - v1.5.0b7: added -PDS10, -GDS10 and enhanced -PDS -GDS
|
|
* 4/97 - v1.5.0b8: "bitmap missing x" -> "bitmap: x undef"
|
|
* 5/97 - v1.5.0b9: thinned grids meta data
|
|
* 5/97 - v1.5.0b10: changed 0hr fcst to anal for TR=10 and P1=P2=0
|
|
* 5/97 - v1.5.0b10: added -H option
|
|
* 6/97 - v1.5.0b12: thinned lat-long grids -V option
|
|
* 6/97 - v1.5.0b13: -4yr
|
|
* 6/97 - v1.5.0b14: fix century mark Y=100 not 0
|
|
* 7/97 - v1.5.0b15: add ncep opn grib table
|
|
* 12/97 - v1.6.1.a: made ncep_opn the default table
|
|
* 12/97 - v1.6.1.b: changed 03TOT to O3TOT in operational ncep table
|
|
* 1/98 - v1.6.2: added Arakawa E grid meta-data
|
|
* 1/98 - v1.6.2.1: added some mode data, Scan -> scan
|
|
* 4/98 - v1.6.2.4: reanalysis id code: subcenter==0 && process==180
|
|
* 5/98 - v1.6.2.5: fix -H code to write all of GDS
|
|
* 7/98 - v1.7: fix decoding bug for bitmap and no. bits > 24 (theoretical bug)
|
|
* 7/98 - v1.7.0.b1: add km to Mercator meta-data
|
|
* 5/99 - v1.7.2: bug with thinned grids & bitmaps (nxny != nx*ny)
|
|
* 5/99 - v1.7.3: updated NCEP opn grib table
|
|
* 8/99 - v1.7.3.1: updated level information
|
|
* 9/00 - v1.7.3.4a: check for missing grib file
|
|
* 2/01 - v1.7.3.5: handle data with precision greater than 31 bits
|
|
* 8/01 - vDWD : added DWD GRIB tables 201, 202, 203, Helmut P. Frank
|
|
* 9/01 - vDWD : added output "Triangular grid", Helmut P. Frank
|
|
* 9/01 - v1.7.4: merged Hemut P. Frank's changes to current wgrib source code
|
|
* 3/02 - vMPIfM: added support for spectral data type
|
|
* 4/02 - v1.8: merge vMPIfM changes, some fixes/generalizations
|
|
* 10/02 - v1.8.0.1: added cptec table 254
|
|
* 10/02 - v1.8.0.2: no test of grib test if no gds, level 117 redone
|
|
* 10/02 - v1.8.0.3: update ncep_opn grib and levels
|
|
* 11/02 - v1.8.0.3a: updated ncep_opn and ncep table 129
|
|
* 9/03 - v1.8.0.4: update dwd tables (Helmut P. Frank), -dwdgrib option
|
|
* 9/03 - v1.8.0.5: fix scan mode and change format
|
|
* 10/03 - v1.8.0.7: Changes from Norwegian Met. Inst (ec tab #131, ex_ext)
|
|
* 10/03 - v1.8.0.8: added -ncep_ens option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To Do:
|
|
decode spherical harmonics (need some examples to test on)
|
|
complex packing?
|
|
|
|
Adding new parameter tables is pretty easy and I'm willing to add new
|
|
parameter tables for "operational centers". (Note, the GRIB center
|
|
identification numbers are assigned by the WMO.)
|
|
|
|
|