An Overview of Meteorological Observations in BUFR Format (including “PrepBUFR” files) Stacie Bender NWS/NCEP/EMC stacie.bender@noaa.gov GSI Tutorial June.

Slides:



Advertisements
Similar presentations
Interfacing BUFR to NMC Systems Jeff Ator NOAA National Weather Service United States of America WORLD METEOROLOGICAL ORGANIZATION RA.
Advertisements

Understanding an Apps Architecture ASFA Computer Science: Principles Fall 2013.
FM 94 BUFR and FM 95 CREX Table Driven Code Forms (or “Self-descriptive” Code Forms). The term "self-descriptive" means that the form and content of the.
New Resources in the Research Data Archive Doug Schuster.
1 © Crown copyright 2003 GRAS SAF User Workshop Helsingør, Denmark, June 2003 WMO BUFR Format for NRT Dissemination of RO Data Dave Offiler.
ICOADS Archive Practices at NCAR JCOMM ETMC-III 9-12 February 2010 Steven Worley.
7 +/- 2 Maybe Good Ideas John Caron June (1) NetCDF-Java (aka CDM) has lots of functionality, but only available in Java – NcML Aggregation – Access.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Many kinds of clients and servers This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts:
1 Information Gathering (Requirements Elicitation) Remember: distinguish “requirements” from “design” (big issue here?) Requirements are about “black box”
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Jeff Ator.  Convert incoming observational data of varying types and formats into BUFR for NCEP observational database in /dcom/us  49 different.
“Consistency is Key!” A Quick Guide to Online Marketing By Virtual Marketing Empire, LLC
Dr Mark Cresswell Model Assimilation 69EG6517 – Impacts & Models of Climate Change.
Introduction to IT and Communications Technology Justin Champion Network Connections & Number Systems.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Reading Data in Web Pages tMyn1 Reading Data in Web Pages A very common application of PHP is to have an HTML form gather information from a website's.
OCR Nationals – Unit 1 AO2 (Part 2) – s. Overview of AO2 (Part 2) To select and use tools and facilities to download files/information and to send.
JQuery Page Slider. Our goal is to get to the functionality of the Panic Coda web site.Panic Coda web site.
WMO 4.1 A critique of the existing data models for weather radar data exchange as presented in item 3.1 docs CBS/OPAG-IOS Workshop on Radar Data Exchange.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
Details for Today: DATE:18 th November 2004 BY:Mark Cresswell FOLLOWED BY:Literature exercise Model Assimilation 69EG3137 – Impacts & Models of Climate.
MADIS to LITTLE_R Converter MADIS observation types MADIS to LITTE_R converter Future work.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Unidata TDS Workshop TDS Overview – Part I XX-XX October 2014.
Area Of Study 2 Information And Communications Technology(ICT)
Accessing and Utilizing AMDAR Data for NWP Applications David R. Helms Office of Science and Technology NOAA National Weather Service AMDAR Regional Workshop.
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software.
Different approaches an analysis might use when investigating a system including: – Questionnaires – Interviews – Document gathering and analysis.
ICT IGCSE.  Introducing or changing a system needs careful planning  Why?
Ming Hu Developmental Testbed Center Introduction to Practice Session 2011 GSI Community Tutorial June 29-July 1, 2011, Boulder, CO.
Variables and ConstantstMyn1 Variables and Constants PHP stands for: ”PHP: Hypertext Preprocessor”, and it is a server-side programming language. Special.
Ruifang Li*, Ming Hu**, and Yongrun Guo* *NCAR/MMM **Developmental Testbed Center Community Tools (1) - PrepBUFR/BUFR: Basic tools, NCEP data tank, and.
Operational Deployment of Datasets ATS 690 Jason Burks Holly Allen.
Accessing Remote Datasets using the DAP protocol through the netCDF interface. Dr. Dennis Heimbigner Unidata netCDF Workshop August 3-4, 2009.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Final Exam Review Session 14 LBSC 790 / INFM 718B Building the Human-Computer Interface.
An Alternative Plan Virgil Bierschwale. Redesign Effort? In the “Outline of Redesign Effort” proposal that I received from Scott Henson, we find a massive.
Mtivity Client Support System Quick start guide. Mtivity Client Support System We are very pleased to announce the launch of a new Client Support System.
The Software Development Process
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
XP New Perspectives on Microsoft Access 2002 Tutorial 1 1 Microsoft Access 2007.
MADIS Airlines for America Briefing Meteorological Assimilated Data Ingest System (MADIS) FPAW Briefing Steve Pritchett NWS Aircraft Based Observations.
LINCPlus Overview Complete binding preparation module includes features such as security, titles database, reports and job costing options. Integrated.
Chapter 1 Introduction. Chapter 1 -- Introduction2  Def: Compiler --  a program that translates a program written in a language like Pascal, C, PL/I,
Intermediate 2 Computing Unit 2 - Software Development.
Action Item NCEP Central Operations 4-5 November 2015 COPC – Fall 2015.
Toward GSI Community Code Louisa Nance, Ming Hu, Hui Shao, Laurie Carson, Hans Huang.
Applications of BUFR (Why, when and how to use BUFR) Jeff Ator NOAA National Weather Service United States of America WORLD METEOROLOGICAL.
Surface Ob Issues in RTMA/URMA
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Observing the Current System Benefits Can see how the system actually works in practice Can ask people to explain what they are doing – to gain a clear.
Ming Hu Prepbufr converter for GSI GSI tutorial, 29 June 2010, Boulder.
OFCM CEISC December 12, 2005 Non-Traditional and Non-WMO Observational Networks: Transitioning of the Meteorological Assimilation Data Ingest System (MADIS)
The National Weather Service Goes Geospatial – Serving Weather Data on the Web Ken Waters Regional Scientist National Weather Service Pacific Region HQ.
US NWS Data Monitoring Robert Grumbine Diane Stokes, Jeff Whiting, John Derber, Steve Levine, Dennis Keyser, Joe Sienkiewicz,
Advanced Taverna Aleksandra Pawlik University of Manchester materials by Katy Wolstencroft, Aleksandra Pawlik, Alan Williams
June 20, 2005Workshop on Chemical data assimilation and data needs Data Assimilation Methods Experience from operational meteorological assimilation John.
Welcome to Mario Kart!... Er… EECS 183 Discussion!
Advanced Higher Computing Science
Binary Universal Form Representation (BUFR) Paul Hamer November, 2009
C++ coding standard suggestion… Separate reasoning from action, in every block. Hi, this talk is to suggest a rule (or guideline) to simplify C++ code.
Using the Parallel Universe beyond MPI
Modelling the internet
Modelling the internet
CS305, HW1, Spring 2008 Evaluation Assignment
Mastering Memory Modes
Software Development Techniques
Presentation transcript:

An Overview of Meteorological Observations in BUFR Format (including “PrepBUFR” files) Stacie Bender NWS/NCEP/EMC stacie.bender@noaa.gov GSI Tutorial June 29, 2010

Why use BUFR? Flexibility WMO Standard Compact Data Storage

Common Feelings about BUFR “I don’t have time to make an Olympic effort to learn how to deal with BUFR.” “Using BUFR is like herding cats. There’s too much to learn at once.” “BUFR drives me crazy!!” However, there is hope if you learn the basics and have some guidance!

NCEP BUFR Files: The Basics TOPICS COVERED: Obs processing/dataflow at NCEP: how BUFR fits into the “big picture” Interacting with BUFR files via the NCEP BUFRLIB software BUFR Tables Reading Writing Appending observations Where to go for help WHAT’S NOT COVERED: Exactly how to read and write all types of data available in BUFR format. (We’d be here until the end of the year!)

Overview of observations processing and dataflow at NCEP Managed jointly by NCEP Central Operations (NCO) and EMC Relies on NCEP BUFRLIB software Three stages: Tank files (large BUFR files holding 24h of data) Dump files (duplicate-checked data from tanks, contain 1, 3, 6h blocks of data) PrepBUFR files (QC’d obs from dump files)

BUFR vs. PrepBUFR BUFR = Binary Universal Form for the Representation of meteorological data (a WMO Standard) ** BUFR is a data format. ** PrepBUFR = “prepared” or QC’d data in BUFR format (NCEP Convention/Standard) ** PrepBUFR is the NCEP term for QC’d data in BUFR format. ** ** PrepBUFR files are still BUFR files. **

Dump Files (BUFR format) NWSTG/TOC “Gateway” EMC Outside NCEP Inside NCEP NCO BUFR Tanks GTS PMB SIB Gather data decode dumpjb Dump Files (BUFR format) NWSTG/TOC “Gateway” tranjb EMC LDM Satellite ingest scripts “Katz” scripts TNC Non-conventional Data QC Obs processing GSD LDM PrepBUFR files SMS job queries NESDIS servers for new data Radar ROC Analysis EMC NESDIS FTP ** Diagram originally developed by Shelley Melchior **

GTS = Global Telecommunications System World wide data gathers in GTS Sends data to NWSTG/TOC or the “Gateway” NWSTG/TOC = NWS Telecommunication Gateway/Telecommunication Operations Center Intercepts GTS messages Sends data to NCO via TNC (TOC to NCEP Communications) line and via LDM (Local Data Manager) GSD = NOAA/ESRL/GSD Provide Mesonet data to NCO via LDM several times hourly SIB converts data from netCDF to WMO BUFR Radar/ROC = NOAA Radar Operations Center For more information on how Radar data is processed visit: http://www.emc.ncep.noaa.gov/mmb/data_processing/data_processing/ NESDIS = National Environmental Satellite, Data, and Information Service Servers: (a) dds/ddstest – serves up POES data (operational/test) (b) satepsdist1e/satepsanone – serves up GOES data, winds, radiances, SST, etc … (operational/test) EMC runs SMS jobs to query the NESDIS servers for new data ** Information collected by Shelley Melchior and Dennis Keyser **

NCO = NCEP Central Operations PMB = Production Management Branch, 2 Groups with direct EMC interaction: Data Flow - pull data from the outside Interacts w/ the “Gateway”, LDM, ROC, etc … Data retrieval occurs continuously Gather all the data then pass it off to SIB for decoding SPA – make sure code is running 24/7, implement changes SIB = Systems Integration Branch, 1 Group with direct EMC interaction: Decoders - decodes data from native format to NCEP BUFR Decoders include: ACARS, Aircraft, Aviation Weather (METAR), Bathymetry, Drifting Buoy, Land Sfc, Marine Sfc, NeXRAD Wind, Profiler, Rawinsonde, Satellite Wind, Supplementary Climatology, Tide Gauge Decoding operates continuously on the CCS machines (currently stratus and cirrus) NCEP BUFR files stored in the tanks on CCS machines (/dcom(dev)/us007003) “tranjb” is the process that takes a single BUFR file and appends it to the appropriate tank ** Information collected by Shelley Melchior and Dennis Keyser **

EMC = Environmental Modeling Center Runs SMS jobs to periodically query the NESDIS servers for new data Compares latest available data against a local history file to determine if data is new. Retrieves new data via FTP Convert native data to NCEP BUFR and stores them in the tanks “tranjb” is the process that takes a single BUFR file and appends it to the appropriate tank Processing runs on both NCEP CCS machines (at discrete time steps defined for each data type; not continuous) ** Information collected by Shelley Melchior and Dennis Keyser **

Focus: PrepBUFR files Most GSI users are working with PrepBUFR files, so let’s focus on those. A bit of terminology: BUFR files (including “PrepBUFR” files) contain “messages”. Each message contains “subsets.” Each subset can contain 1 to n observations. In 1000 words: BUFR file… Message 1 Message 2 … Message n Subset 1 Subset 2 Subset n Ob / report 1 Ob / report 2 Ob / report n

Tables: Defining report structures in any kind of BUFR file (“PrepBUFR” files too!) Report structures for various types of observations / subsets are defined by “NCEP BUFR Tables” when using the NCEP BUFRLIB software. An excerpt from the PrepBUFR table at https://svnemc.ncep.noaa.gov/trac/obsproc/browser/trunk/fix/prepobs_prep.bufrtable for the ADPUPA (upper-air) data type: | ADPUPA   | HEADR   SIRC       {PRSLEVEL}  <SST_INFO>  <PREWXSEQ>  {CLOUDSEQ} | | ADPUPA   |        <CLOU2SEQ>  <SWINDSEQ>  <AFIC_SEQ>  <TURB3SEQ>             | HEADR, PRSLEVEL, SST_INFO, PREWXSEQ, CLOUDSEQ, CLOU3SEQ, SWINDSEQ, AFIC_SEQ, TURB3SEQ expand further (see next slide). Excellent reference for NCEP BUFR TABLES: http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/toc/dfbftab/

No need to be intimidated! The fully expanded report structure may look confusing, but it all boils down to individual data values. Expanding all the sequences, even if you need to do it by hand, will help you easily understand exactly what is contained within the report.

Replication: a way to efficiently store data in BUFR format < MNEMONIC > = “one-bit replication” { MNEMONIC } OR [ MNEMONIC ] = “8-bit delayed replication”: repeat these values up to 255 times ( MNEMONIC ) = “16-bit delayed replication”: repeat these values up to 65,535 times

NCEP BUFRLIB Software An overview is presented in this presentation, not every nitty gritty detail of how to read and write PrepBUFR files (unless you’d like to stay until the next millennium). There is detailed, clearly-explained, very useful BUFRLIB documentation written by NCO’s Jeff Ator: http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/ Quality reference for: Purposes/specific uses of major BUFRLIB routines BUFRLIB routine arguments

Commonly Used BUFRLIB Routines openbf readmg/ireadmg readsb/ireadsb openmb ufbint ufbrep ufbseq writsb closbf Detailed documentation of the use of these routines is available at: http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/

Pseudo-code for READING call openbf ! Opens a BUFR file for reading do while(ireadmg.eq.0) ! Starts the read of BUFR messages do while(ireadsb.eq.0) ! Starts the read of BUFR subsets within the current message depending on data types and their report structures, call: ufbint ufbrep ufbseq ^ These routines pull the data values from the BUFR subsets in the BUFR (or PrepBUFR) file. enddo ! ireadsb enddo ! ireadmg call closbf ! Close the BUFR file

Pseudo-code for WRITING call openbf ! Opens a BUFR file for writing call openmb ! Opens a BUFR message for writing (it will also close any previously open BUFR messages if they are full.) ! To store data in BUFRLIB memory, call: ufbint ufbrep ufbseq call writsb ! Send data stored via “ufb” routines to output file call closbf ! Close the BUFR file

Appending data to an existing file Before appending any new data, look at the BUFR table associated with the PrepBUFR file to which you’re appending data. Make sure the report structure in the existing file fits the report structure of the data you want to append. Sometimes the report structure changes as new variables get added. The report structures in the table used to build the original BUFR file should match the report structures of the data you want to add. If not, you may get errors when using the BUFRLIB. The main difference between writing out a brand new BUFR file (or PrepBUFR file) lies in the second argument to the BUFRLIB subroutine openbf (open BUFR file): call openbf(outlun,'OUT',dxlun) ! Open brand new BUFR file for output VS call openbf(outlun,'APN',dxlun) ! Append data to existing BUFR file

Online sources of help and information NCO BUFRLIB Documentation: http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/ WMO General BUFR Docs: http://www.wmo.int/pages/prog/www/WMOCodes/Guides/BUFRCREXPreface_en.html Obs/QC Processing Forum (including BUFR): http://optimus.ncep.noaa.gov/forum/viewforum.php?f=29 - may need to be inside NCEP firewall for access EMC Docs: http://www.emc.ncep.noaa.gov/mmb/data_processing/data_processing/ and http://www.emc.ncep.noaa.gov/mmb/data_processing/bufrtab_tableb.htm

What if the online docs don’t answer your question? Some problems and challenges faced by those working with files in BUFR format are best handled on a case-by-case basis. How to get help and information from real, live humans (yes, there are humans in EMC!): BUFRLIB support via online web form: http://www.nco.ncep.noaa.gov/sib/decoders/mail_bufrlib/ - comments and questions sent via this form reach several of us in EMC and NCO. Exchanges are then made via email to solve problems. Send email to me: stacie.bender@noaa.gov. If I can’t answer your question, chances are I know someone who can.

In a nutshell… The BUFR format for meteorological data is flexible and powerful but sometimes confusing for new (and even experienced!) users. NCEP uses the BUFRLIB software and BUFR tables to interact with BUFR files (including PrepBUFR files). Working with BUFR files requires some patience, especially at first. Often, the BUFR format and the BUFRLIB software are easiest to learn by: working through examples experimentation not being afraid to dig in and try out your own code Help is available! Most experienced users still remember the growing pains they felt while learning to use BUFR files. Please ask for help if you need it!

Questions?