Hi Evan,
In GDDIAG, try setting the packing variable "GPACK" to "NONE". The
default, if "GPACK" is set to <blank> is to use "GRIB/16" packing. I
think you may have unconvered a bug in the packing process which is not
treating a grid whose points are all set equal to "RMISSD" properly.
--Kevin
______________________________________________________________________
Kevin Tyle, Systems Administrator **********************
Dept. of Atmospheric & Environmental Sciences ktyle@xxxxxxxxxxxxxxxx
University at Albany, ES-235 518-442-4578 (voice)
1400 Washington Avenue 518-442-5825 (fax)
Albany, NY 12222 **********************
______________________________________________________________________
On 10/08/2010 12:20 PM, Evan Lowery wrote:
Hello all,
I've found a possible bug (or user error) with GDDIAG and the MASK
grid function, but wanted to check with everyone here before sending
out an official support request.
Within a GEMPAK grid file (test.grd), I have a temperature field
(TEMPA) which needs to be masked to only show values between a certain
temperature range (>=80F). I run this process daily, and have never
had a problem up until this point. When NO temperatures in TEMPA are
>=80F, the MASK function generates an erroneously large number rather
than -9999.00 (RMISSD).
Dataset: test.grd
gdlist
GDATTIM=101007/0000F001
GLEVEL=0
GVCORD=NONE
GFUNC=TEMPA
Using GDLIST (tempa.dat) I see that TEMPA:
MINIMUM AND MAXIMUM VALUES 1.03 60.00
Goal: only keep temperatures >=80F
gddiag
GDATTIM=101007/0000F001
GLEVEL=0
GVCORD=NONE
GFUNC=MASK(TEMPA,SGE(TEMPA,80))
GRDNAM=TEMPB
GRDTYP=S
GPACK=
GRDHDR=
PROJ=
GRDAREA=
KXKY=
MAXGRD=
CPYFIL=
ANLYSS=
Using GDLIST (tempb.dat) I see that TEMPB:
MINIMUM AND MAXIMUM
VALUES9999999848243207295109594873856.009999999848243207295109594873856.00
I would expect all TEMPB values to be -9999.00 (RMISSD) since no
temperatures are greater than 80F, but instead it blows up and returns
a very large value.
http://www.unidata.ucar.edu/cgi-bin/gempak/manual/apxB_index
MASK Masking function MASK (S1, S2) = RMISSD IF S2 = RMISSD
= S1 otherwise
In this example TEMPA had no values >=80F, but my csh scripts are
constantly mining through temperature grids, and "usually" there are
values >=80F.
Has anyone ever experienced this type of result? If yes, do you know
a work around to get the grid (TEMPB) with all values = -9999.00
(RMISSD) rather than erroneously large values?
Regards,
Evan Lowery
_______________________________________________
gembud mailing list
gembud@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/mailing_lists/