Presentation on theme: "Interfacing BUFR to NMC Systems Jeff Ator NOAA National Weather Service United States of America WORLD METEOROLOGICAL ORGANIZATION RA."— Presentation transcript:
Interfacing BUFR to NMC Systems Jeff Ator NOAA National Weather Service United States of America WORLD METEOROLOGICAL ORGANIZATION RA II/VI Training Seminar on Table-Driven Codes Muscat, Oman, December 2005
BUFR – NMC interface In many cases, special software is needed to interface BUFR to NMC systems –Obviously, the details vary depending upon the NMC and BUFR decoder software in question In the case of an integrated system, the supplier may do most (or all?) of this interface work This discussion will cover: –A few hypothetical examples –Current practices at several NMCs
Hypothetical Example #1 Situation: –BUFR decoder requires one BUFR message per file, with no GTS or other headers included –NMC software provides multiple BUFR messages in a single file, with GTS and other communications headers included Solution: –An interface program would be needed to scan the NMC file for individual BUFR messages while ignoring the headers. The program would have to determine a unique file name for each BUFR message that was found and then write that message to that file so that it could later be input to the BUFR decoder software.
Hypothetical Example #2 Situation: –BUFR decoder requires an input file containing one or more BUFR messages, with no GTS or other headers included –NMC software provides each BUFR message in an individual file with the GTS header included Solution: –An interface program would be needed to scan each individual file, extract the BUFR message (while ignoring the GTS header), and append the message to a single, concatenated file of all BUFR messages that could later be input to the BUFR decoder software.
Hypothetical Example #3 Situation: –BUFR decoder software is written in FORTRAN –FORTRAN intrinsic I/O library requires accessed files to include FORTRAN control words –BUFR messages are in files without control words Solution: –An interface program written in some language other than FORTRAN (eg. C, C++, Perl) would be needed to read the BUFR messages from their original files and write them back out again to new files while adding FORTRAN control words (possibly by linking a FORTRAN-writing subroutine to the main interface program?). The new files could then be input to the BUFR decoder software.
Current practices at several NMCs U.S. National Centers for Environmental Prediction (NCEP) European Centre for Medium-Range Weather Forecasting (ECMWF) Météo France Australian Bureau of Meteorology
U.S. NCEP A locally-written BUFR encoder/decoder package in FORTRAN is used extensively throughout the centre. Incoming observational data of all formats is encoded into an enhanced BUFR format and is stored in this format according to date and data category/subcategory within a rotating UNIX filesystem that serves as the observational database for operations. This enhanced BUFR format contains additional local descriptors with pointers, byte padding and embedded table information that allow for fast extraction of individual subsets and data elements of interest for modeling and research.
ECMWF A locally-written BUFR encoder/decoder package is used extensively throughout the centre. The observational archive itself is in BUFR, and almost all software that handles observational data either reads or writes BUFR (or both) by incorporating the encoder/decoder package. However, because the numerical analyses use only a small subset of the available BUFR data, there are plans to improve operational efficiency by extracting these fields in advance from the main database archive into a separate smaller archive holding only those limited data elements needed by the analyses.
Météo France The ECMWF BUFR encoder/decoder package is used. Incoming data in alphanumeric and other non-BUFR formats are converted to BUFR. These, and other BUFR messages are stored in one or more NEONS databases. Most of the NMC applications access these databases.
Australian Bureau of Meteorology The ECMWF BUFR encoder/decoder package is used, and the data is stored in a NEONS database. A locally-written program reads BUFR messages direct from the message switch via a TCP/IP link, or from a file. For each BUFR message, the ECMWF decoder is called, and the decoded data is searched to determine which data is to be stored in the database. The data is then re-formatted to the form required by the database routines and stored.
Acknowledgements Special thanks to: Charles Sanders BOM-Australia Jean Clochard Météo France John Hennessey ECMWF Simon Elliott EUMETSAT Joël Martellet WMO