This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hello, I have discovered the following bugs in GEMPAK 5.8.3a (Unidata binary version and my compiled and patched versions). In gdprof and gdpoint the use of MUL(urel,urel) and MAG(WND) and DIRN(WND) are giving totally incorrect answers (for ECMWF, GFS, and ETA 104 grids at least). When I run MUL(urel,const) I get the correct number. This looks like some kind of memory error when both arguments are the same item. Here are the commands and results from gdprof, gdpoint results follow: ==================== gdprof results ====================== GEMPAK-GDPROF>li GPOINT = @8.458;92.63 GDATTIM = f0 GVCORD = hagl GVECT = WND GDFILE = /home/disk/data/gempak/model/ecmwf/2005112300_ecmwf.gem LINE = 3 MARKER = 0 BORDER = 1 PTYPE = lin SCALE = 0 XAXIS = 0 YAXIS = 0/10 WIND = BM1 REFVEC = WINPOS = 1 FILTER = YES TITLE = 1 PANEL = 0 CLEAR = YES TEXT = 1/21//hw DEVICE = XW OUTPUT = T THTALN = 0 THTELN = 0 MIXRLN = 0 GFUNC = urel r Grid function: urel X,Y grid point: 8.46 92.63 Lat/lon: 47.44 -122.31 Number of levels: 1 Data range: -1.12 -1.12 Scaling factor: 10** 0 051123/0000V000 UREL @8.458;92.63 LATITUDE, LONGITUDE = ( 47.44, -122.31 ) HAGL UREL 10.00 -1.116 HAGL U UREL V VREL 10.00 -1.116 0.769 GEMPAK-GDPROF>gfunc = mul(urel,urel) GEMPAK-GDPROF>r GDPROF PARAMETERS Grid function: mul(urel,urel) Grid vector function: WND X,Y grid point: 8.46 92.63 Lat/lon: 47.44 -122.31 Number of levels: 1 Data range: 3.76 3.76 ***** WRONG!!!! Scaling factor: 10** 0 Wind display: BM1 051123/0000V000 MULRELUREL @8.458;92.63 LATITUDE, LONGITUDE = ( 47.44, -122.31 ) HAGL MULRELUREL 10.00 3.763 ***** WRONG!!!! HAGL U UREL V VREL 10.00 -1.116 0.769 GEMPAK-GDPROF>gfunc = mul(urel,-1.116) GEMPAK-GDPROF>r Grid function: mul(urel,-1.116) Data range: 1.25 1.25 051123/0000V000 MULREL-1.1 @8.458;92.63 LATITUDE, LONGITUDE = ( 47.44, -122.31 ) HAGL MULREL-1.1 10.00 1.246 HAGL U UREL V VREL 10.00 -1.116 0.769 ==================== gdpoint results ====================== GEMPAK-GDPOINT>li GDATTIM = f0 GDFILE = /home/disk/data/gempak/model/ecmwf/2005112300_ecmwf.gem GLEVEL = 10 GPOINT = @8.458;92.63 GVCORD = hagl GFUNC = mul(urel,-1.116) SCALE = 0 GEMPAK-GDPOINT>gfun = urel GEMPAK-GDPOINT>r GDFILE: /home/disk/data/gempak/model/ecmwf/2005112300_ecmw GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : urel SCALE : 0 051123/0000F000 : -1.11616 GEMPAK-GDPOINT>gfu = mul(urel,urel) GEMPAK-GDPOINT>r GDFILE: /home/disk/data/gempak/model/ecmwf/2005112300_ecmw GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : mul(urel,urel) SCALE : 0 051123/0000F000 : 3.76344 ***** WRONG!!!! GEMPAK-GDPOINT>gfu = mul(urel,-1.11616) GEMPAK-GDPOINT>r GDFILE: /home/disk/data/gempak/model/ecmwf/2005112300_ecmw GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : mul(urel,-1.11616) SCALE : 0 051123/0000F000 : 1.24581 GEMPAK-GDPOINT>gfun = vrel GEMPAK-GDPOINT>r GDFILE: /home/disk/data/gempak/model/ecmwf/2005112300_ecmw GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : vrel SCALE : 0 051123/0000F000 : 0.76872 GEMPAK-GDPOINT>gfu = mag(wnd) GEMPAK-GDPOINT>r GDFILE: /home/disk/data/gempak/model/ecmwf/2005112300_ecmw GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : mag(wnd) SCALE : 0 051123/0000F000 : 2.10129 ***** WRONG!!!! s/b 1.355 GEMPAK-GDPOINT>gfu = dirn(wnd) GEMPAK-GDPOINT>r GFUNC : dirn(wnd) 051123/0000F000 : 159.70622 ***** WRONG!!!! s/b 124.6 degrees And, lest you think this is confined to the ecmwf file, here's the same bug with the 1-degree GFS file GEMPAK-GDPOINT>r GDFILE: $HDS/gfs/2005112312_gfs.gem GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : urel SCALE : 0 051123/1200F000 : -0.83057 GEMPAK-GDPOINT>gfu = mul(urel,-0.83057) GEMPAK-GDPOINT>r GFUNC : mul(urel,-0.83057) 051123/1200F000 : 0.68985 GEMPAK-GDPOINT>gfu = mul(urel,urel) GEMPAK-GDPOINT>r GFUNC : mul(urel,urel) 051123/1200F000 : 0.85965 ***** WRONG!!!! s/b 0.689 and with the eta104 grids: GEMPAK-GDPOINT>gdfi = $HDS/eta/2005112312_eta104.gem GEMPAK-GDPOINT>gfu = urel GEMPAK-GDPOINT>r GDFILE: $HDS/eta/2005112312_eta104.gem GPOINT: @8.458;92.63 GVCORD: hagl GLEVEL: 10 GFUNC : urel SCALE : 0 051123/1200F000 : -2.27911 GEMPAK-GDPOINT>gfu= mul(urel,-2.27911) GEMPAK-GDPOINT>r GFUNC : mul(urel,-2.27911) 051123/1200F000 : 5.19433 Parameters requested: GDATTIM,GDFILE,GLEVEL,GPOINT,GVCORD,GFUNC,SCALE. GEMPAK-GDPOINT>gfu = mul(urel,urel) GEMPAK-GDPOINT>r GFUNC : mul(urel,urel) 051123/1200F000 : 5.28800 ***** WRONG!!!! s/b 5.194 GEMPAK-GDPOINT>gfun = vrel GEMPAK-GDPOINT>r GFUNC : vrel 051123/1200F000 : 2.67976 GEMPAK-GDPOINT>gfu = mag(vecr(urel,vrel)) GEMPAK-GDPOINT>r GFUNC : mag(vecr(urel,vrel)) 051123/1200F000 : 3.58182 ***** WRONG!!!! s/b 3.518 ====================================================================== Thanks in advance for taking a look at this. David -- David Ovens e-mail: address@hidden Research Meteorologist phone: (206) 685-8108 Dept of Atm. Sciences plan: Real-time MM5 forecasting for the Box 351640 Pacific Northwest University of Washington http://www.atmos.washington.edu/mm5rt Seattle, WA 98195 Weather Graphics and Loops http://www.atmos.washington.edu/~ovens/loops