[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20021126: Unidata gribdec.tar.Z bundle (cont.)



>From: "HOETH, BRIAN R. (JSC-ZS) (LM)" <address@hidden>
>Organization: JSFC
>Keywords: 200211192250.gAJMoQ427093 McIDAS gribdec gbtbpds001.bv1

Brian,

>Sorry to bug you since you're the only one there that does McIDAS support
>... 

No worries.

>Example 1x1 AVN (aka GFS) GRIB file we're decoding:
>ftp://tgftp.nws.noaa.gov/SL.us008001/ST.opnl/MT.avn_CY.00/RD.20021126/PT.gri
>d_DF.gr1/fh.0015_tl.press_gr.onedeg

OK. I grabbed this file.

>We build/run the gribdec.k on an HP J5600 workstation running HP-UX 11.i
>(11.11).  Compiler is F90.  

I am using a Sun E450 running Solaris 9 and I am using gcc/g77 as compilers.

>Here is an example GRDDISP of the Pressure at MSL and the 10 meter winds
>from the 00Z GFS run, forecast hour 15:
>http://www.srh.noaa.gov/smg/GFS00ZFHR15.GIF
>
>And here is the surface analysis from 15Z (SFCCON of PMSL and SFCPLOT of
>WINDB):
>http://www.srh.noaa.gov/smg/SFCANAL15Z.GIF

OK.

>As you can see, the two don't agree at all?  The winds are off in direction
>by 90 degrees down by us here in Houston and also the winds don't even seem
>to match up with the model's own pressure pattern?

I agree.  The pressure fields are shifted by 180 degrees east.  The big
low that is indicated as being at about 156 East should be at about 24
W.  This means that the specification of the LAT,LON limits in grib
table B (gbtbpds001.bv1) are off.

Yup, I see it.  From the GRIB document, the first grid point for grid 3
is at 90 N and 0 East.  The McIDAS gbtbpds001.bv1 puts the point at 90
N and 180 West.  This accounts for the 180 degree shift in the grid
features.

I tried copying one grid decoded by gribdec.k to its own GRID file and
using LWU POKE to play the nav portion.  I found that if I set the
upper left point to 90N, 0E and the lower right point to 90S, 360E I
get the correct navigation.  The resulting P at SFC for the world is:

http://www.unidata.ucar.edu/staff/tom/gifs/pmsl_avn_1deg.gif

This matches the observed weather patterns and a GEMPAK display for the
same grib message, so I feel confident that it is correct.

Now, the question is how to modify the table entries to assign the
right LAT,LON points to the upper left and lower right grid points.  I
tried the following which worked:

Edit the copy of gbtbpds001.bv1 that is bundled with gribdec.tar.Z and
change the entries for grids 2, 3, and 4.

-- Hopefully, you are making sure that the copy of gbtbpds001.bv1 bundled
   with gribdec.tar.Z is the one that gets used when decoding.  I do this
   by making sure that my MCPATH is set so that the directory where
   gribdec.tar.Z is unpacked and gribdec.k is used is the first one in
   MCPATH:

MCPATH=/home/mcidas/gribdec:$MCPATH

Here is the change you have to make in gbtbpds001.bv1:

change:

002 | 90S - 90N 180W - 180E
      Mercator | 1 | 10512|  73| 144| 90.0| 180.0| -90.0| -180.0| 2.5|  2.5
      10512 | 73|  144|  90.0| 180.0| -90.0| -180.0| 2.5|  2.5
003 | 90S - 90N 180W - 180E
      Mercator | 1 | 65160|  181|  360| 90.0| 180.0| -90.0| -180.0| 1.0|  1.0
      65160 | 181| 360|  90.0| 180.0| -90.0| -180.0| 1.0|  1.0
004 | 0N - 90N 0E - 90E
      Mercator | 1 | 259920| 361| 720| 90.0| 180.0| -90.0| -180.0| 0.5|  0.5
      259920 | 361|  720|  90.0| 180.0| -90.0| -180.0| 0.5|  0.5

to:

002 | 90S - 90N 180W - 180E
      Mercator | 1 | 10512|  73| 144| 90.0|   0.0| -90.0| -360.0| 2.5|  2.5
      10512 | 73|  144|  90.0|   0.0| -90.0| -360.0| 2.5|  2.5
003 | 90S - 90N 180W - 180E
      Mercator | 1 | 65160|  181|  360| 90.0|   0.0| -90.0| -360.0| 1.0|  1.0
      65160 | 181| 360|  90.0|   0.0| -90.0| -360.0| 1.0|  1.0
004 | 0N - 90N 0E - 90E
      Mercator | 1 | 259920| 361| 720| 90.0|   0.0| -90.0| -360.0| 0.5|  0.5
      259920 | 361|  720|  90.0|   0.0| -90.0| -360.0| 0.5|  0.5

After making the change, decode the data from fh.0015_tl.press_gr.onedeg
into a different GRID file and then display the P at MSL field.  Here
is an example of what I did:

ERASE
GRDDISP MYDATA/GRIDS.6010 PAR=P LEV=MSL CINT=4

which can be seen in:

http://www.unidata.ucar.edu/staff/tom/gifs/pmsl_1deg_avn.gif

This is identical to the one that I created using LWU POKE to muck
with the nav parameters in the original output GRID file.

OK, so far so good.  Now for the bad news :-(

GRDDISP has problems in plotting the decoded grids over certain maps.
For instance, the following produces no contours:

ERASE
MAP WORLD
GRDDISP MYDATA/GRIDS.6010 PAR=P LEV=MSL CINT=4 NAV=C

In fact, it appears that no contours will be plotted for maps whose
LAT,LON extents are west of the upper left hand point of the grid AND
don't contain the dateline.  Go figure that one out!!  The good for
you, perhaps, is that GRDDISP for these grids seems works fine over
satellite images.

>I really don't think (?) it's a compile issue though because the decoder
>seems to work fine for 12 km ETA data (example ETA data:
>ftp://tgftp.nws.noaa.gov/SL.us008001/ST.opnl/MT.eta_CY.00/RD.20021126/PT.gri
>d_DF.gr1/fh.0015_tl.press_gr.awip12)?

I agree.  The problem is in the navigation definition in gbtbpds001.bv1.
There is also a problem if you force the decoder to decode the nav
block from the grib message.  I don't even want to dive into that one
right now.

>Here is an example GRDDISP of the Pressure at MSL and the 10 meter winds
>from the 00Z ETA run, forecast hour 15:
>http://www.srh.noaa.gov/smg/ETA00ZFHR15.GIF
>
>Looks pretty close to the analysis.

Yup.

>Thanks a million for all your help!!

Is that a million in cash or a million in promissary beers ;-)

Tom