260 likes | 437 Views
Digital Weather XML Specification. John Schattel 9 December 2003. Overview. Why we created the Digital Weather Markup Language (DWML) Review DWML data model Elements and Attributes Data relationships Examine two sample DWML products Forecast at a Glance Product
E N D
Digital Weather XML Specification John Schattel 9 December 2003
Overview • Why we created the Digital Weather Markup Language (DWML) • Review DWML data model • Elements and Attributes • Data relationships • Examine two sample DWML products • Forecast at a Glance Product • Digital Tabular Forecast Product • Look at DWML data types
The Goal • Satisfy needs expressed in the MDL NDFD XML Requirements document • Allow NWS users to obtain selected data from the National Digital Forecast Database (NDFD) • Provide a specific set of weather elements for a specific location at a specific time • Users can already FTP entire NDFD grids • Involves megabytes of data • Requires degrib software • Make data available for world wide web applications using XML
What is XML • An internet technology created to facilitate data exchange and storage • A tool for creating other markup languages • New language follows specific rules • Instances can be automatically validated • Supported by a suite of technologies (XSLT, Xpath, XQL) to display and process the data
Why Use XML • NWS data available in a human readable self describing form • Sample GRIB • Sample XML • User community can exploit existing internet technologies to integrate NDFD data into html pages and web applications • Sample Reformatted Data • Character data is very portable • Instances can be validated
Space Time Weather Element NDFD Data
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } Element Attribute version … … … … … …
… ? Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } Example Example
? ? ? refresh-frequency Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { }
? ? Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { }
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } … latitude longitude summarization ? state summarization ? state summarization ?
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } ? ? ? datum height-units vertical-coordinate vertical-coordinate
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } area-type summarization ? summarization ? latitude longitude summarization ? radius-units latitude longitude summarization ? latitude longitude summarization ? latitude longitude summarization ? latitude longitude summarization ?
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } time-coordinate summarization + * period-name Example
… * * * * * … … type units time-layout categorical-table? conversion-table? type units time-layout categorical-table? conversion-table? type units time-layout categorical-table? conversion-table? type units time-layout categorical-table? conversion-table? type units time-layout categorical-table? conversion-table? Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } applicable-location
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } * ? … type units time-layout categorical-table ? conversion-table? type units time-layout categorical-table? conversion-table? Example
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } units + category Example
+ Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } Example
type units time-layout categorical-table ? conversion-table ? upper-range ? lower-range ? Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } applicable-location Example NOTE: This structure applies to precipitation, probability-of-precipitation, wind-speed, direction, and humidity
type units time-layout categorical-table ? conversion-table ? upper-range ? lower-range ? Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } applicable-location Example
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } applicable-location time-layout categorical-table ? conversion-table ? + coverage ? intensity ? additive ? qualifier ? weather-type ? *(max of 5) units Example
time-layout … * type units categorical-table ? conversion-table ? * type units categorical-table ? conversion-table ? ? + ? + ? upper-range lower-range period steepness upper-range lower-range period steepness Data Model ? <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } applicable-location Example
Data Model <dwml> <head> <product /> <source /> </head> <data> <location /> <time-layout /> <parameters /> <categorical-definitions /> <conversion-definitions /> </data> </dwml> more follows = … zero or one = ? zero or more = * one or more = + choose one = { } applicable-location time-layout * type units categorical-table ? conversion-table ? ? + ? upper-range lower-range period steepness upper-range lower-range period steepness Example
MDL XML Products • Forecast at a Glance Product • Provides high and low temperature, sky cover and a weather icon • DWML Sample (7K)
MDL XML Products • Tabular Forecast Product • Provides weather elements over a specified time range at the highest temporal resolution of each weather element • DWML Sample (9 K)
DWML References • MDL XML Development Page • Draft MDL NDFD XML Requirements • Draft Digital Weather Markup Language Specification • Digital Weather Markup Language Specification Review slides • NDFD Development Web Site • NWS Instruction 10-506 • NWS Instruction 10-503