Version Date Description Executables
2.26 10/31/2022

Wet Bulb Temperature and Snow Level are now operational. Ceiling, Visibility, Snow Liquid Ratio, Low Level Wind Shear and new grids for Micronesia are now experimental.

2.25 9/21/2020

Low Level Wind Shear / Height (inventory reports as DIST) is now converted to feet by default. 

2.24 6/20/2019

This is a release to support (a) new NDFD Experimental Wet Bulb Globe Temperature(WBGT) grids.

2.23 2/6/2019 This is a release to support (a) to handle https downloads from tgftp.
2.22 11/15/2018 This is a release to support (a) the new experimental day 1-3 probabilistic winter precipitation forecasts for 10% and 90% excedances of snow amount for overlapping 24-h, 48-h, and 72-h periods.
2.21 11/5/2018 This is a release to fix two bugs discovered in the previous version 2.20 including (a) the new NDFD SnowLvl grids and (b) the -XML option.
2.20 10/4/2018 This is a release to support (a) the new NDFD SnowLvl grids. The focus of release 2.20 is: A) to support NDFD's new experimental element SnowLvl for CONUS Days 1-3.
2.19 7/16/2018

This is a release to support (a) an update to g2clib.

The focus of release 2.19 is: 

A) Updated the g2clib from 1.0.5 to 1.6.0 in the src/mdl_g2c dir.

2.18 6/12/2018 This is a release to support (a) a bug fix for -little_endian option.
2.17 5/21/2018

This is a release to support (a) the addition of a -pntStyle 3 and (b)
an update to tkdegrib.

The focus of release 2.17 is: 

A) To support the addition of a -pntStyle 3 in probe.c to display a more 
descriptive Element.

B) Also to update tkdegrib, NDFD GRIB2 Decoder and Download Program, 
to reflect what elements are currently available to download for NDGD.

2.16 5/8/2018

This is a release to support a change to (a) NCEP Tables and (b) tkdegrib.

The focus of release 2.16 is: 

A) To update NCEP Tables to include new NCEP elements in metaname.c. 

B) Also to update tkdegrib, NDFD GRIB2 Decoder and Download Program, 
to reflect what elements are currently available to download in NDFD. 

2.15 12/11/2017

This is a release to support a change to (a) longitude output.

The focus of release 2.15 is: 

A) To Correct how longitudes (unsigned int) are handled when they are large
enough to be impacted by the difference between uInt4 and sInt4, in metaparse.c

2.14 10/16/2017

This is a release to support a change to (a) web.tcl.

The focus of release 2.14 is: 

A) To Resolve a bug in web.tcl which resulted in downloading entire conus grid rather than the sub-sector.
 

2.13 9/26/2017

This is a release to support a change to (a) HTSGW, Significant height of combined wind waves and swell.

The focus of release 2.13 is: 

A) To update the metaname.c so that Modified "HTSGW", "Significant height of combined wind waves and swell",
displays as "WaveHeight".

2.12 7/6/2017

This is a release to support (a) Air Quality's new ozone and PM grib files 
and (b) a bug fix.

The focus of release 2.12 is: 

A) To update the ndfd.ini to so that one may download Air Quality's new ozone 
and PM files. Details of these file changes can be found in the following SCN:
http://www.nws.noaa.gov/om/notification/scn17-55aqm_update.htm.

B) To fix a bug introduced in version 2.11's release in src/degrib/myutil.c 

2.11 5/30/2017

This is a release to support (a) Updated NDFD Trop. Cyclone Threat grib 
files.

The focus of release 2.11 is: 

A) To update the ndfd.ini to make CONUS/PR Tropical Cyclone Threat grids
(Threat grids (Trop. Cyclone Wind Threat, Trop. Cyclone Storm Surge Threat,
Trop. Cyclone Flooding Rain Threat, and Trop. Cyclone Tornado Threat) Opnl, 
formerly Expr, and to add new Opnl Tropical Cyclone Threat grids for HI.

2.10 3/22/2017

This is a release to support (a) a bug fix for Hazards.

The focus of release 2.10 is: 

A) To update a hazards.c bug. Code now accounts for Hazards not found 
in the known hazards list without degrib hanging.

2.09 3/9/2017

his is a release to support (a) a new version of Hazards and (b) the addition of 
a "-SimpleWWA" degrib option. 

The focus of release 2.09 is: 

A) To update the Hazards list, included in degrib, to a fourth iteration. This list 
now includes, but is not limited to, SS.W(Storm Surge Warning), SS.A(Storm Surge 
Advisory), RP.S(Rip Current Statement), and BH.S(Beach Hazard Statement). Please 
see HazardRank4 in hazards.c for details.

B) To include a new degrib option, "-SimpleWWA #", so that a user may select which 
Hazards version to degrib. As of version 2.09's release, version 3 is used
and you will need to have "-SimpleWWA 3" as one of your degrib option when degribing 
wwa Hazards. However, as of mid-May(specific date to be determined later), 
version 4 you will need to include "-SimpleWWA 4". You may also choose not include "-SimpleWWA 4" 
for version 4, as "-SimpleWWA 4" is the default.  Please see  
https://www.weather.gov/mdl/degrib_manpage_degrib for further details in usage.

2.08 11/14/2016

This is a release to support (a) NDFD's new ProbTSRWE24 (Probability of winter 
precipitation (snow/sleet) exceeding 0.25 inches (~6mm) water equivalent over 
a 24-hour period) element and (b) removal of the non-working "download by ftp" button. 

The focus of release 2.08 is: 

A) To allow access to NDFD's new Experimental CONUS ProbTSRWE24 grids. 
These grids are defined as a forecast depicting the probability of 
winter precipitation (snow/sleet) exceeding 0.25 inches (~6mm) water equivalent 
over a 24-hour period (Valid Time 12z-12z) and are available for Days 4-7. 
For more information on these new grids please see: 
http://www.nws.noaa.gov/os/notification/tin16-34day4-7winter_ndfd.htm. 

B) To remove the non-working "download by ftp" button.

2.07 8/24/2106

This is a release to support (a) NDFD's now Operational Alaska 6km and new Experimental 
Alaska 3km grids for Days 1-3, 4-7, and 1-7. 

The focus of release 2.07 is:  

A) To allow access to NDFD's now operational Alaska 6km grids and NDFD's new 
experimental Alaska 3km grids. These are both available for Days 1-3, 4-7 and 1-7. 
For more information on these Alaska grids please see: 
http://www.nws.noaa.gov/os/notification/tin16-28ak_oper_ndfdcca.htm and
http://www.nws.noaa.gov/os/notification/pns16-28ak_experimental_3km_ndfd.htm

2.06 8/16/2016

This is a release to update (a) the degrib software to point to 
https://tgftp.nws.noaa.gov, the new location of the NDFD grib files, and
to support (b) NDFD's forecast of reference crop Evapo-Transpiration, and
​to (c) display a compile date which using -V option. 

The focus of release 2.06 is:  

A) to update degrib so it has the capability to download NDFD grib files from a 
new location: https://tgftp.nws.noaa.gov. The old location was 
https://www.weather.gov/pub. Please see (https://www.weather.gov/mdl/degrib_download)
to download the code. For more information on this change please see: 
http://www.nws.noaa.gov/om/notification/scn16-16wngccb.htm.

B) To allow access to NDFD's now operational Forecast of Reference crop 
Evapo-Transpiration (FRET), FRET departure from normal (FRETDEP), and 7 day 
total FRET (FRETTOT). These grids are available for the CONUS for 
days 1-3 and 1-7. For more information on the new operational FRET please see: 
http://www.nws.noaa.gov/os/notification/scn16-08fretcca.htm. 

C) To display a compile date when using the -V option.

2.05 12/14/2015

This is a release to update degrib to handle (NDFD's new/experimental) 
Probability Precipitation Index(PPI) and to deal with a bug fix.

The focus of release 2.05 is: 

A) Support the Experimental Probability Precipitation Index (PPI) for days 1-3 
over the CONUS. (This is done by including it in the ndfd.ini file) 

B) To fix the calculation of the lower left corner of the .hdr file by using 
the mesh latitude instead of the projection tangent latitude. 

2.04 10/21/2014

This is a release to support (a) MRMS data, (b) tropical cyclone threat grids, 
and (c) forecast of reference crop Evapo-Transpiration. Please see 
(https://vlab.noaa.gov/web/mdl/degrib) to download the code. 

The focus of release 2.04 is: 

A) To support NOAA’s Office of Atmospheric Research’s (OAR) Multi-Radar 
Multi-Sensor (MRMS) data. This involved adding a 'MRMS' local table to metaparse.c. 

B) To allow access to NDFD's experimental Tropical Cyclone Threat grids over 
the CONUS and Puerto Rico for days 1-3 and 1-7. 

C) To allow access to NDFD's experimental Forecast of Reference crop 
Evapo-Transpiration (FRET), FRET departure from normal (FRETDEP), and 7 day 
total FRET (FRETTOT). These grids are available for the CONUS for 
days 1-3 and 1-7. For more information on FRET please see: 
http://www.nws.noaa.gov/om/notification/pns14national-fret_update.htm.

 
2.03 8/19/2014

This is a quick release to fix two bugs. Please see (https://www.weather.gov/mdl/degrib) to download the code. 

The focus of release 2.03 is: 

A) To correct a memory issue (double free) in the cube.c code. 

B) To resolve an issue with the default value of signed vs unsigned short int on AIX vs Linux in the DBF file reads. 

2.02 4/5/2013

This is a quick release to update degrib to handle the new NDFD 
experimental Oceanic grids (https://www.weather.gov/mdl/degrib). 

The focus of release 2.02 is: 

A) To support the oceanic grids. 
 

2.01 1/29/2013

This is a quick release to update degrib to handle the new NDFD 
experimental element CANL (Cold Advisory for Newborn Livestock). 
The lastest version of degrib is 2.01 and can be downloaded from 
(https://www.weather.gov/mdl/degrib). 

The focus of release 2.01 is: 

A) To support the experimental CANL (Cold Advisory for Newborn 
Livestock) in the command line programs 'degrib' and 
'tcldegrib web.tcl', as well as the GUI 'tkdegrib'. Please see 
https://www.wrh.noaa.gov/ggw/canl/FactSheet.pdf for information on 
CANL. 

2.00 12/5/2012

This is a quick patch release to update some configuration files. 
The lastest version of degrib is 2.00 and can be downloaded from 
(https://www.weather.gov/mdl/degrib). 

The focus of release 2.00 is: 

A) To support the experimental Ice Accumulation and Maximum/Minimum Relatively 
humidity products in tkdegrib and 'tcldegrib web.tcl' 

1.99 10/23/2012

The focus of release 1.99 is: 

A) To enhance the GUI "tkdegrib" and command line program "tcldegrib web.tcl" 
to be able to access both the experimental and operational National Digital 
Forecast Database (NDFD) and National Digital Guidance Database (NDGD). 
Tkdegrib now stores the data in "ndfd" "ndfd_expr" "ndgd" and "ndgd_expr" 
subdirectories of /degrib/data. Additionally tkdegrib is able to merge the 
day 1, 2, 3, 4-7 files together into a single day 1-7 file. 

B) Add support for experimental Ice Accumulation and Maximum/Minimum Relative 
Humidity to tkdegrib. 

1.98 6/4/2012

The focus of release 1.98 is: 

A) To introduce the -StormTotal option. This was added to the list 
of Command Level options (-I, -C, ...) and responds to the need for storm 
total precipitation. Its purpose is to create a new grid based on adding the 
values from several different messages together. It is currently intended to 
work with QPF, SnowAmt, and IceAccum grids. 

Messages are selected by providing a -startTime and an -endTime. These times 
are exclusive, so -startTime '2012-05-25T01:00:00' will not include the 
message valid at 06Z for the time frame between 00Z to 06Z on the 5th whereas 
'2012-05-25T00:00:00' will. Extra care is required with -startTime since the 
Inventory (-I) option provides the end of the time period, so you need to be 
aware of the time duration of the data. If the Inventory says the date of the 
message is 06Z and the duration of the data is 6 hours, you'd need 00Z or 
earlier in the -startTime to include that message. 

The user may include an optional CONVERT OPTION (-Grib2, etc.). So: 
degrib foo.bin -StormTotal -startTime "05/27/2012 00:00:00" -endTime 
"5/28/2012 18:00:00" -Grib2 
will create a new GRIB file with a single message which totalled the values 
from 0Z on 5/27 to 18Z on 5/28. 

B) To update 'dwmllib' to include support for MinRH and MaxRH. Paul 
(paul.hershberg@noaa.gov) would appreciate any feedback you may have 
about dwmllib. 

1.97c 5/22/2012

The focus of release 1.97c is: 

a) Fixing an endian bug with gribLen calcs. when dealing with subgrids. Bug 
introduced in version 1.96 through 1.97b. 

--- details ---- 
4/13 AAT Found a bug with gribLen calculations when dealing with subgrid 
messages. Bug was caused by an oversight in the 5/2010 removal 
of memswapping. Impacted versions 1.96, 1.97, 1.97a, 1.97b 

1.97b 3/13/2012

The focus of release 1.97b is: 

A) To respond to the move to NIDS (NWS Internet Dissemination System) which 
adversely impacted gribcut (which provides NDFD data on user defined subsectors). The degrib client code needed to be changed, 
and the URL on the server has moved. The new URL is 
Tthe various TINs since Sep 14, 2009. These include: 
1) TIN11-03: Two experimental Fire Wx outlook elements added to NDFD 
2) TIN09-38: Convective hazard outlooks to go operational 12/1/2009 
For more on NWS's Technical Implementation Notices (TINs) go here: 
https://www.weather.gov/os/notif.htm#tin 

B) Syncrhonize work with Paul Hershberg's 'dwmllib'. This is the library that 
produces XML from the NDFD (see: http://www.nws.noaa.gov/xml/). By joining 
degrib and dwmllib we provide you with the ability to create XML from the 
GRIB files (or an expanded version of them) which for large numbers of 
stations should be more efficient than repeatedly hitting the SOAP server. 
Paul (paul.hershberg@noaa.gov) would appreciate any feedback you may have 
about dwmllib, the -XML option, or the SOAP server. Particularly any success 
stories. 

C) Some minor enahancements such as: 
1) Enabling Visibility to convert from m to statute miles 
2) Adding a -Split option 
3) Modifing metaparse.c to not complain about master table version 4,5 
4) Modifying code to handle template 4.7 

D) Performance : Removing some un-necessary memory swapping resulting in a 
potential 10% speed improvement. 

1.97a 2/1/2012

The focus of release 1.97a is: 

a) Modifying geturl calls to explicitly use protocol 1.0 vs 1.1 

2/1 AAT modified code to compile against Tcl 8.5.3 which is in the code 
base. Had assumed 8.5.9 was installed on the system. Plan to use 
8.5.11. 
2/1 AAT Missed a file when modifying geturl calls to use 1.0. 
1/13 AAT Modifing geturl calls to explicitly use protocol 1.0 instead of 
1.1 

1.97 1/5/2012

The focus of release 1.97 is: 

a) DWML corrections for Snow QPF and IceAccum 
b) Handling of IceAccum grids 
c) bug fix for draw.tcl to deal with non-octal months (Sep09) 

1/5 AAT Made some corrections to how Snow, QPF, and IceAccum are trested 
by DWML when f_unit is 0 and noted and issue when DWML is created 
off of GRIB data (instead of cube data) 
1/5 AAT Checking in addition of iceaccum and adding a procedure to 
genprobe.c::InverseComputeUnit() to inver the unit conversion 
done when storing the data in cubes. 
1/5 AAT Updating a version with fine resolution PR grids (339x224) 
1/4 AAT Synchronizing with Paul's latest modifications to dwmllib 
10/18 AAT Adding an IceAccum grid. 
9/13 AAT Updating draw.tcl to deal with octal month of 09 (september) 
8/1 AAT Checking in a correction to the way the colors are scaled. 
Should have been using numColor -1 instead of numColor in calc 
the steps. 

1.96 2/24/2011

The focus of release 1.96 is: 

A) To respond to the various TINs since Sep 14, 2009. These include: 
1) TIN11-03: Two experimental Fire Wx outlook elements added to NDFD 
2) TIN09-38: Convective hazard outlooks to go operational 12/1/2009 
For more on NWS's Technical Implementation Notices (TINs) go here: 
https://www.weather.gov/os/notif.htm#tin 

B) Syncrhonize work with Paul Hershberg's 'dwmllib'. This is the library that 
produces XML from the NDFD (see: http://www.nws.noaa.gov/xml/). By joining 
degrib and dwmllib we provide you with the ability to create XML from the 
GRIB files (or an expanded version of them) which for large numbers of 
stations should be more efficient than repeatedly hitting the SOAP server. 
Paul (paul.hershberg@noaa.gov) would appreciate any feedback you may have 
about dwmllib, the -XML option, or the SOAP server. Particularly any success 
stories. 

C) Some minor enahancements such as: 
1) Enabling Visibility to convert from m to statute miles 
2) Adding a -Split option 
3) Modifing metaparse.c to not complain about master table version 4,5 
4) Modifying code to handle template 4.7 

D) Performance : Removing some un-necessary memory swapping resulting in a 
potential 10% speed improvement. 

1.94a  

The focus of release 1.94a is: 

a) Handling convective hazard outlooks 
b) adding 5 hazard codes to hazard.c 

--- Details --- 
12/15 AAT Modified degrib1.c to be less finicky about exact byte boundry 
(r928) 
11/15 AAT Modifying code to handle template 4.7 (r926) 
11/15 AAT Checking in changes needed for Convective hazard outlooks to go 
operaional on 12/1/2009 (TIN 09-38) 
11/12 AAT Corrected hazard.c to handle more than 5 hazard codes avoiding 
infinite loop (r920) 
--- Details --- 

1.94  

The focus of release 1.94 is: 

A) To respond to the various TINs since July 24, 2008. These include: 
1) TIN08-57: 12 climate outlook probability elements become operational on 
8/21/2008. 
2) TIN09-14: 9 convective outlook hazard probability elements become 
operational on 4/30/2009. 
3) TIN09-20: 9 additional gridded forecast elements for Alaska added 
in experimental mode on 7/8/2009. 
4) TIN09-24: Hazard elements become operational on 9/15/2009. 
For more on NWS's Technical Implementation Notices (TINs) go here: 
https://www.weather.gov/os/notif.htm#tin 

B) Update the GRIB tables to synchonize with NCEP's documentation at: 
https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc.shtml 

C) Syncrhonize work with Paul Hershberg's 'dwmllib'. This is the library that 
produces XML from the NDFD (see: http://www.nws.noaa.gov/xml/). By joining 
degrib and dwmllib we provide you with the ability to create XML from the 
GRIB files (or an expanded version of them) which for large numbers of 
stations should be more efficient than repeatedly hitting the SOAP server. 

Paul (paul.hershberg@noaa.gov) would appreciate any feedback you may have 
about dwmllib, the -XML option, or the SOAP server. Particularly any success 
stories. 

D) Provide a kml/kmz option. NHC asked me to help them produce kml/kmz files 
for my Probabilistic Hurricane Storm Surge (p-surge) product this season. 
Fortunately there hasn't been a need to do so in realtime as we haven't had 
any hurricane landfalls in the continental US. However if you want to use 
the kml/kmz option try either: 
1) degrib maxt.bin -C -Kml -poly 2 -KmlIni kml.ini 
2) degrib maxt.bin -C -Kmz -poly 2 -KmlIni kml.ini 
There is a sample kml.ini file located in "c:/ndfd/degrib/MapIni/kml.ini" 
Unfortunately the kml.ini control file may be a bit tricky, and I have not 
had an opportunity to document it. Please try it out and if you have 
problems send me an email. 

1.92 7/24/2008

The focus of release 1.92 is: 
A) To handle the npacocn (North Pacific Ocean) sector which contains the 
probabilistic hurricane wind product 
B) To handle the "hazard" aka (wwa) grids. 
C) To adjust to the change in operational status of sky, qpf, and snow 
amount. 

 

1) Added support for the new sector "npacocn". Also configured the new 
sector to expect tropical cyclone wind speed probabilities. 

2) Updated the status of sky, snow, wwa, and qpf in response to the TIN. 

3) Added support for hazards (aka wwa) to degrib. This is similar to 
"Weather" (aka wx) in that there is a text string in section 2 referred 
to from the grid. To support it, I needed to find all the times I'd 
treated wx as a special case, and add a new special case for wwa. 

We now have two new option "-SimpleWWA 0,1" (aka -SimpleVer, -SimpleWx) 
and "-TxtParse" (aka -WxParse). The -SimpleWWA specifies which simple 
hazard scheme to use (default to 1), and "-TxtParse" indicates whether 
to provide the number, the WWA text, or the english translation of the 
WWA text. 

Support has been added to the ".flt" and ".shp" files, as well as the -I 
option and the -P, -DP, -Data and -XML options. Support has NOT YET 
been added for the ".nc" (netCDF) or ".csv" files. 

4) Switched the MS-Windows installer from using the "Freeman" program to 
using the "NSIS" program. 

5) Updated the mapdef files for PR and cleaned them up for CONUS. The 
PR sector had changed it specifications, before the last release. The 
fix allows the "imageGen" software to draw it correctly. 

6) Relabeled rtma-sky00 to rtma00-sky, etc in ndfd.ini to make it easier 
to choose rtma for the 00 cycle (particularly in "tcldegrib web.tcl"). 

7) Modified the meta-name labels for PoP to allow for non 0.01 inch 
thresholds in anticipation of possible NDGD elements such as PoP06-200 
(6-h Prob. of Precip > 2.00 inch). 

8) Fixed a branch cut issue with Mercator grids. Had used the 
"orientation angle" as the "branch cut", instead of using lon1 and lon2 
to determine a lon which was not on the grid. 

9) Modified writeshp.c to always have a '\0' in the column headers in 
the .dbf files, since ESRI appears to need it for names longer than 10 char. 

10) Updated the meta-name tables based on NCEPs current web pages. 

1.91 4/1/2008

The focus of release 1.91 is: 
A) To handle the effective change to the encoding of Air Quality data, 
B) Handle template 4.6 (percentile at a specific point in time), 
C) Provide support for Alaska RTMA, 
D) Handle the change in the NDFD Puerto Rico grid definition 

 

1) Due to (General News 1), the air quality grids will be sent directly 
from NCEP instead of going through the NDFD central server. This causes 
an effective change in the encoding of the smoke grids because the NDFD 
central server was translating the NCEP encodings. For the smoke 
parameters, NCEP follows the new GRIB2 (version 4) rule which states: 
[92.6.2 To maintain orthogonal structure of GRIB2, parameter names 
should not contains surface type and statistical process as part of the 
name.] 
This means that degrib now has to pay attention to the surface 
parameters to differentiate the smoke variables when assigning them 
abbreviations of "smokes" and "smokec". 

NOTE: One consequence of rule 92.6.2 is that the WMO is deprecating 
MaxTemp and MinTemp as parameter names in GRIB2. One would instead 
label them Temperature, and use template 4.8 to specify whether it is a 
Maximum or Minimum. 

2) Updated the internal grid definition to allow the DWML code to 
properly recognize the new NDFD Puerto Rico grid. 

3) Updated the timezone/daylight savings methodology to no longer 
require timezone files for the trivial cases of Hawaii, PR, and Guam. 

4) Modified degrib to support template 4.6 (Percentile forecast at a 
specific time or layer). 

5) Updated meta data tables to reflect the current NCEP tables at 
(https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc.shtml), and to 
reflect the GRIB2 Version-4 specification located at: 
(https://www.wmo.int/pages/prog/www/WMOCodes/GRIB.html) 

6) Updated the configuration files to allow for: 
a) Downloading the Alaska RTMA. 
b) The new locations of the Air Quality products. 
c) Downloading probabilistic hurricane storm surge (psurge). 

7) Incorporated a number of changes to the DWML code. 

8) Fixed an interpolation bug when dealing with lat/lon grids and the 
probed point is outside the grid (example the grid goes from 0 to 359.5 
with a spacing of 0.5, but the point is at 359.6) 

9) Changed the default install location from "c:/ndfd/degrib19" to 
"c:/ndfd/degrib". 

1.90 10/31/2007

The focus of release 1.90 is to fix some bugs in the dwmllib library 
(used for the -XML option) released in 1.89. 

1) dwmllib bug: in which number of days formatted in XML was 1 more day 
then specified in -numDays command line argument. The bug occurred from 
05Z to 12Z. 

2) dwmllib bug: in which weather data was not falling into the correct 
summary period. 

3) dwmllib bug: in which too much data was clipped when user specified 
startTime and endTime arguments for time-series and glance products. 

4) In pack.c::fillSect3(), there is a request for angle, which is 
intended to define the basic unit of angle (lat/lon) for lat/lon grids 
when not the default value of 10-6. I accidentally used "angleRotate" 
which was undefined instead. This caused a failure for -Grib2 on some 
linux machines. Others randomly had a default value of 0 which made it 
work sporadically. 

5) Introduced a -avgInterp option which, when doing bilinear 
interpolation (see -Interp), if a point is surrounded by 1 or more 
missing corners, it returns the inverse distance weighted average of the 
non-missing corners, instead of missing. 

6) Added a check to degrib2.c::ReadSECT0() to make sure the edition is 1 
or 2 when detecting a "GRIB". If not, it ignores the false positive and 
keeps looking for "GRIB". This should help people who have wrapped GRIB 
messages with text containing the word "GRIB". 

7) Added a table for some support for Norway GRIB1 products. 
 

1.89 10/22/2007

The focus of release 1.89 is to fix some bugs in 1.88. 

1) 1.88 labeled "probability of Temp above average for days 8 to 14 (144 hours)", 
as ProbTMP144, instead of my intent of ProbTMPAbv144. This makes it difficult to 
differentiate Above vs Below average. The bug also impacted ProbTMP01m, and ProbTMP03m, 
but not the precip ones. 1.89 fixed the problem with the ProbTMP elements, and it now 
generates my intended "ProbTMPAbv144". 

2) In 1.87, when I added the ability to parse units of "months" and "years" to the 
code that parses time from encoded units to seconds, I inadvertently reduced the length 
of the unit table from 14 to 13. This dropped the unit "seconds" from the table. 1.89 
has re-expanded the table so it can convert from seconds to seconds. 

3) Updated to the latest version of "dwmllib". 

1.88 10/18/2007

The focus of release 1.88 is to support the 12 new CPC products which are being 
added to the NDFD. 

1) Introduced 12 new CPC elements. These are (temp, precip) (above, below) average for 
(6 days (days 8-14), 1 month, and 3 months). See the "Days8-450 folder". They are being 
labeled in the NDFD as follows: "tmpabv14d", "tmpblw14d", "prcpabv14d", "prcpblw14d", 
"tmpabv30d", "tmpblw30d", "prcpabv30d", "prcpblw30d", "tmpabv90d", "tmpblw90d", 
"prcpabv90d", "prcpblw90d". 

2) Attempted to resolve a backward incompatibility issue with the NCEP GRIB2 library. 
The 1.0.2 version stored lower and upper probability limits as unsigned integers, 
while 1.0.4 stored them as signed integers. Some of NCEP's models stored negative 
values for these entries using the 1.0.2 version, which meant that they used "2's 
complement + 1". Unfortunately 1.0.4 assumes they were stored the correct way using 
"a sign bit + absolute value", so it returns an incorrect value. I developed a way 
to read either a 1.0.2, or 1.0.4 packed negative value and get the intended answer. 

3) Fixed a glitch with the ndfd.ini file for some of the newer Gridded MOS elements. 

4) Upgraded from 1.0.4 to 1.0.5 of the NCEP GRIB2 library. 

5) Updated NCEP local use tables (as of 10/16) 

6) Added checks to make sure when saving to .shp (poly and point) that we don't exceed 
the maximum number of records the format will allow. The limits are: 23,860,928 records 
for small polygons, and 153,391,685 records for point.

1.87 9/20/2007

The focus of release 1.87 is to reconfigure the NDFD Wind Gust and to be 
able to handle the new encoding details for Probability of Severe 
Thunderstorms.

1) Modified code to handle the 203,204 -> 215,216 renumbering of Tot. 
Prob. Sev. T-Storm, and Tot. Prob. Ext. Sev. T-Storm. 

2) Updated Wind Gust to operational. 

3) Switched from a makefile.* system to a "configure / make" system for 
compilation. For more info, see "/degrib/src/README.config". 

4) Adjusted the interpretation of "-Interp". With "-C" it had been 
intended as 0="don't interpolate to a coverage grid", 1="interpolate to 
a coverage grid using nearest neighbor", 2="interpolate to a coverage 
grid using bi-linear". With "-P" it was 0="use nearest neighbor", 1 or 
2="use bi-linear". This was confusing, so now a value of 1 with "-P" 
means to use nearest neighbor. 

5) Added support for gridded MOS elements: qpf06, qpf12, sky, snw24, and 
wgust, and now allows custom sector to handle all NDFD elements. 

6) Updated to NCEP's latest (as of 9/17/2007) local use tables. 

7) When creating GRIB2 from a "cube" file (for custom sectors), fixed an 
error when calculating the portion of the file to read. The error only 
occurred when it was provided a lower left corner west of the western 
most part of the grid. 

8) On the GIS tab: Changed the default view from "small" to "list"; the 
"list" view now reacts properly to "double click"; and the focus doesn't 
change when the cursor moves through the middle list boxes. 

9) Added ability to handle time units of month, year, decade, normal 
(aka 3 decades), and century. 

10) The shapefile's ".dbf" files only allow 11 characters for a column 
name, and dislikes the use of ' ', so the code uses the "short" element 
name, but now replaces "Prob" with "P" before truncating if it has to, 
and it avoids ' '. 

11) Enhanced the speed of creation of point shapefiles by not allocating 
as much memory. 

12) Enhanced the labels for the color ramp in drawshp and added a 
lat/lon lattice option. 

1.86 5/31/2007

This release focused primarily on reconfiguring the wave height, 
and tropical cyclone wind speed probability grids, smoke grids, 
and handling RTMA grids. In addition it included removing the 
FORTRAN dependency, and expanding support for "gribcut" 

1) Added support for NDGD-RTMA, and reconfigured the NDGD Smoke 
Grids, and the NDFD tropical cyclone wind probabilities, and 
significant wave heights. 

2) Simplified the GRIB2 library to no longer be dependent on 
FORTRAN (degrib is now pure C). Now uses a slightly modified 
NCEP g2c-1.0.4, with a wrapper API, for both decoding and 
encoding purposes (had used g2c-1.0.4 for just decoding). 

3) Expanded variables which "-DC -cube" can handle to include 
all NDFD variables. This option is used by "gribcut" the custom 
sector NDFD GRIB2 service. 

4) At the request of NCEP, added "grb2shp.sh" script to /degrib/bin. 
This is a sample command line script for creating shapefiles from 
a GRIB file. 

5) Adjusted variable look up code to handle CPC's probability of X 
above/below average grids, and Gridded MOS's QPF06/QPF12 and 
SnowAmt24 grids. 

6) Added better probing support for SPC's p* and conhazo grids. 

7) Updated dwmllib based on the latest modifications, most notably 
the new file structure (1 procedure per file). In addition added 
weather summaries support. 

8) Updated emapf-c library to the latest version 

9) Updated the variable look up code based on NCEP's web pages 
from 5/14/2007. 

10) Fixed a bug when converting all messages, and the last one is 
a subgrid. 

1.85 2/27/2007

This release focused primarily on handling the new SPC grids, but 
included some needed upgrades (particularly upgrading the g2clib 
library and emapf library, and improving the code for the change 
in daylight savings) 

1) Added support for the SPC grids. 

2) Upgraded to NCEPs g2clib-1.0.4 library (from version 1.0.2), 
and fixed a glitch in the memory allocation in g2_unpack2.c. 

3) Upgraded to most recent version of the emapf-c library. 

4) Overhauled clockstart.c to improve clock.exe, and added support 
for the 2007 change to daylight saving time 

5) Added support for labeling analysis error grids in the RTMA 

6) Enabled Wind Gust and Tropical cyclone winds for -DP. Need to 
investigate the -DC option with tropical cyclone winds. 

7) Fixed an indexing glitch in Grib2DataProbe which caused it to 
be unable to handle multiple -DP points. 

8) Thanks to a user, I fixed the bi-linear interpolation. I had 
been interpolating by holding y constant, but accidentally used 
the values as if I was holding x constant. 

9) Thanks to a user, I fixed some bugs in strTrimRight() and 
strTrim(). 

10) Modified the categorical units to consistently use ';' instead 
of ',' to allow for easier parsing 

11) Adjusted genprobe to grab nhemi data as well if the point falls 
in PR or CONUS since 'nhemi' entirely covers the CONUS and PR sectors. 

12) Changed behavior of -DP so a point falling outside the grid returns 
missing instead of nearest grid cell. (Wash D.C. should not have a 
value on the Hawaii grid). 

1.84 11/31/2006

This release focused primarily on some bug fixes, along with 
reconfiguring to add experimental QPF in Hawaii. 

1) Reconfigured code to add experimental QPF in Hawaii. 

2) Albion Taylor provided a "configure / make" method of compiling 
degrib as an improvement over using "make -f makefile.???" where ??? 
is chosen by the user to reflect which system they have. The new method 
should provide support for more systems, and be more flexible in the 
long run. Currently I'm supporting both the old and new methods of 
compilation, but want to transition to the "configure / make" method. 

3) Adjusted the hard coded values for Alaska's grid from a spacing of 
5.953 km to 5.953125 km. This was because the GRIB2 files I based the 
hard coded values on were erroneous. Fixing this, meant updating 
/geodata/alaskatimezone.flt and /geodata/alaskadaylight.flt. 

4) Fixed a bug on 64 bit compilations, by adjusting the grib2lib code to 
pay attention to my 64 bit flag (rather than an environment flag). 

5) Attempted to fix a sign bug when using GRIB2MISSING_s4, which was 
encountered with a Japanese GRIB2 file. The file in question didn't 
have a value associated with the surface. When using NCEP's GRIB2 
library, signed missing 4 byte integers are returned as -1 * 231, while 
unsigned missing 4 byte integers are returned as 232 -1. Previously, I 
had checked all 4 byte missings by casting them to unsigned and 
comparing to 232 -1. This is erroneous in the signed case, since -1 * 
231 cast to a 4 byte unsigned integer becomes 231 + 1, not 232 -1. 
The solution is to check signed missing 4 byte values against -1 * 231, 
and unsigned missing 4 byte values against 232 -1. 

6) Fixed web.tcl to use https::myAppend instead of https::append (Broke on 
a version of linux), in addition fixed a minor bug when reporting the 
usage of web.tcl 

7) Checked in all the releases of degrib into a "subversion" repository. 
Some thought is still needed as to how to post the repository. It 
should provide others the ability to check out the latest "unreleased" 
versions of the code, and allow them to contribute (if they so desire).

1.83 9/14/2006

This release focused primarily on getting the same image drawing 
capabilities into tkdegrib that were available in releases before 1.81. 

1) Wrote the code necessary to regain the image drawing capabilities 
that were available on MS-Windows versions of tkdegrib prior to version 1.81 

2) Fixed a bug where tkdegrib didn't exited when closed (introduced in 
the rewrite in version 1.81). The result of the bug was that there 
could be extra un-terminated "tkdegrib" processes doing nothing. 

3) Reconfigured "Day 1-7" snow, qpf, and wgust to avoid trying to merge 
in the non-existent day 4-7 forecasts. 

4) Fixed a bug in the "usage" message in "web.tcl". 

5) Updated the GRIB2 encoding routines (which read from the data cubes 
and return a custom GRIB2 subsector) to be able to properly encode 
wgust, and adjusted the Decimal Scale Factor used for QPF, and WindSpd. 

1.82 9/8/2006

This release focused primarily on bug fixes that appeared as a result of 
TIN06-39 (the NDFD day split), TIN06-54 (Alaska data), and TIN06-55 
(wind gust). 

1) Fixed a bug in ndfd.tcl which stopped tkdegrib from being able to be 
run on linux. (reconfigured a non-existent imgGen button). 

2) Made "web.tcl" pay attention to a status of "NA", which stops it from 
trying to grab unavailable variables for a given sector. 

3) Modified the configuration files to realize that snow, WindGust and 
QPF don't have a days 4-7 forecast. 

4) Increased the number of attempts to get a URL from 2 to 3. 

5) Since it is after 9/6/2006, modified the download step from searching 
first in the "sector" directory, to always looking for the data in the 
VP.001-003 or VP.004-007 subdirectories of the "sector" directory. 

6) Found out (and fixed) that "genProbe" reused an active loop variable, 
which in turn caused the -DP -XML option to fail. This bug only appears 
if the "data cube" has multiple reference times (ie after the 9/6/2006 
split), and if one is probing simultaneously for more than one variable 
(ie -XML or -MOTD options). In which case, it finds the first 
variable's days 1-3 and days 4-7 forecasts, but any extra variables it 
only finds the days 1-3 forecasts. 

7) Fixed a version inconsistency with the XML code and the clock routines. 

1.81 8/31/2006

This release focused primarily on adding support for splitting the NDFD 
into 2 files (a day 1 to 3 and a day 4 to 7). 

1) To support the splitting of the NDFD into days 1-3 and days 4-7, a 
redesign of the control file "ndfd.ini" was required. That in turn 
meant that the Tcl/Tk portion of "tkdegrib" and "web.tcl" had to be 
rewritten. Unfortunately I didn't have time to re-enable all the 
features of tkdegrib, which means that currently the configuration 
options, and the calls to the image generation code have been disabled. 

1a) The general concept was to provide BOTH a day 1-7 option as well as 
days 1-3 and days 4-7 options. The way the day 1-7 option works is it 
joins together all the currently available information. So it appends 
the days 1-3 file with the days 4-7 file. NOTE: Such a day 1-7 file can 
result in a mixture of reference times. 

1b) In theory the days 1-7 option will work seamlessly over the Sep 6 
change over. It will first try to find the data in the original place, 
and when it doesn't find it there, it will look in the VP.001-003 and 
VP.004-007 subdirectories. After Sep 6, I will release a version which 
no longer looks in the "non-VP" directories. 

1c) In addition, since the control file (ndfd.ini) had to be changed, I 
had to rewrite "web.tcl". This allowed an opportunity to switch the 
calling method from order dependent to option dependent so that I could 
make it more flexible and add some options. If you have problems, see 
"tcldegrib web.tcl -help". 

1d) While I was at it, I updated ndfd.ini with the current locations of 
the gridded MOS data, and the gridded LAMP data. In addition, I've 
introduced the experimental data for Alaska (which won't be available 
until Sep 6). 

1e) Some minor modifications were also needed to get WindGust to use the 
NDFD naming and unit conventions. NOTE: This could affect the decoding 
of "GUST" products from NCEP, as the default unit had been the GRIB2 
encoding "m/s2", rather than the English unit of "knots". To get the 
old behavior back use "-Unit none". 

2) Thanks to Paul Hershberg, degrib can now generate the remaining two 
DWML products. Specifically the dwml_byday (12 or 24-hour) options. 
-XML should now respond to 4 different output flavors of XML (as opposed 
to just time-series or glance). 

3) Thanks to comments from NHC, I've reduced the plethora of download 
packages to hopefully reduce confusion, and have attempted to "clean up" 
the GIS tab slightly. 

4) Modified the -Data option to handle multiple files on the command 
line when creating a "data cube". 

5) Fixed a bug introduced in the tdlpack code in version 1.79, and 1.80. 

6) Thanks to Nat, I found out that my "dataloc.php" page was out of 
date, and have updated it. 
 

DeGRIB