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

[GEMPAK #NKM-848711]: decoding NCWF BUFR data?



> Hi folks,
> 
> I'm working on trying to decode the NCWF products that come to us
> through NOAAPORT, or that can be found on the ftp server at NOAA.
> 

Chris,
I provide decoder actions for the AWC GRIB format data on NOAAPORT.
See $NAWIPS/ldm/etc/templates/pqact.gempak_decoders.in such as:

# 
# Aviation grids
HDS     ^[YZ]..... KKCI.*/mAWC_NCWD
        PIPE    decoders/dcgrib2 -d data/gempak/logs/dcgrib2_AWC_NCWD.log
                -e GEMTBL=@GEMTBL@
                data/gempak/model/awc/YYYYMMDD_ncwd.gem
#
HDS     ^[YZ]..... KKCI.*/mAWC_CIP
        PIPE    decoders/dcgrib2 -d data/gempak/logs/dcgrib2_AWC_CIP.log
                -e GEMTBL=@GEMTBL@
                data/gempak/model/awc/YYYYMMDD_cip.gem
#  
HDS     ^[YZ]..... KKCI.*/RUC2
        PIPE    decoders/dcgrib2 -d data/gempak/logs/dcgrib2_AWC_TURB.log
                -e GEMTBL=@GEMTBL@
                data/gempak/model/awc/YYYYMMDD_turb.gem


For what its worth, cwordsh is available in the current
binary distributions, so you could grab that if you wanted to play
with your grads program, but I can't help you on that end.

For the GRIB data, they decode into:
 GRID FILE: /data/ldm/gempak/model/awc/20070823_ncwd.gem                        
                                

 GRID NAVIGATION: 
     PROJECTION:          CED                 
     GRID SIZE:         1830 918
     LL CORNER:              20.02    230.02
     UR CORNER:              53.00    300.00

Thats 1,679,940 points- which you'll note is the size I defined in 5.9.4:
http://www.unidata.ucar.edu/software/gempak/GEMPAK5.10/whats_new.html#5.9.4

Displaying the ncwd in GDPLOT2 as an example

IJSKIP=y
GDPFUN=cwdi
TYPE=z   (just fill the grid boxes)
FINT     = 1;2;3;4;5
FLINE    = 0;30;23;18;15;12;7

I didn't define a datatype.tbl alias, but can add that as well.

Steve Chiswell
Unidata User Support





> Product details for the NCWF can be found at:
> http://aviationweather.gov/products/ncwf/info.php
> 
> FTP for the data is at:
> 
> ftp://tgftp.nws.noaa.gov/SL.us008001/DC.avspt/DS.ncwf
> 
> The WMO headings for the NCWD/F are as follows:
> 
> NCWD    ZDIA98 KKCI
> NCWF    JSAT98 KKCI
> 
> I tried to use bufrscan to see what I can get from the files and I got
> these messages:
> 
> $ bufrscan -h $GEMTBL/bufr sn.0300.bin
> Error opening table B file
> (/opt/wxapps/gempak/GEMPAK5.9.4/gempak/tables/bufr/B3M-000-007-B): No
> such file or directory
> 
> $ bufrscan -h $GEMTBL/melbufr sn.0300.bin
> Segmentation fault
> 
> Here are some system items:
> $ uname -a
> Linux zephyr.db.erau.edu 2.4.21-50.ELsmp #1 SMP Tue May 8 17:18:29 EDT
> 2007 i686 i686 i386 GNU/Linux
> $ cat /etc/redhat-release
> Red Hat Enterprise Linux WS release 3 (Taroon Update 6)
> 
> I'm running bufrscan from Grads version 1.9b4.  I'm running Gempak
> 5.9.4.  I looked at the Gempak changes list and see that the utility
> cwordsh is provided to deal with bufr data.  I tried to build cwordsh.x
> and the bufrlib items, but I got some errors with that too.  Bummer!
> 
> Ideally I'd like to plot the contents of these NCWF files.  In the
> least, I need to extract the info so I can find another way to plot
> them.  (Shapefiles wouldn't be all bad.)
> 
> Any help you can provide would be GREATLY appreciated!
> 
> Thanks,
> 
> Chris H.
> 
> --
> 
> Dr. Christopher G. Herbster
> Associate Professor
> Director of Science and Technology
> for the ERAU Weather Center
> Applied Aviation Sciences
> Embry-Riddle Aeronautical Univ.
> 600 S. Clyde Morris Blvd.
> Daytona Beach, FL 32114-3900
> 
> 386.226.6444 Office
> 386.226.6446 Weather Center
> http://wx.erau.edu/
> 
> 
> ----  Output from building the bufrlib and cwordsh utilities.
> 
> 
> [herbster@zephyr ~/Bufrlib]$ cc -v
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit
> --host=i386-redhat-linux
> Thread model: posix
> gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-53)
> [herbster@zephyr ~/Bufrlib]$ f77 -v
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit
> --host=i386-redhat-linux
> Thread model: posix
> gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-53)
> [herbster@zephyr ~/Bufrlib]$ cc -c *.c
> [herbster@zephyr ~/Bufrlib]$ f77 -c *.f
> [herbster@zephyr ~/Bufrlib]$ ar crv libbufr.a *.o
> a - bort_exit.o
> a - cadn30.o
> a - capit.o
> a - ccbfl.o
> a - chekstab.o
> a - chrtrn.o
> a - chrtrna.o
> a - cktaba.o
> a - closbf.o
> a - closmg.o
> a - cmpmsg.o
> a - cmsgini.o
> a - cnved4.o
> a - cobfl.o
> a - conwin.o
> a - copybf.o
> a - copymg.o
> a - copysb.o
> a - cpbfdx.o
> a - cpymem.o
> a - cpyupd.o
> a - crbmg.o
> a - cwbmg.o
> a - datebf.o
> a - datelen.o
> a - digit.o
> a - drfini.o
> a - drstpl.o
> a - dumpbf.o
> a - dxdump.o
> a - dxinit.o
> a - dxmini.o
> a - elemdx.o
> a - getabdb.o
> a - getlens.o
> a - gets1loc.o
> a - getwin.o
> a - i4dy.o
> a - ichkstr.o
> a - icopysb.o
> a - idn30.o
> a - ifbget.o
> a - ifxy.o
> a - igetdate.o
> a - inctab.o
> a - invcon.o
> a - invmrg.o
> a - invtag.o
> a - invwin.o
> a - ipkm.o
> a - ireadft.o
> a - ireadibm.o
> a - ireadmg.o
> a - ireadmm.o
> a - ireadns.o
> a - ireadsb.o
> a - irev.o
> a - istdesc.o
> a - iupb.o
> a - iupbs01.o
> a - iupbs1.o
> a - iupm.o
> a - iupvs01.o
> a - iupvs1.o
> a - jstchr.o
> a - jstnum.o
> a - ljust.o
> a - lmsg.o
> a - lstjpb.o
> a - lstrpc.o
> a - lstrps.o
> a - makestab.o
> a - maxout.o
> a - mesgbc.o
> a - mesgbf.o
> a - minimg.o
> a - mova2i.o
> a - mrginv.o
> a - msgini.o
> a - msgupd.o
> a - msgwrt.o
> a - mvb.o
> a - nemock.o
> a - nemtab.o
> a - nemtba.o
> a - nemtbax.o
> a - nemtbb.o
> a - nemtbd.o
> a - nenuaa.o
> a - nenubd.o
> a - nevn.o
> a - newwin.o
> a - nmbyt.o
> a - nmsub.o
> a - nmwrd.o
> a - numbck.o
> a - numtab.o
> a - numtbd.o
> a - nvnwin.o
> a - nwords.o
> a - nxtwin.o
> a - openbf.o
> a - openbt.o
> a - openmb.o
> a - openmg.o
> a - ovrbs1.o
> a - pad.o
> a - padmsg.o
> a - parseq.o
> a - parusr.o
> a - parutg.o
> a - pkb.o
> a - pkbs1.o
> a - pkc.o
> a - pkftbv.o
> a - pktdd.o
> a - pkvs01.o
> a - pkvs1.o
> a - posapn.o
> a - posapx.o
> a - rbytes.o
> a - rcstpl.o
> a - rdbfdx.o
> a - rdcmps.o
> a - rdmemm.o
> a - rdmems.o
> a - rdmgsb.o
> a - rdmsgb.o
> a - rdmsgw.o
> a - rdtree.o
> a - rdusdx.o
> a - readdx.o
> a - readerme.o
> a - readft.o
> a - readibm.o
> a - readlc.o
> a - readmg.o
> a - readmm.o
> a - readns.o
> a - readsb.o
> a - restd.o
> a - rewnbf.o
> a - rjust.o
> a - rsvfvm.o
> a - seqsdx.o
> a - status.o
> a - stdmsg.o
> a - stndrd.o
> a - strcln.o
> a - string.o
> a - strnum.o
> a - strsuc.o
> a - subupd.o
> a - tabent.o
> a - tabsub.o
> a - trybump.o
> a - ufbcnt.o
> a - ufbcpy.o
> a - ufbcup.o
> a - ufbdmp.o
> a - ufbevn.o
> a - ufbget.o
> a - ufbin3.o
> a - ufbint.o
> a - ufbinx.o
> a - ufbmem.o
> a - ufbmms.o
> a - ufbmns.o
> a - ufbovr.o
> a - ufbpos.o
> a - ufbqcd.o
> a - ufbqcp.o
> a - ufbrep.o
> a - ufbrms.o
> a - ufbrp.o
> a - ufbrw.o
> a - ufbseq.o
> a - ufbsp.o
> a - ufbstp.o
> a - ufbtab.o
> a - ufbtam.o
> a - ufdump.o
> a - upb.o
> a - upbb.o
> a - upc.o
> a - upds3.o
> a - upftbv.o
> a - uptdd.o
> a - usrtpl.o
> a - valx.o
> a - wrcmps.o
> a - wrdesc.o
> a - wrdlen.o
> a - writca.o
> a - writcp.o
> a - writdx.o
> a - writlc.o
> a - writsa.o
> a - writsb.o
> a - wrtree.o
> a - wtstat.o
> [herbster@zephyr ~/Bufrlib]$ cd ../Gempak/cwordsh/
> [herbster@zephyr cwordsh]$ f77 -o cwordsh.x cwordsh.f ~/Bufrlib/libbufr.a
> /tmp/ccgi50TF.o(.text+0x225): In function `MAIN__':
> : undefined reference to `cobfl_'
> /tmp/ccgi50TF.o(.text+0x2e6): In function `MAIN__':
> : undefined reference to `cobfl_'
> /tmp/ccgi50TF.o(.text+0x2fe): In function `MAIN__':
> : undefined reference to `cobfl_'
> /tmp/ccgi50TF.o(.text+0x323): In function `MAIN__':
> : undefined reference to `crbmg_'
> /tmp/ccgi50TF.o(.text+0x422): In function `MAIN__':
> : undefined reference to `cwbmg_'
> /tmp/ccgi50TF.o(.text+0x501): In function `MAIN__':
> : undefined reference to `crbmg_'
> /tmp/ccgi50TF.o(.text+0x50e): In function `MAIN__':
> : undefined reference to `ccbfl_'
> /home/faculty/herbster/Bufrlib/libbufr.a(padmsg.o)(.text+0x9d): In
> function `padmsg_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(wrdlen.o)(.text+0xfbf): In
> function `wrdlen_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(wrdlen.o)(.text+0x100f): In
> function `wrdlen_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(wrdlen.o)(.text+0x1076): In
> function `wrdlen_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(wrdlen.o)(.text+0x10c6): In
> function `wrdlen_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(iupm.o)(.text+0x13d): more
> undefined references to `bort_' follow
> collect2: ld returned 1 exit status
> [herbster@zephyr cwordsh]$
> 
> Thinking there may be an "underscore" issue with the compiler I tried
> the following:
> 
> [herbster@zephyr cwordsh]$ cd -
> [herbster@zephyr ~/Bufrlib]$ \rm *.o *.a
> [herbster@zephyr ~/Bufrlib]$
> [herbster@zephyr ~/Bufrlib]$
> [herbster@zephyr ~/Bufrlib]$ cc -DUNDERSCORE -c *.c
> [herbster@zephyr ~/Bufrlib]$ f77 -c *.f
> [herbster@zephyr ~/Bufrlib]$ ar crv libbufr.a *.o
> a - bort_exit.o
> a - cadn30.o
> a - capit.o
> a - ccbfl.o
> a - chekstab.o
> a - chrtrn.o
> a - chrtrna.o
> a - cktaba.o
> a - closbf.o
> a - closmg.o
> a - cmpmsg.o
> a - cmsgini.o
> a - cnved4.o
> a - cobfl.o
> a - conwin.o
> a - copybf.o
> a - copymg.o
> a - copysb.o
> a - cpbfdx.o
> a - cpymem.o
> a - cpyupd.o
> a - crbmg.o
> a - cwbmg.o
> a - datebf.o
> a - datelen.o
> a - digit.o
> a - drfini.o
> a - drstpl.o
> a - dumpbf.o
> a - dxdump.o
> a - dxinit.o
> a - dxmini.o
> a - elemdx.o
> a - getabdb.o
> a - getlens.o
> a - gets1loc.o
> a - getwin.o
> a - i4dy.o
> a - ichkstr.o
> a - icopysb.o
> a - idn30.o
> a - ifbget.o
> a - ifxy.o
> a - igetdate.o
> a - inctab.o
> a - invcon.o
> a - invmrg.o
> a - invtag.o
> a - invwin.o
> a - ipkm.o
> a - ireadft.o
> a - ireadibm.o
> a - ireadmg.o
> a - ireadmm.o
> a - ireadns.o
> a - ireadsb.o
> a - irev.o
> a - istdesc.o
> a - iupb.o
> a - iupbs01.o
> a - iupbs1.o
> a - iupm.o
> a - iupvs01.o
> a - iupvs1.o
> a - jstchr.o
> a - jstnum.o
> a - ljust.o
> a - lmsg.o
> a - lstjpb.o
> a - lstrpc.o
> a - lstrps.o
> a - makestab.o
> a - maxout.o
> a - mesgbc.o
> a - mesgbf.o
> a - minimg.o
> a - mova2i.o
> a - mrginv.o
> a - msgini.o
> a - msgupd.o
> a - msgwrt.o
> a - mvb.o
> a - nemock.o
> a - nemtab.o
> a - nemtba.o
> a - nemtbax.o
> a - nemtbb.o
> a - nemtbd.o
> a - nenuaa.o
> a - nenubd.o
> a - nevn.o
> a - newwin.o
> a - nmbyt.o
> a - nmsub.o
> a - nmwrd.o
> a - numbck.o
> a - numtab.o
> a - numtbd.o
> a - nvnwin.o
> a - nwords.o
> a - nxtwin.o
> a - openbf.o
> a - openbt.o
> a - openmb.o
> a - openmg.o
> a - ovrbs1.o
> a - pad.o
> a - padmsg.o
> a - parseq.o
> a - parusr.o
> a - parutg.o
> a - pkb.o
> a - pkbs1.o
> a - pkc.o
> a - pkftbv.o
> a - pktdd.o
> a - pkvs01.o
> a - pkvs1.o
> a - posapn.o
> a - posapx.o
> a - rbytes.o
> a - rcstpl.o
> a - rdbfdx.o
> a - rdcmps.o
> a - rdmemm.o
> a - rdmems.o
> a - rdmgsb.o
> a - rdmsgb.o
> a - rdmsgw.o
> a - rdtree.o
> a - rdusdx.o
> a - readdx.o
> a - readerme.o
> a - readft.o
> a - readibm.o
> a - readlc.o
> a - readmg.o
> a - readmm.o
> a - readns.o
> a - readsb.o
> a - restd.o
> a - rewnbf.o
> a - rjust.o
> a - rsvfvm.o
> a - seqsdx.o
> a - status.o
> a - stdmsg.o
> a - stndrd.o
> a - strcln.o
> a - string.o
> a - strnum.o
> a - strsuc.o
> a - subupd.o
> a - tabent.o
> a - tabsub.o
> a - trybump.o
> a - ufbcnt.o
> a - ufbcpy.o
> a - ufbcup.o
> a - ufbdmp.o
> a - ufbevn.o
> a - ufbget.o
> a - ufbin3.o
> a - ufbint.o
> a - ufbinx.o
> a - ufbmem.o
> a - ufbmms.o
> a - ufbmns.o
> a - ufbovr.o
> a - ufbpos.o
> a - ufbqcd.o
> a - ufbqcp.o
> a - ufbrep.o
> a - ufbrms.o
> a - ufbrp.o
> a - ufbrw.o
> a - ufbseq.o
> a - ufbsp.o
> a - ufbstp.o
> a - ufbtab.o
> a - ufbtam.o
> a - ufdump.o
> a - upb.o
> a - upbb.o
> a - upc.o
> a - upds3.o
> a - upftbv.o
> a - uptdd.o
> a - usrtpl.o
> a - valx.o
> a - wrcmps.o
> a - wrdesc.o
> a - wrdlen.o
> a - writca.o
> a - writcp.o
> a - writdx.o
> a - writlc.o
> a - writsa.o
> a - writsb.o
> a - wrtree.o
> a - wtstat.o
> [herbster@zephyr ~/Bufrlib]$ cd -
> [herbster@zephyr cwordsh]$ f77 -o cwordsh.x cwordsh.f ~/Bufrlib/libbufr.a
> /home/faculty/herbster/Bufrlib/libbufr.a(cobfl.o)(.text+0xbe): In
> function `cobfl_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(cobfl.o)(.text+0x187): In
> function `cobfl_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(cobfl.o)(.text+0x226): In
> function `cobfl_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(crbmg.o)(.text+0x6b): In
> function `crbmg_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(cwbmg.o)(.text+0x47): In
> function `cwbmg_':
> : undefined reference to `bort_'
> /home/faculty/herbster/Bufrlib/libbufr.a(ipkm.o)(.text+0x19a): more
> undefined references to `bort_' follow
> collect2: ld returned 1 exit status
> [herbster@zephyr cwordsh]$
> 
> 
> 


Ticket Details
===================
Ticket ID: NKM-848711
Department: Support GEMPAK
Priority: Normal
Status: Closed