U.S. DEPARTMENT OF COMMERCE

NATIONAL OCEANIC AND ATMOSHPERIC ADMINSTISTRATION

NATIONAL WEATHER SERVICE

OFFICE OF SCIENCE AND TECHNOLOGY

METEROLOGICAL DEVELOPMENT LABORATORY

 

 

 

 

 

 

 

 

 

 

 

Digital Weather Markup Language

Specification

(Version 1.0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7 May 2009


Table of Contents

List of Figures. i

List of Tables. ii

1.     Overview: 1

1.1.      DWML Requirements. 1

1.2.      DWML Structure. 1

1.3.      Sample Document 1

2.     DWML Data Element Nomenclature: 1

3.     Framework Elements: 2

3.1.      <dwml> Element 2

3.1.1.       version Attribute. 2

3.2.      <head> Element 2

3.3.      <data> Element 2

4.     DWML Metadata Elements. 2

4.1.      <product> Element 2

4.1.1.       concise-name Attribute. 3

4.1.2.       srsName Attribute. 3

4.1.3.       operational-mode Attribute. 3

4.1.4.       <title> Element 3

4.1.5.       <field> Element 3

4.1.6.       <category> Element 4

4.1.7.       <creation-date> Element 4

4.2.      <source> Element 4

4.2.1.       <more-information> Element 4

4.2.2.       <production-center> Element 4

4.2.3.       <disclaimer> Element 4

4.2.4.       <credit> Element 5

4.2.5.       <credit-logo> Element 5

4.2.6.       <feedback> Element 5

5.     DWML Data Elements. 5

5.1.      <location> Element 5

5.1.1.       <location-key> Element 5

5.1.2.       <point> Element 5

5.1.3.       <city> Element 5

5.1.4.       <nws-zone> Element 6

5.1.5.       <area> Element 6

5.1.6.       <point> Element 6

5.1.7.       <point> Element 7

5.1.8.       <point> Element 7

5.1.9.       <point> Element 7

5.1.10.     <point> Element 7

5.1.11.     <height> Element 7

5.1.12.     <level> Element 7

5.1.13.     <layer> Element 8

5.2.      <moreWeatherInformation> Element 8

5.2.1.       applicable-location Attribute. 8

5.3.      <time-layout> Element 8

5.3.1.       time-coordinate Attribute. 8

5.3.2.       <layout-key> Element 8

5.3.3.       <start-valid-time> Element 9

5.3.4.       <end-valid-time> Element 9

5.4.      <parameters> Element 9

5.4.1.       applicable-location Attribute. 9

5.4.2.       <temperature> Element 9

5.4.3.       <precipitation> Element 11

5.4.4.       <probability-of-precipitation> Element 12

5.4.5.       <convective-hazard> Element 13

5.4.6.       <wind-speed> Element 14

5.4.8.       <cloud-amount> Element 18

5.4.9.       <weather> Element 19

5.4.10.     <humidity> Element 20

5.4.11.     <conditions-icons> Element 21

5.4.12.     <wordedForecast> Element 22

5.4.13.     <water-state> Element 22

5.5.      <categorical-definitions> Element 26

5.5.1.       <categorical-table> Element 27

5.6.      <conversion-definitions> Element 27

5.6.1.       <conversion-table> Element 27

6.     Latitude and Longitude Lists. 28

6.1.      <latLonList> Element 28

7.     Common Element and Attribute Definitions. 28

7.1.1.       latitude Attribute. 28

7.1.2.       longitude Attribute. 28

7.2.      vertical-coordinate Attribute. 28

7.3.      summarization Attribute. 28

7.4.      time-layout Attribute. 28

8.     XML Considerations. 28

8.1.      Namespace. 28

8.2.      Schema. 28

8.3.      Character Set 29

Appendix A:  DWML Requirements. 30

1.     Overview.. 30

2.     XML Components. 30

3.     DWML Validation. 33

4.     General Characteristics. 33

5.     Product Samples. 33

Appendix B:  Requirements Correlation Matrix. 37

Appendix C:  Data Model 39

Appendix D:  Product Samples. 46

Forecast at a Glance. 46

NWS Web Site Product 46

Analogous DWML.. 46

Digital Tabular Forecast 49

Sample Digital Tabular Forecast Product 49

Analogous DWML.. 49

Digital Zone Forecast 54

Sample Digital Zone Forecast Product 54

Analogous DWML.. 54

Model Output Statistics Bulletin. 58

Sample Model Output Statistics Product 58

Analogous DWML.. 58

Appendix E:  Type Definitions. 70

Appendix F:  References. 93



 

1.      Overview: 

This document defines the Digital Weather Markup Language (DWML).  DWML is a new XML language which is being developed to initially support the exchange of the National Weather Service’s (NWS) National Digital Forecast Database (NDFD) data.  However, the specification is being written with enough flexibility to accommodate other environmental science applications.  Appendix E provides a definition of DWML types based on restrictions appropriate to NDFD data.  Other sets of restrictions similar to those in Appendix E need to be established for other specific implementations.

1.1.       DWML Requirements

This specification attempts to include requirements in the MDL NDFD XML Requirements document (Appendix A).  The matrix in Appendix B indicates which design feature satisfies which requirement.

1.2.       DWML Structure

The tree diagrams in Appendix C provide a graphical representation of how DWML elements and attributes relate to each other.  These relationships in concert with the DWML type definitions in Appendix E form the basis for language validation.

1.3.       Sample Document

In addition to providing a definition of the elements and their attributes, this specification provides sample DWML documents in Appendix D for the three products proposed in the NDFD XML Requirements document.  Appendix D also includes the application of DWML elements to a Model Output Statistics (MOS) bulletin.  The MOS bulletin example is a non-NDFD example and so it does not conform to the NDFD type definitions.  The MOS bulletin example is provided merely to illustrate the flexibility of DWLM to handle other data sources.

2.      DWML Data Element Nomenclature:

This specification uses the following approach to describing elements:

1)            Element and attribute names are all lower case.

2)            Element and attribute names use a hyphen (“-“) to separate multiple word names so as to improve readability (ex. <creation-date>).  Attribute and element names avoid the use of abbreviations to enhance readability.

3)            Within this document, child elements are nested in a sub-paragraph under their parents.

4)            Attributes are also nested but do not have the angle brackets (“<>”) and are italicized.

5)            The element’s and attribute’s type is provided in braces (“{}”).  For more information on each type refer to Appendix E.

6)            If the element can occur zero or more times, an asterisk (“*”) is placed after its name.  See specification 5.2.1.5 for an example.

7)            If the element occurs zero or one times, a question mark (“?”) follows its name.  See specification 4.1.3 for an example.

8)            If the element must appear at least once, a plus sign (“+”) trails its name.  See specification 5.2.1 for an example.

9)            Element names without a special trailing character must occur exactly once.  Specification 3.1 provides an example of an element that is required exactly once.

10)        Each DWML specification references the requirement that it is designed to meet.  The requirement is positioned at the end of the specification and contained in parentheses.  For example, specification 3.1 satisfies requirement 4.2.

11)        The order of element descriptions in the paragraphs below is not significant.  Any required ordering of elements is specified in the tree diagrams found in Appendix C and type definitions in Appendix E.

3.      Framework Elements:

3.1.       <dwml> Element

The <dwml> element {dw:dwmlType}:  The root element for DWML (R4.2).

3.1.1.      version Attribute

The version attribute {xsd:string} indicates which version of DWML the instance contains (R2.1.3).

3.2.       <head> Element

The <head> element {dw:headType} contains the metadata for the DWML instance.  See section 4 for elements found in the <head> element (R4.2).

3.3.       <data> Element

The <data> element {dw:dataType} contains the environmental data.  See section 5 for child elements of the <data> element (R4.2 and R2.2).

4.      DWML Metadata Elements

DWML metadata provides information about the DWML product and the data it contains.  These elements are children of the <head> element.

4.1.       <product> Element

The <product> element {dw:productType} holds meta information about the product.

4.1.1.      concise-name Attribute

The concise-name attribute {dw:concise-nameType} represents a name or code that describes this product.  The concise-nameType will have a list of names that is extensible to support secondary developer additions.  Sample values include “glance”, “digital-tabular”, “digital-zone” (Derived From R2.1.1).

4.1.2.      srsName Attribute

The srsName attribute {dw:srsNameType} communicates the spatial reference system used by NDFD.  The NDFD spatial reference system is the “WGS 1984”.

4.1.3.      operational-mode Attribute

The operational-mode attribute {dw:operational-modeType} defines the status of the product.  Applications can review the content of this element to determine if they should perform further processing.  Sample values include “test”, “developmental”, “experimental”, and “official” product. (R2.1.4)

4.1.3.1.      Test Product

The “test” product indicates that this is an instance of an existing DWML product that contains some change being evaluated by a DWML development team.  Users will typically not process this product (R2.1.4.1).

4.1.3.2.     Developmental Product

The “developmental” product represents a new product that is not yet ready for public evaluation or use (R2.1.4.2).

4.1.3.3.     Experimental Product

This product is available for testing and evaluation for a specified, limited time period for the explicit purpose of obtaining customer feedback. (R2.1.4.3).

4.1.3.4.     Official Product

The “official” product identifies an instance of an established DWML product.  This DWML instance is part of the approved product suite available from the NWS (R2.1.4.4).

4.1.4.      <title> Element

The <title> element {xsd:string} [?] provides a concise summarization of what this DWML product contains (R2.1.1).

4.1.5.      <field> Element

The <field> Element {dw:fieldType} specifies the general area within the environmental sciences that the data contained in the DWML instance is from.  Example values include “meteorological”, “hydrological”, “oceanographical”, “land surface”, and “space” (R2.1.5).

4.1.6.      <category> Element

The <category> Element {dw:categoryType} [?] defines the specific category that the product belongs to.  Example values include “observation”, “forecast”, “analysis”, and “statistic” (R2.1.6).

4.1.7.      <creation-date> Element

The <creation-date> Element {xsd:creation-dateType} contains the date and time that the product was prepared (R2.1.2).

4.1.7.1.     refresh-frequency Attribute

The refresh-frequency attribute {xsd:duration} is used by the production center to help users know how often to return for updated data.  In the case of the NDFD, the data is updated on an as needed basis.  As a result the frequency provided may not always ensure users update as soon as new data is available.  The frequency will also not guarantee that that when updates are done that the retrieved data is new.  Still, the suggested refresh frequency will help well mannered users know what the provider believes is a reasonable time between repeated accesses of the system (R2.1.14).

4.2.       <source> Element

The <source> Element {dw:sourceType}  [?] holds information about the product’s source and links to credit and disclaimer information.

4.2.1.      <more-information> Element

The <more-information> element {xsd:anyURI} is a link to the web page of the forecast’s source or a more complete forecast (R2.1.13).

4.2.2.      <production-center> Element

The <production-center> element {xsd:production-centerType} [?] identifies which organization creates the product (R2.1.7).

4.2.2.1.     <sub-center> Element

The <sub-center> element {xsd:string} [?] is the part of the production center that prepared the product (R2.1.8).

4.2.3.      <disclaimer> Element

The <disclaimer> element {xsd:anyURI} [?] is the URL containing a disclaimer regarding the data (R2.1.9).

4.2.4.      <credit> Element

The <credit> Element {xsd:anyURI} [?] is the URL used to credit the source of the data (R2.1.10).

4.2.5.      <credit-logo> Element

The <credit-logo> element {xsd:anyURI} [?] is the image link used with the credit URL to acknowledge the data source (R.2.11).

4.2.6.      <feedback> Element

The <feedback> Element {xsd:anyURI} [?] is a URL to a web page used to provide the production center comments on the product (R2.1.12).

5.      DWML Data Elements

These elements hold the environmental data.  They are children of the <data> element.(R2.2).

5.1.       <location> Element

The <location> element {dw:locationType} [+]:  Defines the location for the data contained in the element <data>.  The element must contain exactly one of its child elements (R2.2.2).

5.1.1.      <location-key> Element

The <location-key> element {dw:location-keyType} [?] is used to relate the location to its corresponding parameters (R2.2.2).

5.1.2.      <point> Element

For information on the <point> element see Section 7.1

5.1.2.1.     summarization Attribute

For information on the summarization attribute see Section 7.3.

5.1.3.      <city> Element

The <city> element {dw:cityType} [?] contains the city name for which the data is valid (R2.2.2).

5.1.3.1.     state Attribute

The state attribute {dw:stateType} holds the two digit abbreviation for the state that the city resides in (R2.2.2).

5.1.3.2.     summarization Attribute

For information on the summarization attribute see Section 7.3.

5.1.4.      <nws-zone> Element

The <nws-zone> element {dw:nws-zoneType} [?] contains the National Weather Service forecast zone name for which the data is valid (R2.2.2).

5.1.4.1.     state Attribute

The state attribute {dw:stateType} holds the two digit abbreviation for the state that the city resides in (R2.2.2).

5.1.4.2.     summarization Attribute

For information on the summarization attribute see Section 7.3.

5.1.5.      <area> Element

The <area> element {dw:areaType} [?] is a geometrical shape may be used to define which grid points the data represents.  The element must contain exactly one of its child elements (Derived from R2.2.1.5).

5.1.5.1.     area-type Attribute

The area-type attribute {dw:area-typeType} defines the aerial shape being used.  Permissible values include “circle” and “rectangle” (Derived from R2.2.1.5).

5.1.5.2.     <circle> Element

The <circle> element {dw:circleType} [?] is a circular area about a grid point.  The area can contain any number of grid points which are summarized.

5.1.6.      <point> Element

For information on the <point> element see Section 7.1

5.1.6.1.1.    <radius> Element

The <radius> element {dw:radiusType} is the distance from the center point of the circle to edge of the circular area (Derived from R2.2.1.5).

5.1.6.1.1.1.          radius-units Attribute

The radius-units attribute {dw:radius-unitsType) is the units of the radius measurement.  Example values include “statute miles” and “kilometers” (Derived from R2.2.1.5).

5.1.6.2.     summarization Attribute

For information on the summarization attribute see Section 7.3.

5.1.6.3.     <rectangle> Element

The <rectangle> element {dw:rectangleType} [?] is a rectangular area which is defined by four latitude and longitude pairs.  The area can contain any number of grid points which are summarized.

5.1.7.      <point> Element

For information on the <point> element see Section 7.1

5.1.8.      <point> Element

For information on the <point> element see Section 7.1

5.1.9.      <point> Element

For information on the <point> element see Section 7.1

5.1.10.  <point> Element

For information on the <point> element see Section 7.1

5.1.10.1. summarization Attribute

For information on the summarization attribute see Section 7.3.

5.1.11.  <height> Element

The <height> element {dw:heightType} [?] is the data point’s distance above/below some datum.  If this element is not present, it is assumed that the data values are surface based (R2.2.2.3.1).

5.1.11.1. datum Attribute

The datum attribute {dw:datumType} is the reference for the height measurement.  Example values include “surface” and “mean sea level” (R2.2.2.3.1.1).

5.1.11.2. height-units Attribute

The height-units attribute {dw:unitsType}represents the units of measure used for the height value.  Example values include “feet” and “meters” (R2.2.2.3.1.2).

5.1.12.  <level> Element

The <level> element {dw:levelType} [?] allows the data to be valid at some specific level.  For example, within model data, a value may apply to a sigma level (R2.2.2.3.2).

5.1.12.1. vertical-coordinate Attribute

For information on the vertical-coordinate attribute see Section 7.2.

5.1.13.  <layer> Element

The <layer> element {dw:layerType} [?] allows the data to be valid for some specific layer.  For example, within model data, a value may be valid through a sigma layer (R2.2.2.3.3). 

5.1.13.1. vertical-coordinate Attribute

For information on the vertical-coordinate attribute see Section 7.2.

5.2.       <moreWeatherInformation> Element

The <moreWeatherInformation> element {xsd:anyURI} contains a link to the NDFD point-and-click forecast page for each set of user requested lat/lon pairs.

5.2.1.      applicable-location Attribute

The applicable-location attribute {dw:applicable-locationType} [?] is used to relate the location to a particular list of parameters (R2.2.1). In this case it is the user requested point number.

5.3.       <time-layout> Element

The <time-layout> element {dw:time-layoutType } [+] contains the start and stop valid times and any associated period names for the data.  Since different environmental parameters have different time schemes (valid at different interval and available for different lengths of time into the future), there will be one <time-layout> element for each of these unique temporal configurations.  Each data parameter will reference exactly one of these time layouts (R2.2.3).

5.3.1.      time-coordinate Attribute

The time-coordinate attribute {dw:time-coordinateType} defines the time coordinate as either “local time” or “UTC” (R2.2.3.3).

5.3.1.1.     summarization Attribute

For information on the summarization attribute see Section 7.3.

5.3.2.      <layout-key> Element

The <layout-key> element {dw:layout-keyType} contains the key (k-p24h-n7-1) used to associated this time layout with a particular parameter element (R2.2.3).  The key is derived using the following convention:

1)      “k” stands for key.

2)      “p24h” implies a data period length of 24 hours.

3)      “n7” means that the number of data times is 7.

4)      1” is a sequential number used to keep the layout keys unique.

The key should not be parsed to derive the period.  This is because, the period length changes for some data type after day 3 and so period length implied by the key name only applies to the early times.

5.3.3.      <start-valid-time> Element

The <start-valid-time> element {dw:start-valid-timeType} [+] is the start time of the period of time for which the data is valid (R2.2.3.1).

5.3.3.1.1.    period-name Attribute

The period-name attribute {xsd:string} [?] contains the name associated with this time interval (ex. TODAY) (R2.2.3.4).

5.3.4.      <end-valid-time> Element

The <end-valid-time> element {xsd:dateTime} [*]:  The end time of the period of time for which the data is valid.  The absence of this attribute indicates that the element is valid at a specific time (R2.2.3.2).

5.4.       <parameters> Element

The <parameters> element {dw:parametersType} [+] holds the environmental data (R2.2.1).

5.4.1.      applicable-location Attribute

The applicable-location attribute {dw:applicable-locationType} [?] is used to relate the location to a particular list of parameters (R2.2.1).

5.4.2.      <temperature> Element

The <temperature> Element {dw:temperatureType} [*] is a container for temperature data (R2.2.1).

5.4.2.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of temperature.  Example values include “maximum”, “minimum”, “temperature”, “dew point”, “heat index”, “wind chill” (R2.2.1.1).

5.4.2.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the temperature value.  Example values include “F”, “C”, and “K”.  The default value is “F” (R2.2.1.3).

5.4.2.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.2.4.     <value> Element

The <value> element {dw:valueType} [+]:  The temperature value reported to the nearest whole degree.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.2.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a temperature range (R2.2.1).

5.4.2.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a temperature range (R2.2.1).

5.4.2.5.     <valueWithUncertainty> Element

The <valueWithUncertainty> element {dw: valueWithUncertaintyType} [+]:  Element containing a <value> element and an <uncertainty> element.  Represents a value like 75°F + or minus 1.5°F.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.2.5.1.    <value> Element

The <value> element {dw:valueType} [+]:  The temperature value reported to the nearest whole degree.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.2.5.1.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a temperature range (R2.2.1).

5.4.2.5.1.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a temperature range (R2.2.1).

5.4.2.5.2.    <uncertainty> Element

Specifies the uncertainty {dw: uncertaintyType} [+] associated with the accompanying value.

5.4.2.5.2.1.          type Attribute

The type Attribute {dw:uncertaintyTypeType} specifies the type of uncertainty.  Example values include “analysis error” (R2.2.1.1).

5.4.2.5.2.2.          <error> Element

The <error> element {errorType} [?] holds an uncertainty value characterized as an error.

5.4.2.5.2.2.1.             qualifier Attribute

The qualifier attribute {dw:qualifierType} [?] is use to indicate how the error is applied.  For example, a qualifier set to a value of “+/-“, indicating the error is to be added and subtracted from the base value to determine the range of values.

5.4.2.6.     <name> Element

The <name> element {xsd:string} [?]:  The name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.2.7.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.2.8.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.3.      <precipitation> Element

The <precipitation> element {dw:precipitationType} [*] is a container for the precipitation values (R2.2.1).

5.4.3.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of precipitation parameter.  Example values include “liquid” and “snow” (R2.2.1.1).

5.4.3.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the precipitation value.  Example values include “inches” and “millimeters”.  The default value is “inches” (R2.2.1.3).

5.4.3.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.3.4.     <value> Element

The <value> element {dw:valueType} [+]:  The precipitation type parameter’s value to the nearest integer value.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.3.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a precipitation range (R2.2.1).

5.4.3.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a precipitation range (R2.2.1).

5.4.3.5.     <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.3.6.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.3.7.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.4.      <probability-of-precipitation> Element

The <probability-of-precipitation> element {dw:probability-of-precipitationType} [*] is a container for the probability of precipitation (POP) values (R2.2.1).

5.4.4.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of POP parameter.  Example values include “12 hour” and “floating”.  Default value is “12 hour” (R2.2.1.1).

5.4.4.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the POP value.  Example values include “percent” (R2.2.1.3).

5.4.4.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.4.4.     <value> Element

The <value> element {dw:valueType} [+]:  The POP value to the nearest integer value.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.4.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a probability of POP range (R2.2.1).

5.4.4.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a POP range (R2.2.1).

5.4.4.5.     <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.4.6.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.4.7.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.5.      <convective-hazard> Element

The <convective-hazard> element {dw:convective-hazardType} [*] is a container for the convective hazard values like hazard outlook, tornadoes, hail, severe thunderstorms from the Storm Prediction Center (R2.2.1).

5.4.5.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of convective hazard parameter.  Example values include “outlook”, “tornadoes”, “hail”, “damaging thunderstorm wind” “extreme tornadoes”, “extreme hail”, “extreme thunderstorm winds”, “severe thunderstorms” and “extreme severe thunderstorms”.  (R2.2.1.1).

5.4.5.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the convective hazard value.  Example values include “percent” (R2.2.1.3).

5.4.5.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.5.4.     <value> Element

The <value> element {dw:valueType} [+]:  The convective hazard value to the nearest integer value.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.5.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a probability of convective hazard range (R2.2.1).

5.4.5.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a convective hazard range (R2.2.1).

5.4.5.5.     <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.5.6.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.5.7.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.6.      <wind-speed> Element

The <wind-speed> element {dw:wind-speedType} [*] is a container for the wind speed values (R2.2.1).

5.4.6.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of wind speed parameter.  Example values include “sustained”, “cumulative34”, and “gust” (R2.2.1.1).

5.4.6.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the wind speed values.  Example values include “knots”, “meters per second”, and “percent”.  The default value is “knots”.  NOTE:  “percent” is used for probabilistic winds (R2.2.1.3).

5.4.6.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.6.4.     <value> Element

The <value> element {dw:valueType} [+]:  The wind speed value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.6.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a wind speed range (R2.2.1).

5.4.6.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a temperature range (R2.2.1).

5.4.6.5.     <valueWithUncertainty> Element

The <valueWithUncertainty> element {dw: valueWithUncertaintyType} [+]:  Element containing a <value> element and an <uncertainty> element.  Represents a value like 10 kts + or minus 2.0 kts.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.6.5.1.    <value> Element

The <value> element {dw:valueType} [+]:  The temperature value reported to the nearest whole degree.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.6.5.1.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a temperature range (R2.2.1).

5.4.6.5.1.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a temperature range (R2.2.1).

5.4.6.5.2.    <uncertainty> Element

Specifies the uncertainty {dw: uncertaintyType} [+] associated with the accompanying value.

5.4.6.5.2.1.          type Attribute

The type Attribute {dw:uncertaintyTypeType} specifies the type of uncertainty.  Example values include “analysis error” (R2.2.1.1).

5.4.6.5.2.2.          <error> Element

The <error> element {errorType} [?] holds an uncertainty value characterized as an error.

5.4.6.5.2.2.1.             qualifier Attribute

5.4.6.5.3.    The qualifier attribute {dw:qualifierType} [?] is use to indicate how the error is applied.  For example, a qualifier set to a value of “+/-“, indicating the error is to be added and subtracted from the base value to determine the range of values.

5.4.6.6.     <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.6.7.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.6.8.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.7.      <direction> Element

The <direction> element {dw:directionType} [?] is a container for the direction values (R2.2.1).

5.4.7.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of wind direction.  Example values include “wind” and “swell”.  The default value is “wind” (R2.2.1.1).

5.4.7.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the wind direction values.  Example values include “degrees true” (R2.2.1.3).

5.4.7.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.7.4.     <value> Element

The <value> element {dw:valueType} [+]:  The wind direction value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.7.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a wind direction range (R2.2.1).

5.4.7.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a wind direction range (R2.2.1).

5.4.7.5.     <valueWithUncertainty> Element

The <valueWithUncertainty> element {dw: valueWithUncertaintyType} [+]:  Element containing a <value> element and an <uncertainty> element.  Represents a value like 270° + or minus 5.0°.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.7.5.1.    <value> Element

The <value> element {dw:valueType} [+]:  The temperature value reported to the nearest whole degree.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.7.5.1.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a temperature range (R2.2.1).

5.4.7.5.1.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a temperature range (R2.2.1).

5.4.7.5.2.    <uncertainty> Element

Specifies the uncertainty {dw:uncertaintyType} [+] associated with the accompanying value.

5.4.7.5.2.1.          type Attribute

The type Attribute {dw:uncertaintyTypeType} specifies the type of uncertainty.  Example values include “analysis error” (R2.2.1.1).

5.4.7.5.2.2.          <error> Element

The <error> element {errorType} [?] holds an uncertainty value characterized as an error.

5.4.7.5.2.2.1.             qualifier Attribute

5.4.7.5.3.    The qualifier attribute {dw:qualifierType} [?] is use to indicate how the error is applied.  For example, a qualifier set to a value of “+/-“, indicating the error is to be added and subtracted from the base value to determine the range of values.

5.4.7.6.     <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.7.7.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.7.8.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.8.      <cloud-amount> Element

The <cloud-amount> element {dw:cloud-amountType} [*] is a container for the cloud amount values (R2.2.1).

5.4.8.1.     type Attribute

The type Attribute {dw:typeType} specifies the type of cloud amount values.  Example values include “total” and “layered” (R2.2.1.1).

5.4.8.2.     units Attribute

The units attribute {dw:unitsType} defines the units of the cloud amount values.  Example values include “percent” and “8ths”.  The default value is “percent” (R2.2.1.3).

5.4.8.3.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.8.4.     <value> Element

The <value> element {dw:valueType} [+]:  The cloud cover value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.8.4.1.    upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a range of cloud amount (R2.2.1).

5.4.8.4.2.    lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a range of cloud amount (R2.2.1).

5.4.8.5.     <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.8.6.     <cloud-layer> Element

The <cloud-layer> element {dw:layerType} [?] is the layer containing the cloud amount.  Example values include “high”, “middle”, and “low”.  This element is not present when the type attribute is set to “total” (Derived from R2.2.1).

5.4.8.7.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.8.8.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.9.      <weather> Element

The <weather> element {dw:weatherType} [?] is a container for the weather values (R2.2.1).

5.4.9.1.     time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.9.2.     <weather-conditions> Element

The <weather-conditions> element {weather-conditionsType} [+] is a container for up to three weather values that are used to describe the weather conditions at a given time.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.9.3.     <value> Element

The <value> element {dw:valueType} [* (max of 5)] hold the sensible weather information.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.9.3.1.1.          coverage Attribute

The coverage attribute {dw:coverageType} [?] holds the weather coverage value. Valid values for the NDFD are contained in Appendix E, Table 3 (R2.2.1).

5.4.9.3.1.2.          intensity Attribute

The intensity attribute {dw:intensityType} [?] holds the weather intensity.  Valid values for the NDFD are contained in Appendix E, Table 4 (R2.2.1).

5.4.9.3.1.3.          additive Attribute

The additive attribute {dw:additiveType} [?] dictates whether the following value element is combined using an “and” or an “or”.  For example rain and snow vice rain or snow (R2.2.1).

5.4.9.3.1.4.          qualifier Attribute

The qualifier attribute {dw:qualifierType} [?] is used to communicate a special aspect of the weather value.  Valid values for the NDFD are contained in Appendix E, Table 6 (R2.2.1).

5.4.9.3.1.5.          weather-type Attribute

The weather-type attribute {dw:weather-typeType} [?] captures the weather element being forecast. Valid values for the NDFD are contained in Appendix E, Table 5 (R2.2.1).

5.4.9.3.1.6.          <visibility> Element

The <visibility> element {dw:visibilityType} [*] contains the weather visibility value (R2.2.1).

5.4.9.3.1.6.1.             units Attribute

The units attribute {dw:unitsType} contains the units of the visibility value.  Example values include “statute miles” and “meters” (R2.2.1).

5.4.9.4.     categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.9.5.     conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.9.6.     weather-summary Attribute

The weather-summary Attribute {xsd:string} [?] is a short phrase (~2 words) used to summarize the weather conditions for that time.  Example phrases include “partly cloudy” and “scattered thunderstorms” (R2.2.1).

5.4.10.  <humidity> Element

The <humidity> Element {dw:humidityType} [?] is a container for humidity values (R2.2.1).

5.4.10.1. type Attribute

The type Attribute {dw:typeType} specifies the type of humidity.  Example values include “relative” and “specific” (R2.2.1.1).

5.4.10.2. units Attribute

The units attribute {dw:unitsType} defines the units of the humidity values.  Example values include “percent” and “kilogram/kilogram” (R2.2.1.3).

5.4.10.3. time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.10.4. <value> Element

The <value> element {dw:valueType} [+]:  The humidity value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.10.4.1.              upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a relative humidity range (R2.2.1).

5.4.10.4.2.              lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a relative humidity range (R2.2.1).

5.4.10.5. <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.10.6. categorical-table Attribute

The categorical-table attribute {dw:categorical-tableType} [?] is the foreign key to a list of categories that define the meaning of the value (R2.2.1).

5.4.10.7. conversion-table Attribute

The conversion-table attribute {dw:conversion-tableType} [?] is the foreign key to a list of conversions tables that provide a equivalent value for the data (R2.2.1).

5.4.11.  <conditions-icons> Element

The <conditions-icons> element {dw:conditions-iconsType} [?] holds a URL for a weather icon depicting the cloud and precipitation conditions.  The icons will be consistent with other NWS forecast products (R5.1).

5.4.11.1. type Attribute

The type Attribute {dw:typeType} specifies the type of icons.  Example values include “forecast-NWS” (R2.2.1.1).

5.4.11.2. time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.11.3. <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.11.4. <icon-link> Element

The <icon-link> element {xsd:anyURI} [+] contains the URL of the icon used to represent weather conditions (R5.1).

NOTE:  The priority algorithm for icon determination can be found in Table 8Table 11.  In these tables, the nomenclature [20,30…90,100] indicates that one of the 2 digit values appear in the icon file name.  For example, the rain icon could be ra20.jpg, ra30.jpg on up to ra100.jpg.

5.4.12.  <wordedForecast> Element

The <wordedForecast> element {dw:wordedForecastType} [?] holds a text representation of the forecast for the indicated time period.

5.4.12.1. time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.12.2. dataSource

Describes the data source used to create the worded forecast (examples include “NDFD Mosaic” or “Local NetCDF”, etc.).

5.4.12.3. wordGenerator

Specifies which algorithm was used to create the worded forecast (examples include “MarkMitchell”).

5.4.12.4. <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.12.5. <text> Element

The <text> element {dw:textType} [+]:  The worded forecast.  Missing entries are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.13.  <water-state> Element

The <water-state> Element {dw:water-stateType} [?] is a container for sea and wave information.  The seas element will not be present when the waves or swell elements are used.  The wave and swell can both appear or they may appear separately (R2.2.1).

5.4.13.1. time-layout Attribute

For information on the time-layout attribute see Section 7.4.

5.4.13.2. <seas> Element

The <seas> element {dw:seasType} [?] holds the height of the seas which is a combination of both wind waves and swell (R2.2.1).

5.4.13.3. type Attribute

The type Attribute {dw:typeType} specifies the type of seas.  An example value includes “combined” (R2.2.1.1).

5.4.13.4. units Attribute

The units attribute {dw:unitsType} defines the units of the seas values.  Example values include “feet” and “meters” (R2.2.1.3).

5.4.13.5. <value> Element

The <value> element {dw:valueType} [+]:  The seas value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.13.5.1.              upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a sea height range (R2.2.1).

5.4.13.5.2.              lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a sea height range (R2.2.1).

5.4.13.6. <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.13.7. <waves> Element

The <waves> element {dw:wavesType} [?] holds the height of waves generated by the local wind blowing (R2.2.1).

5.4.13.8. type Attribute

The type Attribute {dw:typeType} specifies the type of waves.  An example value includes “wind” or “significant” (R2.2.1.1).

5.4.13.9. units Attribute

The units attribute {dw:unitsType} defines the units of the wave values.  Example values include “feet” and “meters” (R2.2.1.3).

5.4.13.10.                <value> Element

The <value> element {dw:valueType} [+]:  The wave value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.13.10.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a wave height range (R2.2.1).

5.4.13.10.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a wave height range (R2.2.1).

5.4.13.10.2.1.  period Attribute

The period attribute {xsd:nonNegativeIntegers} [?] holds the time, in seconds for the passage of successive wave crests (R2.2.1).

5.4.13.10.2.2.  steepness Attribute

The steepness attribute {xsd:nonNegativeIntegers} [?] holds the Ratio of wave height to wavelength. Theoretical wave steepness maximum is around 1/10, after which the wave becomes unstable and breaks (R2.2.1).

5.4.13.11.                <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.13.12.                <swell> Element

The <swell> element {dw:swellType} [?] holds the height of wind waves which have traveled beyond the wave generation region (R2.2.1).

5.4.13.13.                type Attribute

The type Attribute {dw:typeType} specifies the type of swell.  An example value includes “significant” (R2.2.1.1).

5.4.13.14.                units Attribute

The units attribute {dw:unitsType} defines the units of the swell values.  Example values include “feet” and “meters” (R2.2.1.3).

5.4.13.15.                <value> Element

The <value> element {dw:valueType} [+] contains the swell value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.13.15.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a swell height range (R2.2.1).

5.4.13.15.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a swell height range (R2.2.1).

5.4.13.15.2.1.  period Attribute

The period attribute {xsd:nonNegativeIntegers} [?] holds the time, in seconds for the passage of successive wave crests (R2.2.1).

5.4.13.15.2.2.  steepness Attribute

The steepness attribute {xsd:nonNegativeIntegers} [?] holds the Ratio of wave height to wavelength. Theoretical wave steepness maximum is around 1/10, after which the wave becomes unstable and breaks (R2.2.1).

5.4.13.16.                <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.13.16.1.          <direction> Element

The <direction> element {dw:directionType} [+] is a container for the direction values (R2.2.1).

5.4.13.17.                type Attribute

The type Attribute {dw:typeType} specifies the type of swell direction.  Example values include “wind” and “swell”.  The default value is “wind” (R2.2.1.1).

5.4.13.18.                units Attribute

The units attribute {dw:unitsType} defines the units of the swell direction values.  Example values include “degrees true” (R2.2.1.3).

5.4.13.19.                <value> Element

The <value> element {dw:valueType} [+] holds the direction value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.13.19.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a swell direction range (R2.2.1).

5.4.13.19.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a swell direction range (R2.2.1).

5.4.13.20.                <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.4.13.21.                ice-coverage Element

The ice-coverage element {dw:ice-coverageType} [?] holds the amount of ice on the water body (R2.2.1).

5.4.13.22.                type Attribute

The type attribute {dw:typeType} specifies the type of ice coverage.  An example value includes “total” (R2.2.1.1).

5.4.13.23.                units Attribute

The units attribute {dw:unitsType} defines the units of the ice cverage values.  Example values include “percent” (R2.2.1.3).

5.4.13.24.                <value> Element

The <value> element {dw:valueType} [+]:  The ice coverage value reported to the nearest integer.  Missing values are represented by an empty element and xsi:nil=”true” (R2.2.1).

5.4.13.24.1.          upper-range Attribute

The upper-range attribute {dw:upper-rangeType} [?] holds the value associated with the upper end of a ice coverage range (R2.2.1).

5.4.13.24.2.          lower-range Attribute

The lower-range attribute {dw:lower-rangeType} [?] holds the value associated with the lower end of a ice coverage range (R2.2.1).

5.4.13.25.                <name> Element

The <name> element {xsd:string} [?] is the name of this parameter.  The name value can be used for display purposes (R2.2.1.2).

5.5.       <categorical-definitions> Element

The <categorical-definitions> element {dw:categorical-definitionsType} [?] contains the definitions of categories found in parameter value elements (R2.2.1).

5.5.1.      <categorical-table> Element

The <categorical-table> element {dw:categorical-table-elementType} [+] contains the categorical data (R2.2.1).

5.5.1.1.     units Attribute

5.5.1.2.     The units attribute {dw:unitsType} defines the units of the data in the categories (R2.2.1).

5.5.1.3.     <categorical-key> Element

The <categorical-key> element {dw:categorical-keyType} is the primary key relating the data in the parameter element to a particular categorical table (R2.2.1).

5.5.1.4.     <value> Element

The <value> element {dw:valueType} [+]:  The value found in the data (R2.2.1).

5.5.1.4.1.    category {xsd:string}:  The category corresponding to the value (R2.2.1).

5.6.       <conversion-definitions> Element

The <conversion-definitions> element {dw:conversion-definitionsType} [?] contains look-up tables used to relate numerical data to an equivalent value (R2.2.1).

5.6.1.      <conversion-table> Element

The <conversion-table> element {dw:conversion-table-elementType} [+] holds the range of data associated with each equivalent value (R2.2.1).

5.6.1.1.     <conversion-key> Element

The <conversion-key> element {dw:conversion-keyType} contains the primary key relating the data in the parameter element to a particular conversion table (R2.2.1).

5.6.1.2.     <start-value> Element

The <start-value> element {dw:start-valueType} [+] is the starting value of the range of data for which the value is equivalent (R2.2.1).

5.6.1.3.     <end-value> Element

The <end-value> element {dw:end-valueType} [+] is the ending value of the range of data for which the value is equivalent (R2.2.1).

5.6.1.4.     <equivalent-value> Element

The <equivalent-value> element {xsd:string}  [+] is the equivalent value of the data (R2.2.1).

6.      Latitude and Longitude Lists

6.1.       <latLonList> Element

The <latLonList> element {dw:latLonListType} [?] holds a list of latitude and longitude pairs that are contained in a subgrid.  A latitude and longitude pair is composed of a latitude value followed by a comma followed by a longitude value (i.e. 38.98,-77.07).  Each latitude and longitude pair is separated by a space (i.e. 33.869922,-80.080906 33.914765,-80.074936).

7.      Common Element and Attribute Definitions

7.1.       <point> Element

The <point> element {dw:pointType} [?] is the element used to define the grid point for which the data is valid (R2.2.2).

7.1.1.      latitude Attribute

The latitude attribute {xsd:decimal} defines the latitude of the point where the data is valid (R2.2.2.2).

7.1.2.      longitude Attribute

The longitude attribute {xsd:decimal} defines the latitude of the point where the data is valid (R2.2.2.2).

7.2.       vertical-coordinate Attribute

The vertical-coordinate attribute {xsd:string} defines the data’s vertical position (R2.2.2.3).

7.3.       summarization Attribute

The summarization attribute {dw:summarizationType} [?] indicates how a collection of grid point values is summarized into a single value.  Example summarization types include “none”, “mean”, “median”, “mode”, “maximum”, “minimum”, “12hourly”, or “24hourly”.  A value of “none” indicates that the values are valid at a single grid point or time (R2.2.1.5).

7.4.       time-layout Attribute

The time-layout attribute {dw:time-layoutType} defines the key to the appropriate valid times and any relevant period name information (R2.2.3).

8.      XML Considerations

8.1.       Namespace

DWML will use the namespace http://www.nws.noaa.gov/mdl/ndfd/dwml.

8.2.       Schema

DWML will use XML Schema to perform validity checking.

8.3.       Character Set

DWML will use UTF-8 encoding.


Appendix A:  DWML Requirements

 

1.      Overview

This document defines the requirements for a markup language of the National Oceanic and Atmospheric Administration’s National Weather Service’s (NWS) National Digital Forecast Database (NDFD). This document will refer to the new markup language as the Digital Weather Markup Language (DWML).  DWML will serve as a vehicle for transferring portions of the NDFD to NOAA’s customers and partners.  The piece of the database distributed in DWML will correspond to some subset of the available weather elements, times, and grid points.  While DWML will initially focus on NDFD data, the intent is to make this new markup language flexible and scaleable enough to accommodate other meteorological data such as weather observations and guidance products.

1.1.   Message:  A collection of DWML elements in a valid arrangement.

1.2.   Product:  A collection of NWS information in a defined format.

1.3.   Issuance:  A particular product.

2.      XML Components

DWML contains both metadata as well as meteorological data.  The two will be clearly separated within a message.

2.1.   DWML Metadata:  DWML metadata will provide information about the DWML message and the data it contains.  The metadata will provide the following some of which may be optional for a given issuer.

2.1.1.      Product Title:  A concise summarization of what this DWML product contains.

2.1.2.      Product Creation Date:  The date and time that the product was prepared.

2.1.3.      DWML Version:  Indicates which version of DWML is being used.

2.1.4.      Operational Mode:  The operational mode tells the user if the message is produced as a developmental, experimental or official product, or a test.  See National Weather Service Instruction 10-102 for additional details on changes in operational mode.

2.1.4.1.  Test:  Indicates that this is an instance of an existing DWML product that contains some change being evaluated by the DWML development team.  Users will typically not process this product.

2.1.4.2.  Developmental:  A new product that is not yet ready for public evaluation or use.

2.1.4.3.  Experimental:  Product is available for testing and evaluation for a specified, limited time period for the explicit purpose of obtaining customer feedback.

2.1.4.4.  Official:  Operational products defined in NWS policy

2.1.5.      Product Class:  Product Class specifies the general type of product contained in a DWML instance.  Expected values include meteorological, hydrological, oceanographical, land surface, and space.

2.1.6.      Product Type:  The product type defines the specific category of the product class to which the product belongs.  Examples include observation, forecast, analysis, and statistic.

2.1.7.      Production Center:  Production Center identifies which organization creates the product.

2.1.8.      Product Sub-center:  The component of the product center that prepared the product.

2.1.9.      Disclaimer URL:  The URL containing an optional disclaimer that the production center wants users to know about.

2.1.10.  Credit URL:  The URL used to credit the source of the data.

2.1.11.  Credit Logo:  The optional image used with the credit URL to acknowledge the data source.

2.1.12.  Feedback URL:  The optional URL to a web page used to provide the production center comments on the product.

2.1.13.  Additional Information URL:  A link to a more complete forecast or the web page for the forecast’s source.

2.1.14.  Suggested Refresh Frequency:  Used by the production center to help users know how often to return for updated data.  Since the NDFD is updated on an as needed basis, the frequency provided will not always ensure users update as soon as new data is available.  The frequency will also not guarantee that that when updates are done that the retrieved data is new.  Still, the suggested refresh frequency will help well mannered users know what the provider believes is a reasonable time between repeated accesses of the system (i.e. seconds, days, months, etc).

2.2.   DWML Data:  At the heart of NDFD data is a meteorological value with a geographical and temporal component.  To define this value, DWML needs to provide the following information:

2.2.1.      Data Value:  This is the information retrieved or derived from the NDFD database (i.e. 71).

2.2.1.1.  Value Type:  The category to which the parameter belongs.  For example, temperature is the category that contains maximum temperature, dew point temperature etc.

2.2.1.2.  Value Name:  The name of the parameter that the value measures (i.e. maximum temperature).

2.2.1.3.  Value Units:  The units of the parameter (i.e. °F).

2.2.1.4.  Value Precision:  The value needs to be provided with the correct number of significant digits (i.e. 71 °F).

2.2.1.5.  Type of Spatial Summarization:  Collections of grid point values may be summarized into a single value.  If this is done, the type of summarization will be provided (mean, median, mode, centroid value etc.).

2.2.1.6.  Type of Temporal Summarization:  A number of grid point values may be summarized for a given period of time.  When this is done, the type of temporal summarization will be provided (period, hourly, 3 hourly, daily, etc.).

2.2.2.      Data Location:  The three dimensional place that the data value applies to.

2.2.2.1.  Type of Geography:  Types of geography could include a point (lat/lon), city and state, county, National Weather Service forecast zone, and zip code.

2.2.2.2.  Horizontal Location:  The position of the data projected onto the earth’s surface.  This could be a latitude and longitude pair, a specific city and state, a county name, a National Weather Service zone name, or a zip code.

2.2.2.3.  Vertical Coordinate System:  The type of coordinates that define the data’s vertical position (i.e. height above mean sea level, sigma, etc.).  Dependant on the vertical coordinate system, one of the following will also be needed.

2.2.2.3.1.      Height:  This is the data point’s distance above/below some datum.

2.2.2.3.1.1.  Datum:  This is the reference for the height measurement (i.e. earth surface, mean sea level, etc.).

2.2.2.3.1.2.  Units:  The units of measure used for the height value.

2.2.2.3.2.      Level:  The digital data’s vertical position may be defined at some discrete level.

2.2.2.3.3.      Layer:  The digital data’s vertical position may be defined for some discrete layer.

2.2.3.      Data Time:  DWML will provide for arbitrary time periods as well as common time references.

2.2.3.1.  Start of Valid Time:  The start time of the period for which the data is valid.

2.2.3.2.  End of Valid Time:  The end time of the period for which the data is valid.

2.2.3.3.  Time Coordinate:  Can be either Local Time (LT) or Coordinated Universal Time (UTC).

2.2.3.4.  Period Name:  A textual description of the time embodied by the start and end times.  For example, the time might correspond to “THIS AFTERNOON”.

3.      DWML Validation

3.1.   DWML will adhere to the requirements defining well formed XML.

3.2.   DWML will provide a schema to ensure any given instance conforms to the language’s specifications.

3.3.   DWML will use UTF-8 encoding.

4.      General Characteristics

4.1.   DWML will use self describing element and attribute names.

4.2.   DWML will employ industry standards to ensure the language is easy to maintain and is capable of later expansion.

5.      Product Samples

DWML should be capable of producing XML versions of the following three existing National Weather Service’s web products.

5.1.   Forecast at a Glance

The current experimental grid point forecast (on-line example) contains the high or low temperature, the sky condition, and a weather icon. Figure 1 shows an example of the experimental forecast product.  See Table 1 for DWML sample metadata and data values for this product.

5.2.   Digital Tabular Forecast

The current experimental forecast (on-line example) contains hourly values for temperature, dew point temperature, probability of precipitation, wind direction and speed, sky cover, as well as precipitation type information.  Figure 2 shows an example of this experimental forecast product.  See Table 1 for DWML sample metadata and data values for this product.

5.3.   Digital Zone Forecast

This product is similar to the Forecast at a Glance in that it uses 12 hour forecast periods to summarize the NDFD data.  The digital zone forecast is like the Digital Tabular Forecast in terms of its use of an extensive number of weather elements.  Figure 3 shows an example product.  See Table 1 for sample DWML metadata and data values for this product.

This Afternoon

Tonight

Saturday

Saturday Night

Sunday

Sunday Night

Monday

Partly Cloudy

Hi 74 °F

Partly Cloudy

Lo 58 °F

Mostly Cloudy

Hi 79 °F

Mostly Clear

Lo 55 °F

Partly Cloudy

Hi 81 °F

Partly Cloudy

Lo 59 °F

Partly Cloudy

Hi 77 °F

Figure 1.  Example Forecast at a Glance Product

 

Error! Not a valid link.

Figure 2.  Example Digital/Tabular Forecast Product

 

 

This Afternoon

Tonight

Saturday

Saturday Night

Sunday

Sunday Night

Sky Cover

30 %

25 %

20 %

35 %

60 %

65 %

High/Low

74 °F

58 °F

79 °F

55 °F

81 °F

59 °F

Wind Direction

NW

NW

SW

SW

SW

SE

Wind Speed

5 -10

5 -10

5 -10

5 -10

10 - 15

5 -10

PoP

0

0

0

0

40

60

Weather Type

None

None

None

None

Thunderstorms

Showers

Figure 3.  Example Digital Zone Forecast Product

 

 

XML Data Item

Forecast at a Glance

Digital Tabular Forecast

Digital Zone Forecast

Title

Gridpoint Forecast at a Glance

Gridpoint Digital Tabular Forecast

Gridpoint Digital Zone Forecast

Creation Date/Time

2003-09-22T15:30:03Z

Generator

DWML Version 1.0

Operational Mode

Experimental

Class

Meteorological

Product Type

Forecast

Product Center

Meteorological Development Laboratory (W/OST2)

Sub-center

Product Generation Branch

Disclaimer URL

http://www.nws.noaa.gov/disclaimer.html

Credit URL

http://www.nws.noaa.gov/

Credit Logo

http://www.nws.noaa.gov/images/noaaleft.jpg

Feedback URL

http://www.nws.noaa.gov/mdl/

Additional Info URL

http://www.crh.noaa.gov/ifps/MapClick.php?site=lwx&CiTemplate=1&

FcstType=text&MapType=0&TempBox=1&DewBox=1&WindBox=1&

ChillBox=1&SkyBox=1&SnowBox=1&FzgBox=1&SleetBox=1&

map.x=187&map.y=60

Refresh Frequency

Hourly

Value Type

Icon

Temperature

Temperature

Value Name

Weather Icon

Temperature

Maximum Temperature

Value Units

None

°F

°F

Value

79

74

Spatial Summarization

None

None

None

Temporal Summarization

Period

Hourly

Period

Type of Geography

Lat/Lon

Horizontal Location

38.0° North Lat

-78.0° West Lon

Vertical Coordinate System

Surface

Reference Time

2003-09-16T12:00

Significance of Reference Time

Start of Forecast

Start of Valid Time

2003-09-16T16:00:00Z

2003-09-16T16:00:00Z

2003-09-16T16:00:00Z

End of Valid Time

2003-09-17T04:00:00Z

2003-09-16T17:00:00Z

2003-09-17T04:00:00Z

Time Coordinate

UTC

Period Name

This Afternoon …

Not Applicable

This Afternoon …

Table 1.  DWML Content by Product


Appendix B:  Requirements Correlation Matrix

 

Requirement

Spec

Spec

Spec

Spec

R2.1

S3.1.2

S4.1

S4.2

 

R2.1.1

S4.1.1

S4.1.3

 

 

R2.1.2

S4.1.6

 

 

 

R2.1.3

S3.1.1

 

 

 

R2.1.4

S4.1.2

 

 

 

R2.1.4.1

S4.1.2.1

 

 

 

R2.1.4.2

S4.1.2.2

 

 

 

R2.1.4.3

S4.1.2.3

 

 

 

R2.1.4.4

S4.1.2.4

 

 

 

R2.1.5

S4.1.4

 

 

 

R2.1.6

S4.1.6

 

 

 

R2.1.7

S4.2.2

 

 

 

R2.1.8

S4.2.2.1

 

 

 

R2.1.9

S4.2.3

 

 

 

R2.1.10

S4.2.4

 

 

 

R2.1.11

S4.2.5

 

 

 

R2.1.12

S4.2.6

 

 

 

R2.1.13

S4.2.1

 

 

 

R2.1.14

S4.1.6.1

 

 

 

R2.2

S3.1.3

S5.3.4

S5.3.8

S5.3.11.2

S5.3.11.4.5

S5.3

S5.3.5

S5.3.9

S5.3.11.3

S5.3.8.2

S5.3.2

S5.3.6

S5.3.10

S5.3.11.4

S5.3.3

S5.3.7

S5.3.11

S5.3.11.5

R2.2.1

S5.3.2.4+

S5.3.6.4+

S5.3.9.4+

S5.3.11.4.3+

S5.3.3.7

S5.3.5.7

S5.3.7.7

S5.3.9.6

S5.3.3.4+

S5.3.7.4+

S5.3.10.2

S5.3.11.4.5.3+

S5.3.4.6

S5.3.6.6

S5.3.7.8

S5.3.9.7

S5.3.4.4+

S5.3.8.2.1+

S5.3.11.2.3+

S5.3.11.5.3+

S5.3.4.7

S5.3.6.7

S5.3.8.4

S5.4+

S5.3.5.4+

S5.3.8.2.1.6

S5.3.11.3.3+

S5.3.3.6

S5.3.5.6

S5.3.7.6

S5.3.8.5

S5.5+

R2.2.1.1

S5.3.2.1

S5.3.6.1

S5.3.11.3.1

S5.3.3.1

S5.3.7.1

S5.3.11.4.1

S5.3.4.1

S5.3.9.1

S5.3.11.4.5.1

S5.3.5.1

S5.3.11.2.1

S5.3.11.5.1

R2.2.1.2

S5.3.2.5

S5.3.6.5

S5.3.11.3.4

S5.3.3.5

S5.3.7.5

S5.3.11.4.4

S5.3.4.5

S5.3.9.5

S5.3.11.4.5.4

S5.3.5.5

S5.3.11.2.4

S5.3.11.5.4

R2.2.1.3

S5.3.2.2

S5.3.6.2

S5.3.11.2.2

S5.3.11.5.2

S5.3.3.2

S5.3.7.2

S5.3.11.3.2

S5.3.4.2

S5.3.8.2.1.6.1

S5.3.11.4.2

S5.3.5.2

S5.3.9.2

S5.3.11.4.5.2

R2.2.1.4

S5.3.2.4+

S5.3.6.4+

S5.3.11.3.3+

S5.3.3.4+

S5.3.7.4+

S5.3.11.4.3+

S5.3.4.4+

S5.3.9.4+

S5.3.11.4.5.3+

S5.3.5.4+

S5.3.11.2.3+

S5.3.11.5.3+

R2.2.1.5

S5.1.2.1

S5.1.6.2.3

S5.1.3.2

S5.1.6.3.5

S5.1.4.2

S5.1.5.2

R2.2.1.6

S5.2.2

 

 

 

R2.2.2

S5.1

S5.1.1

S5.3.1

 

R2.2.2.1

S5.1.2

S5.1.5.1

S5.1.3

S5.1.5.2

S5.1.4

S5.1.5.3

S5.1.5

R2.2.2.2

S5.1.2

S5.1.5.1

S5.1.5.2.1

S5.1.3+

S5.1.5.2

S5.1.5.2.2+

S5.1.4+

S5.1.5.3

S5.1.5.3.1 – S5.1.5.3.4

S5.1.5

S5.1.5.3

R2.2.2.3

S5.1.6.1

S5.1.7.1

S5.1.8.1

 

R2.2.2.3.1

S5.1.6

 

 

 

R2.2.2.3.1.1

S5.1.6.1

 

 

 

R2.2.2.3.1.2

S5.1.6.2

 

 

 

R2.2.2.3.2

S5.1.7

 

 

 

R2.2.2.3.3

S5.1.8

 

 

 

R2.2.3

S5.2

S5.3.4.3

S5.3.8.1

S5.2.3 – S5.2.5

S5.3.5.3

S5.3.9.3

S5.3.2.3

S5.3.6.3

S5.3.10.1

S5.3.3.3

S5.3.7.3

S5.3.11.1

R2.2.3.1

S5.2.4

 

 

 

R2.2.3.2

S5.2.5

 

 

 

R2.2.3.3

S5.2.1

 

 

 

R2.2.3.4

S5.2.4.1

 

 

 

R3.1

ALL

 

 

 

R3.2

S7.2

 

 

 

R3.3

S7.3

 

 

 

R4.1

ALL

 

 

`

R4.2

ALL

 

 

 

R5.1

Appendix D

 

 

 

R5.2

Appendix D

 

 

 

R5.3

Appendix D

 

 

 

 


Appendix C:  Data Model

more follows =         zero or one = ? zero or more = *          one or more = +           choose one = { }

 
 

 


 

 

?

 

 

 
Organization Chart               Organization Chart

refresh-frequency

 
Organization Chart

?

 
Organization Chart

+

 

 

 

 
Organization Chart

vertical-coordinate

 

datum

height-units

 

 

state

summarization ?

 

state

summarization ?

 

latitude

longitude summarization ?

 
Organization Chart

vertical-coordinate

 
 

 


latitude

longitude

 

latitude

longitude

 

latitude

longitude

 

latitude

longitude

 

radius-units

 

latitude

longitude

 
Organization Chart

 

*

 

period-name ?

 

time-coordinate

summarization ?

 
Organization Chart

 

*

 

 

 

 

 
Organization Chart

 

?

 

 

 

 

 

 
Organization Chart

type

units

time-layout

categorical-table ?

conversion-table ?

 

upper-range ?

lower-range ?

 

upper-range ?

lower-range ?

 

type

units

time-layout

categorical-table ?

conversion-table ?

 

?

 

?

 
Organization Chart                  Organization Chart

type

units

time-layout

categorical-table ?

conversion-table ?

 

type

units

time-layout

categorical-table ?

conversion-table ?

 
 


upper-range ?

lower-range ?

 

upper-range ?

lower-range ?

 

?

 

?

 
Organization Chart                  Organization Chart

type

units

time-layout

categorical-table ?

conversion-table ?

 
 


type

time-layout

 

?

 

upper-range ?

lower-range ?

 
Organization Chart                              Organization Chart

upper-range ?

lower-range ?

 

type

units

time-layout

categorical-table ?

conversion-table ?

 

?

 
Organization Chart

 

time-layout

categorical-table ?

conversion-table ?

weather-summary ?

 

coverage

intensity

additive

weather-type

qualifier

 

upper-range ?

lower-range ?

 

type

units

time-layout

categorical-table ?

conversion-table ?

 

?

 
Organization Chart                              Organization Chart

 

 

 

type

units

time-layout

categorical-table ?

conversion-table ?

 

upper-range ?

lower-range ?

 

category

 
Organization Chart        Organization Chart

 

+

 
Organization Chart

 

?

 

upper-range ?

lower-range ?

period ?

steepness ?

 

upper-range ?

lower-range ?

period ?

steepness ?

 
  Organization Chart

upper-range ?

lower-range ?

 

upper-range ?

lower-range ?

 
Organization Chart


Appendix D:  Product Samples

 

Forecast at a Glance

The grid point forecast (on-line example) contains the high or low temperature, the sky condition, and a weather icon.  Figure 4 shows an example of the experimental forecast product.

NWS Web Site Product

This Afternoon

Tonight

Saturday

Saturday Night

Sunday

Sunday Night

Monday

Partly Cloudy

Hi 74 °F

Partly Cloudy

Lo 58 °F

Mostly Cloudy

Hi 79 °F

Mostly Clear

Lo 55 °F

Partly Cloudy

Hi 81 °F

Partly Cloudy

Lo 59 °F

Partly Cloudy

Hi 77 °F

Figure 4.  Forecast at a Glance

 

Analogous DWML

 

<dwml version=”1.0”>

<head>

        <product srsName=”WGS 1984” concise-name=”glance” operational-mode=”official”>

                <title>NWS Forecast at a Glance</product-title>

                <field>meteorological</field>

                <category>forecast</category></

                <creation-date refresh-frequency=”P1H”> 2003-10-22T15:30:03Z</creation-date>

        </product>

        <source>

                <more-information>http://www.crh.noaa.gov/ifps/MapClick.php</more-information>

                <production-center>Meteorological Development Laboratory, <sub-center>Statistical Modeling

                Branch</sub-center></production-center>

                </production-center>

                <disclaimer>http://www.nws.noaa.gov/disclaimer.html</disclaimer>

                <credit>http://www.nws.noaa.gov/</credit>

                <credit-logo>http://www.nws.noaa.gov/images/noaaleft.jpg</credit-logo>

                <feedback>http://www.nws.noaa.gov/mdl/</feedback>

        </source>

</head>

<data>

        <location>

                <location-key>point1</location-key>

                <point latitude=”38.0” longitude=”-78.0”/>

        </location>

        <time-layout time-coordinate=”local time” summarization=”none”>

                <layout-key>k-p12h-n4-1</layout-key>

                <start-valid-time period-name=”This Afternoon”>2003-10-15T12:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-15T23:59:59-05:00</end-valid-time>

                <start-valid-time period-name=”Saturday”>2003-10-16T12:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-16T23:59:59-05:00</end-valid-time>

                <start-valid-time period-name=”Sunday”>2003-10-17T12:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-17T23:59:59-05:00</end-valid-time>

                <start-valid-time period-name=”Monday”>2003-10-18T12:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-18T23:59:59-05:00</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”local time” summarization=”none”>

                <layout-key>k-p13h-n3-2</layout-key>

                <start-valid-time period-name=”Tonight”>2003-10-16T00:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-16T12:59:59-05:00</end-valid-time>

                <start-valid-time period-name=”Saturday Night”>2003-10-17T00:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-17T12:59:59-05:00</end-valid-time>

                <start-valid-time period-name=”Sunday Night”>2003-10-18T00:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-18T12:59:59-05:00</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”local time” summarization=”mean”>

                <layout-key>k-p12h-n7-3</layout-key>

                <start-valid-time period-name=”This Afternoon”>2003-10-15T16:00:00-04:00</start-valid-time>

                <end-valid-time>2003-10-15T21:59:59-04:00</end-valid-time>

                <start-valid-time period-name=”Tonight”>2003-10-15T22:00:00-04:00</start-valid-time>

                <end-valid-time>2003-10-16T09:59:59-04:00</end-valid-time>

                <start-valid-time period-name=”Saturday”>2003-10-16T10:00:00-04:00</start-valid-time>

                <end-valid-time>2003-10-16T21:59:59-04:00</end-valid-time>

                <start-valid-time period-name=”Saturday-Night”>2003-10-16T22:00:00-04:00</start-valid-time>

                <end-valid-time>2003-10-17T09:59:59-04:00</end-valid-time>

                <start-valid-time period-name=”Sunday”>2003-10-17T10:00:00-04:00</start-valid-time>

                <end-valid-time>2003-10-17T21:59:59-04:00</end-valid-time>

                <start-valid-time period-name=”Sunday-Night”>2003-10-17T22:00:00-04:00</start-valid-time>

                <end-valid-time>2003-10-18T09:59:59-04:00</end-valid-time>

                <start-valid-time period-name=”Monday”>2003-10-18T10:00:01-04:00</start-valid-time>

                <end-valid-time>2003-10-19T21:59:59-04:00</end-valid-time>

        </time-layout>

        <parameters applicable-location=’point1’>

                <conversion-definitions>

                        <conversion-table units=”percent”>

                                <conversion-key>sky-cover</conversion-key>

                                <start-value>0</start-value>

                                <end-value>6</end-value>

                                <equivalent-value>clear</equivalent-value>

                                <start-value>7</start-value>

                                <end-value>31</end-value>

                                <equivalent-value>mostly clear</equivalent-value>

                                <start-value>32</start-value>

                                <end-value>69</end-value>

                                <equivalent-value>partly cloudy</equivalent-value>

                                <start-value>70</start-value>

                                <end-value>94</end-value>

                                <equivalent-value>mostly cloudy</equivalent-value>

                                <start-value>95</start-value>

                                <end-value>100</end-value>

                                <equivalent-value>cloudy</equivalent-value>

                        </conversion-table>

                </conversion-definitions>

                <temperature type=”maximum” units=”F” time-layout=”k-p12h-n4-1”>

                        <name>Maximum Temperature</name>

                        <value>74</value>

                        <value>79</value>

                        <value>81</value>

                        <value>77</value>

                </temperature>

                <temperature type=”minimum” units=”F” time-layout=”k-p12h-n3-2”>

                        <name>Minimum Temperature</name>

                        <value>58</value>

                        <value>59</value>

                        <value>55</value>

                </temperature>

                <cloud-amount type=”total” units=”percent” time-layout=” k-p12h-n7-3” conversion-table=”sky-cover”>

                        <amount-name>Total Sky Cover</amount-name>

                        <amount-name>45</amount-name>

                        <amount-name>75</amount-name>

                        <amount-name>55</amount-name>

                        <amount-name>60</amount-name>

                        <amount-name>50</amount-name>

                        <amount-name>77</amount-name>

                        <amount-name>53</amount-name>

                </cloud-amount>

                <conditions-icons time-layout=” k-p12h-n7-3”>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nsct.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nbkn.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/tsra20.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/tsra40.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/tsra40.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/tsra40.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/tsra40.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/ntsra20.jpg</icon-link>

                        <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/hi_nshwrs20.jpg</icon-link>

                </conditions-icons>

        </parameters>

</data>

</dwml>


Digital Tabular Forecast

The forecast (on-line example) contains hourly values for temperature, dew point temperature, probability of precipitation, wind direction and speed, sky cover, as well as precipitation type information.  Figure 5 shows an example of this experimental forecast product.

Sample Digital Tabular Forecast Product

Figure 5.  Digital/Tabular Forecast

 

Analogous DWML

 

<dwml version=”1.0”>

<head>

        <product srsName=”WGS 1984” concise-name=” digital-tabular” operational-mode=”official”>

                <title>NWS Forecast at a Glance</product-title>

                <field>meteorological</field>

                <category>forecast</category>

                <creation-date refresh-frequency=”P1H”> 2003-10-22T15:30:03Z</creation-date>

        </product>

        <source>

                <more-information>http://www.crh.noaa.gov/ifps/MapClick.php</more-information>

                <production-center>Meteorological Development Laboratory, <sub-center>Statistical Modeling

                Branch</sub-center></production-center>

                </production-center>

                <disclaimer>http://www.nws.noaa.gov/disclaimer.html</disclaimer>

                <credit>http://www.nws.noaa.gov/</credit>

                <credit-logo>http://www.nws.noaa.gov/images/noaaleft.jpg</credit-logo>

                <feedback>http://www.nws.noaa.gov/mdl/</feedback>

        </source>

</head>

<data>

        <location>

                <location-key>point1</location-key>

                <point latitude=”38.0” longitude=”-78.0”/>

        </location>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p1h-n16-1</layout-key>

                <start-valid-time>2003-09-16T20:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T21:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T22:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T23:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T00:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T01:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T02:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T03:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T04:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T05:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T06:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T07:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T08:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T09:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T10:00:00Z</start-valid-time>

                <start-valid-time>2003-09-16T11:00:00Z</start-valid-time>

        </time-layout>

        <parameters applicable-location=’point1’>

                <conversion-definitions>

                        <conversion-table>

                                <conversion-key>wind-direction</conversion-key>

                                <start-value>23</start-value>

                                <end-value>67</end-value>

                                <equivalent-value>NE</equivalent-value>

                                <start-value>68</start-value>

                                <end-value>112</end-value>

                                <equivalent-value>E</equivalent-value>

                                <start-value>113</start-value>

                                <end-value>157</end-value>

                                <equivalent-value>SE</equivalent-value>

                                <start-value>158</start-value>

                                <end-value>202</end-value>

                                <equivalent-value>SE</equivalent-value>

                                <start-value>203</start-value>

                                <end-value>247</end-value>

                                <equivalent-value>SW</equivalent-value>

                                <start-value>248</start-value>

                                <end-value>292</end-value>

                                <equivalent-value>W</equivalent-value>

                                <start-value>293</start-value>

                                <end-value>337</end-value>

                                <equivalent-value>NW</equivalent-value>

                                <start-value>338</start-value>

                                <end-value>22</end-value>

                                <equivalent-value>N</equivalent-value>

                        </conversion-table>

                </conversion-definitions>

                <temperature type=”temperature” units=”F” time-layout=”k-p1h-n16-1”>

                        <name>Hourly Temperatures</name>

                        <value>79</value>

                        <value>79</value>

                        <value>78</value>

                        <value>75</value>

                        <value>72</value>

                        <value>70</value>

                        <value>67</value>

                        <value>65</value>

                        <value>62</value>

                        <value>59</value>

                        <value>58</value>

                        <value>58</value>

                        <value>57</value>

                        <value>57</value>

                        <value>56</value>

                        <value>56</value>

                </temperature>

                <temperature type=”dew point” units=”F” time-layout=”k-p1h-n16-1”>

                        <name>Hourly Dewpoint Temperatures</name>

                        <value>52</value>

                        <value>51</value>

                        <value>50</value>

                        <value>50</value>

                        <value>49</value>

                        <value>48</value>

                        <value>48</value>

                        <value>47</value>

                        <value>46</value>

                        <value>46</value>

                        <value>46</value>

                        <value>46</value>

                        <value>46</value>

                        <value>47</value>

                        <value>48</value>

                        <value>48</value>

                </temperature>

                <probability-of-precipitation type=”12 hour” units=”percent” time-layout=”k-p1h-n16-1”>

                        <name>12 Hour Probability of Precipitation</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                </probability-of-precipitation>

                <cloud-amount type=”total” units=”percent” time-layout=”k-p1h-n16-1”>

                        <amount-name>Total Sky Cover</amount -name>

                        <value>13</value>

                        <value>10</value>

                        <value>6</value>

                        <value>3</value>

                        <value>2</value>

                        <value>2</value>

                        <value>2</value>

                        <value>2</value>

                        <value>3</value>

                        <value>5</value>

                        <value>7</value>

                        <value>9</value>

                        <value>10</value>

                        <value>12</value>

                        <value>14</value>

                        <value>16</value>

                </cloud-amount>

                <direction type=”wind” units=”degrees true” time-layout=”k-p1h-n16-1” conversion-table=”wind-direction”>

                        <name>Wind Direction</name>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                        <value>315</value>

                </direction>

                <wind-speed type=”sustained” units=”knots” time-layout=”k-p1h-n16-1”>

                        <name>Sustained Wind Speed</name>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                        <value>6</value>

                        <value>3</value>

                        <value>2</value>

                        <value>2</value>

                        <value>2</value>

                        <value>3</value>

                        <value>5</value>

                        <value>5</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                </wind-speed>

                <wind-speed type=”gust” units=”knots” time-layout=”k-p1h-n16-1”>

                        <name>Wind SpeedGusts</name>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value>5</value>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                        <value xsi:nil=”true”/>

                </wind-speed>

                <weather time-layout=”k-p1h-n16-1”>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                        <weather-conditions xsi:nil=”true”/>

                </weather>

        </parameters>

</data>

</dwml>

 


Digital Zone Forecast

This product is similar to the Forecast at a Glance in that it uses 12 hour forecast periods to summarize the NDFD data.  The digital zone forecast is like the Digital Tabular Forecast in terms of its use of an extensive number of weather elements.  Figure 6 shows an example product.

Sample Digital Zone Forecast Product

 

This Afternoon

Tonight

Saturday

Saturday Night

Sunday

Sunday Night

Sky Cover

30 percent

25 percent

20 percent

35 percent

60 percent

65 percent

High/Low

74 °F

58 °F

79 °F

55 °F

81 °F

59 °F

Wind Direction

NW

NW

SW

SW

SW

SE

Wind Speed

5 -10

5 -10

5 -10

5 -10

10 - 15

5 -10

Probability-of-precipitation

0

0

0

0

40

60

Weather Type

None

None

None

None

Thunderstorms

Showers

Figure 6.  Digital Zone Forecast

 

Analogous DWML

 

<dwml version=”1.0”>

<head>

        <product srsName=”WGS 1984” concise-name=”digital-zone” operational-mode=”official”>

                <creation-date refresh-frequency=”P1H”> 2003-10-22T15:30:03Z</creation-date>

        </product>

        <source>

                <more-information>http://www.crh.noaa.gov/ifps/MapClick.php</more-information>

        </source>

</head>

<data>

        <location>

                <location-key>point1</location-key>

                <point latitude=”38.0” longitude=”-78.0”/>

        </location>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p12h-n3-1</layout-key>

                <start-valid-time period-name=”This Afternoon”>2003-10-15T12:00:00Z</start-valid-time>

                <end-valid-time>2003-10-16T23:59:59Z</end-valid-time>

                <start-valid-time period-name=”Saturday”>2003-10-16T12:00:00Z</start-valid-time>

                <end-valid-time>2003-10-17T23:59:59Z</end-valid-time>

                <start-valid-time period-name=”Sunday”>2003-10-17T12:00:00Z</start-valid-time>

                <end-valid-time>2003-10-18T23:59:59Z</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”local-time” summarization=”none”>

                <layout-key>k-p12h-n3-2</layout-key>

                <start-valid-time period-name=”Tonight”>2003-10-16T00:00:00Z</start-valid-time>

                <end-valid-time>2003-10-16T11:59:59Z</end-valid-time>

                <start-valid-time period-name=”Saturday Night”> 2003-10-17T00:00:00Z</start-valid-time>

                <end-valid-time>2003-10-17T11:59:59Z </end-valid-time>

                <start-valid-time period-name=”Sunday Night”> 2003-10-18T00:00:00Z</start-valid-time>

                <end-valid-time>2003-10-18T11:59:59Z </end-valid-time>

        </time-layout>

        <parameters applicable-location=’point1’>

                <conversion-definitions>

                        <conversion-table>

                                <conversion-key>wind-direction</conversion-key>

                                <start-value>23</start-value>

                                <end-value>67</end-value>

                                <equivalent-value>NE</equivalent-value>

                                <start-value>68</start-value>

                                <end-value>112</end-value>

                                <equivalent-value>E</equivalent-value>

                                <start-value>113</start-value>

                                <end-value>157</end-value>

                                <equivalent-value>SE</equivalent-value>

                                <start-value>158</start-value>

                                <end-value>202</end-value>

                                <equivalent-value>SE</equivalent-value>

                                <start-value>203</start-value>

                                <end-value>247</end-value>

                                <equivalent-value>SW</equivalent-value>

                                <start-value>248</start-value>

                                <end-value>292</end-value>

                                <equivalent-value>W</equivalent-value>

                                <start-value>293</start-value>

                                <end-value>337</end-value>

                                <equivalent-value>NW</equivalent-value>

                                <start-value>338</start-value>

                                <end-value>22</end-value>

                                <equivalent-value>N</equivalent-value>

                        </conversion-table>

                </conversion-definitions>

                <temperature type=”maximum” units=”F” time-layout=”k-p12h-n3-1”>

                        <value>74</value>

                        <value>79</value>

                        <value>81</value>

                </temperature>

                <temperature type=”minimum” units=”F” time-layout=”k-p12h-n3-2”>

                        <value>58</value>

                        <value>55</value>

                        <value>59</value>

                </temperature>

                <cloud-amount type=”total” units=”percent” time-layout=”k-p12h-n3-1”>

                        <name>Total Sky Cover</ name>

                        <value>30</value>

                        <value>20</value>

                        <value>60</value>

                </cloud-amount>

                <cloud-amount type=”total” units=”percent” time-layout=”k-p12h-n3-2”>

                        <name>Total Sky Cover</ name>

                        <value>25</value>

                        <value>35</value>

                        <value>65</value>

                </cloud-amount>

                <direction type=”wind” units=”degrees true” time-layout=”k-p12h-n3-1” conversion-table=”wind-direction”>

                        <value>315</value>

                        <value>225</value>

                        <value>225</value>

                </direction>

                <direction type=”wind” units=”degrees true” time-layout=”k-p12h-n3-2” conversion-table=”wind-direction”>

                        <value>315</value>

                        <value>135</value>

                        <value>225</value>

                </direction>

                <wind-speed type=”sustained” units=”knots” time-layout=”k-p12h-n3-1”>

                        <value lower-range=”5” upper-range=”10”>6</value>

                        <value lower-range=”5” upper-range=”10”>8</value>

                        <value lower-range=”10” upper-range=”15”>12</value>

                </wind-speed>

                <wind-speed type=”sustained” units=”knots” time-layout=”k-p12h-n3-2”>

                        <value lower-range=”5” upper-range=”10”>6</value>

                        <value lower-range=”5” upper-range=”10”>8</value>

                        <value lower-range=”5” upper-range=”10”>7</value>

                </wind-speed>

                <probability-of-precipitation type=”12-hour” units=”percent” time-layout=”k-p12h-n3-1”>

                        <value>0</value>

                        <value>0</value>

                        <value>40</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”12-hour” units=”percent” time-layout=”k-p12h-n3-2”>

                        <value>0</value>

                        <value>0</value>

                        <value>60</value>

                </probability-of-precipitation>

                <weather time-layout=” k-p12h-n3-1”>

                        <weather-conditions xsi:nil=”true” />

                        <weather-conditions xsi:nil=”true” />

                        <weather-conditions>

                                <value coverage=”scattered” intensity=”moderate” weather-type=”thunderstorms” qualifier=”none” />

                        </weather-conditions>

                </weather>

                <weather time-layout=” k-p12h-n3-2”>

                        <weather-conditions xsi:nil=”true” />

                        <weather-conditions xsi:nil=”true” />

                        <weather-conditions>

                                <value coverage=”chance” intensity=”light” weather-type=”showers” qualifier=”none” />

                        </weather-conditions>

                </weather>

        </parameters>

<data>

<dwml>


Model Output Statistics Bulletin

 

This is not an NDFD product.  Rather, it is an operational text bulletin produced by the Meteorological Development Laboratory.  Figure 7 shows a sample bulletin.

 

Sample Model Output Statistics Product

KAKQ   AVN MOS GUIDANCE   10/24/2003  1200 UTC                      
 DT /OCT  24/OCT  25                /OCT  26                /OCT  27 
 HR   18 21 00 03 06 09 12 15 18 21 00 03 06 09 12 15 18 21 00 06 12 
 N/X                    38          62          57          70    59 
 TMP  57 57 44 41 40 40 41 55 60 60 56 58 60 60 60 65 68 67 63 64 64 
 DPT  27 29 36 35 35 36 39 46 49 52 54 57 59 59 59 61 61 61 60 59 60 
 CLD  CL CL CL CL CL CL CL BK BK BK BK BK BK OV OV OV OV OV OV OV OV 
 WDR  36 00 00 00 00 00 00 19 21 00 00 20 21 21 21 21 22 22 22 18 23 
 WSP  02 00 00 00 00 00 00 05 05 00 00 02 02 03 03 06 05 02 03 04 06 
 P06         0     0     0     3     2    11    20    32    35 20 57 
 P12                     0          10          22          59    60 
 Q06         0     0     0     0     0     0     0     0     0  0  2 
 Q12                     0           0           0           1     2 
 T06      0/24  0/19  0/ 0  0/27  0/19  2/19  3/ 0  2/30  6/25 18/ 1 
 T12            0/29        0/27        2/32        5/30    18/40    
 POZ   0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
 POS   0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
 TYP   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R 
 CIG   7  7  7  7  7  7  7  7  5  5  5  7  5  5  4  4  4  5  5  4  3 
 VIS   7  7  7  7  7  7  7  7  7  7  7  7  6  3  2  6  7  7  7  1  4 
 OBV   N  N  N  N  N  N  N  N  N  N  N  N BR FG BR HZ  N  N  N FG BR 
 

Figure 7:  Sample Model Output Statistics Bulletin.

 

Analogous DWML

 

<dwml version=”1.0”>

<head>

        <product srsName=”WGS 1984” concise-name=” digital-tabular” operational-mode=”experimental”>

                <title>NWS Forecast at a Glance</product-title>

                <field>meteorological</field>

                <category>forecast</category>

                <creation-date refresh-frequency=”P1H”> 2003-10-24T10:30:03Z</creation-date>

        </product>

        <source>

                <more-information>http://www.nws.noaa.gov/mdl/synop/products.shtml</more-information>

                <production-center>Meteorological Development Laboratory, <sub-center>Statistical Modeling

                Branch</sub-center></production-center>

                <disclaimer>http://www.nws.noaa.gov/disclaimer.html</disclaimer>

                <credit>http://www.nws.noaa.gov/</credit>

                <credit-logo>http://www.nws.noaa.gov/images/noaaleft.jpg</credit-logo>

                <feedback>http://www.nws.noaa.gov/mdl/</feedback>

        </source>

</head>

<data>

        <location>

                <location-key>point1</location-key>

                <point latitude=”36.9872” longitude=”-77.0011”/>

        </location>

        <time-layout time-coordinate=”local-time” summarization=”none”>

                <layout-key>k-p12h-n2-1</layout-key>

                <start-valid-time>2003-10-25T12:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-25T23:59:59-05:00</end-valid-time>

                <start-valid-time>2003-10-26T12:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-26T23:59:59-05:00</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”local time” summarization=”none”>

                <layout-key>k-p13h-n3-2</layout-key>

                <start-valid-time>2003-10-25T00:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-25T12:59:59-05:00</end-valid-time>

                <start-valid-time>2003-10-26T00:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-26T12:59:59-05:00</end-valid-time>

                <start-valid-time>2003-10-27T00:00:00-05:00</start-valid-time>

                <end-valid-time>2003-10-27T12:59:59-05:00</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p3h-n21-3</layout-key>

                <start-valid-time>2003-10-24T18:00:00Z</start-valid-time>

                <start-valid-time>2003-10-24T21:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T00:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T03:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T06:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T09:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T12:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T15:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T18:00:00Z</start-valid-time>

                <start-valid-time>2003-10-25T21:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T00:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T03:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T06:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T09:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T12:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T15:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T18:00:00Z</start-valid-time>

                <start-valid-time>2003-10-26T21:00:00Z</start-valid-time>

                <start-valid-time>2003-10-27T00:00:00Z</start-valid-time>

                <start-valid-time>2003-10-27T06:00:00Z</start-valid-time>

                <start-valid-time>2003-10-27T12:00:00Z</start-valid-time>

        </time-layout>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p6h-n11-4</layout-key>

                <start-valid-time>2003-10-24T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T12:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T12:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T18:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T12:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T12:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T18:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-27T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-27T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T12:00:00Z</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p12h-n5-5</layout-key>

                <start-valid-time>2003-10-25T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T12:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T12:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T12:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T12:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-27T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T12:00:00Z</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p6h-n10-6</layout-key>

                <start-valid-time>2003-10-24T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T12:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T12:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T18:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T12:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T12:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T18:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T00:00:00Z</end-valid-time>

                <start-valid-time>2003-10-27T00:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T06:00:00Z</end-valid-time>

        </time-layout>

        <time-layout time-coordinate=”UTC” summarization=”none”>

                <layout-key>k-p12h-n5-7</layout-key>

                <start-valid-time>2003-10-24T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-25T18:00:00Z</end-valid-time>

                <start-valid-time>2003-10-25T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T06:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T06:00:01Z</start-valid-time>

                <end-valid-time>2003-10-26T18:00:00Z</end-valid-time>

                <start-valid-time>2003-10-26T18:00:01Z</start-valid-time>

                <end-valid-time>2003-10-27T06:00:00Z</end-valid-time>

        </time-layout>

        <parameters applicable-location=’point1’>

                <categorical-definitions>

                        <categorical-table units=”inches”>

                                <categorical-key>QPF-categories</categorical-key>

                                <value category=”no precipitation”>0</value>

                                <value category=”0.01 to 0.09”>1</value>

                                <value category=”0.10 to 0.24”>2</value>

                                <value category=”0.25 to 0.49”>3</value>

                                <value category=”0.50 to 0.99”>4</value>

                                <value category=”1.00 to 1.99”>5</value>

                                <value category=”2.00 inches or greater”>6</value>

                        </categorical-table>

                        <categorical-table units=”miles”>

                                <categorical-key>visibility-categories</categorical-key>

                                <value category=”less than or equal to 1/4”>1</value>

                                <value category=”1/4 to 1/2”>2</value>

                                <value category=”1/2 to 1”>3</value>

                                <value category=”1 to 3”>4</value>

                                <value category=”3 to 5”>5</value>

                                <value category=”6”>6</value>

                                <value category=”greater than 6”>7</value>

                        </categorical-table>

                        <categorical-table units=”feet”>

                                <categorical-key>ceiling-categories</categorical-key>

                                <value category=”less than 200”>1</value>

                                <value category=”200 to 400”>2</value>

                                <value category=”500 to 900”>3</value>

                                <value category=”1000 to 3000”>4</value>

                                <value category=”3100 to 6500”>5</value>

                                <value category=”6600 to 12000”>6</value>

                                <value category=”greater than 12000”>7</value>

                        </categorical-table>

                </categorical-definitions>

                <conversion-definitions>

                        <conversion-table>

                                <conversion-key>sky-cover</conversion-key>

                                <start-value>0</start-value>

                                <end-value>0</end-value>

                                <equivalent-value>CL</equivalent-value>

                                <start-value>3</start-value>

                                <end-value>4</end-value>

                                <equivalent-value>SC</equivalent-value>

                                <start-value>5</start-value>

                                <end-value>7</end-value>

                                <equivalent-value>BK</equivalent-value>

                                <start-value>8</start-value>

                                <end-value>8</end-value>

                                <equivalent-value>OV</equivalent-value>

                        </conversion-table>

                </conversion-definitions>

                <temperature type=”maximum” units=”F” time-layout=”k-p12h-n2-1”>

                        <name>Maximum Temperature</name>

                        <value>62</value>

                        <value>70</value>

                </temperature>

                <temperature type=”minimum” units=”F” time-layout=”k-p12h-n3-2”>

                        <name>Minimum Temperature</name>

                        <value>38</value>

                        <value>57</value>

                        <value>59</value>

                </temperature>

                <temperature type=”temperature” units=”F” time-layout=”k-p12h-n21-3”>

                        <name>3 Hourly Temperature</name>

                        <value>57</value>

                        <value>57</value>

                        <value>44</value>

                        <value>41</value>

                        <value>40</value>

                        <value>40</value>

                        <value>41</value>

                        <value>55</value>

                        <value>60</value>

                        <value>60</value>

                        <value>56</value>

                        <value>58</value>

                        <value>60</value>

                        <value>60</value>

                        <value>60</value>

                        <value>65</value>

                        <value>68</value>

                        <value>67</value>

                        <value>63</value>

                        <value>64</value>

                        <value>64</value>

                </temperature>

                <temperature type=”dew point” units=”F” time-layout=”k-p12h-n21-3”>

                        <name>3 Hourly Dew Point Temperature</name>

                        <value>27</value>

                        <value>29</value>

                        <value>36</value>

                        <value>35</value>

                        <value>35</value>

                        <value>36</value>

                        <value>39</value>

                        <value>46</value>

                        <value>49</value>

                        <value>52</value>

                        <value>54</value>

                        <value>57</value>

                        <value>59</value>

                        <value>59</value>

                        <value>59</value>

                        <value>61</value>

                        <value>61</value>

                        <value>61</value>

                        <value>60</value>

                        <value>59</value>

                        <value>60</value>

                </temperature>

                <cloud-amount type=”total” units=”8ths” time-layout=”k-p3h-n21-3” conversion-table=”sky-cover”>

                        <name>Total Sky Amount</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                        <value>6</value>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                        <value>8</value>

                </cloud-amount>

                <direction type=”wind” units=”degrees true” time-layout=”k-p3h-n21-3”>

                        <name>10 Meter Wind Direction</name>

                        <value>360</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>190</value>

                        <value>210</value>

                        <value>0</value>

                        <value>0</value>

                        <value>200</value>

                        <value>210</value>

                        <value>210</value>

                        <value>210</value>

                        <value>210</value>

                        <value>220</value>

                        <value>220</value>

                        <value>220</value>

                        <value>180</value>

                        <value>230</value>

                </direction>

                <wind-speed type=”sustained” units=”knots” time-layout=”k-p3h-n21-3”>

                        <name>10 Meter Wind Speed</name>

                        <value>2</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>5</value>

                        <value>5</value>

                        <value>0</value>

                        <value>0</value>

                        <value>2</value>

                        <value>2</value>

                        <value>3</value>

                        <value>3</value>

                        <value>6</value>

                        <value>5</value>

                        <value>2</value>

                        <value>3</value>

                        <value>4</value>

                        <value>6</value>

                </wind-speed>

                <probability-of-precipitation type=”6 hour” units=”percent” time-layout=”k-p6h-n11-4”>

                        <name>6 Hour Probability of Precipitation</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>3</value>

                        <value>2</value>

                        <value>11</value>

                        <value>20</value>

                        <value>32</value>

                        <value>35</value>

                        <value>20</value>

                        <value>57</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”12 hour” units=”percent” time-layout=” k-p12h-n5-5”>

                        <name>12 Hour Probability of Precipitation</name>

                        <value>0</value>

                        <value>10</value>

                        <value>22</value>

                        <value>59</value>

                        <value>60</value>

                </probability-of-precipitation>

                <precipitation type=”6 hour” time-layout=”k-p6h-n11-4” categorical-table=”QPF-categories”>

                        <name>6 Hour Precipitation</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>2</value>

                </precipitation>

                <precipitation type=”12 hour” time-layout=” k-p12h-n5-5” categorical-table=”QPF-categories”>

                        <name>12 Hour Precipitation</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>1</value>

                        <value>2</value>

                </precipitation>

                <probability-of-precipitation type=”6 hour thunderstorm” units=”percent” time-layout=”k-p6h-n10-6”>

                        <name>6 Hour Probability of Thunderstorms</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>2</value>

                        <value>3</value>

                        <value>2</value>

                        <value>6</value>

                        <value>18</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”12 hour thunderstorm” units=”percent” time-layout=” k-p12h-n5-7”>

                        <name>12 Hour Probability of Thunderstorms</name>

                        <value>0</value>

                        <value>0</value>

                        <value>2</value>

                        <value>5</value>

                        <value>18</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”6 hour severe thunderstorm” units=”percent” time-layout=”k-p6h-n10-6”>

                        <name>6 Hour Conditional Probability of Severe Thunderstorms</name>

                        <value>24</value>

                        <value>19</value>

                        <value>0</value>

                        <value>27</value>

                        <value>19</value>

                        <value>19</value>

                        <value>0</value>

                        <value>30</value>

                        <value>25</value>

                        <value>1</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”12 hour severe thunderstorm” units=”percent” time-layout=” k-p12h-n5-7”>

                        <name>12 Hour Conditional Probability of Severe Thunderstorms</name>

                        <value>29</value>

                        <value>27</value>

                        <value>32</value>

                        <value>30</value>

                        <value>40</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”freezing” units=”percent” time-layout=”k-p3h-n21-3”>

                        <name>3 Hour Probability of Freezing Precipitation</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                </probability-of-precipitation>

                <probability-of-precipitation type=”snow” units=”percent” time-layout=”k-p3h-n21-3”>

                        <name>3 Hour Probability of Snow</name>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                        <value>0</value>

                </probability-of-precipitation>

                <weather time-layout=”k-p3h-n21-3” categorical-table=”visibility-categories”>

                        <weather-conditions>

                                <value weather-type=”rain” />

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <visibility>7</visibility>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                   <visibility>7</visibility>

                       </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                        </value>

                                <value xsd:nil=”true” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>6</visibility>

                        </value>

                                <value weather-type=”haze” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain” />

                                <value weather-type=”fog”>

                                  <visibility>3</visibility>

                        </value>

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>2</visibility>

                                </value>

                                <value weather-type=”haze” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                   <visibility>6</visibility>

                                </value>

                                <value weather-type=”haze” />

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>7</visibility>

                                </value>

                                <value>none</value>

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                <visibility>7</visibility>

                                </value>

                                <value>none</value>

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                <visibility>7</visibility>

                                </value>

                                <value>none</value>

                        </weather-conditions>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                </value>

                                <value weather-type=”fog” />

                        </weather-conditions>

                        <visibility>1</visibility>

                        <weather-conditions>

                                <value weather-type=”rain”>

                                  <visibility>4</visibility>

                                </value>

                                <value weather-type=”haze” />

                        </weather-conditions>

                </weather>

                <cloud-amount type=”ceiling” units=”none” time-layout=”k-p3h-n21-3” categorical-table=”ceiling-categories”>

                        <name>ceiling</name>

                        <value>7</value>

                        <value>7</value>

                        <value>7</value>

                        <value>7</value>

                        <value>7</value>

                        <value>7</value>

                        <value>7</value>

                        <value>7</value>

                        <value>5</value>

                        <value>5</value>

                        <value>5</value>

                        <value>7</value>

                        <value>5</value>

                        <value>5</value>

                        <value>4</value>

                        <value>4</value>

                        <value>4</value>

                        <value>5</value>

                        <value>5</value>

                        <value>4</value>

                        <value>3</value>

                </cloud-amount>

        </parameters>

</data>

</dwml>

 

 

 


Appendix E:  Type Definitions

 

dwmlType (scope = global, element only)

      attribute = version, type = string, default = “1.0”

      choice

                  sequence

                              element = head, type = headType, min = 1, max = 1

                              element = data, type = dataType, min = 1, max = 1

                  sequence

                              element=latLonList, type= latLonListType, min = 1, max = 1

 

headType (scope = global, element only)

      sequence

                  element = product, type productType, min = 1, max = 1

                  element = source, type sourceType, min = 0, max = 1

 

productType (scope = global, element only)

      attribute = concise-name, type = concise-nameType, use = required

      attribute = srsName, type = srsNameType, use = required

      attribute = operational-mode, type = operational-modeType, use = required

      anyOrder

                  element = title, type = string, min = 0, max = 1

                  element = field, type = fieldType, , min = 0, max = 1

                  element = category, type = categoryType, min = 0, max = 1

                  element = creation-date, type = creation-dateType, , min = 1, max = 1

 

fieldType (scope = local, base = string)

      enumeration

                  “meteorological”

 

categoryType (scope = local, base = string)

      enumeration

                  “forecastl”

 

concise-nameType (scope = local, base = string)

      enumeration

                  “time-series” “glance” “tabular-digital” “digital-zone” “dwmlByDay”

 

operational-modeType (scope = local, base = string)

      enumeration

                  “test” “developmental” “experimental” “official”

 

srsNameType (scope = local, base = string)

      enumeration

                  “WGS 1984”

 

creation-dateType (scope = local, text only with base = dateTime)

      attribute = refresh-frequency, type = duration, use = required

 

sourceType (scope = local, element only)

      anyOrder

                  element = more-information, type = anyURI, min = 1, max = 1

                  element = production-center, type = production-centerType, min = 0, max = 1

                  element = disclaimer, type = anyURI, min = 0, max = 1

                  element = credit, type = anyURI, min = 0, max = 1

                  element = credit-logo, type = anyURI, min = 0, max = 1

                  element = feedback, type = anyURI, min = 0, max = 1

 

production-centerType (scope = local, mixed text and element)

      element = sub-center, type = string, min = 0, max = 1

 

dataType (scope = local, element only)

      sequence

                  element = location, type = locationType, min = 1, max = unbounded

                  element = time-layout, type = time-layoutType, min = 1, max = unbounded

                  element = parameters, type = parametersType, min = 1, max = unbounded

 

locationType (scope = local, element only)

      element = location-key, type = string, min = 1, max = 1

      element = description, type = string, min = 0, max = 1

      choice

                  element = point, type = pointType, min = 0, max = 1

                  element = nws-zone, type = nws-zoneType, min = 0, max = 1

                  element = area, type = areaType, min = 0, max = 1

      element = city, type = cityType, min = 0, max = 1

      choice

                  element = height, type = heightType, min = 0, max = 1

                  element = level, type = levelType, min = 0, max = 1

                  element = layer, type = layerType, min = 0, max = 1

 

location-keyType (scope = local to data element, text only with base = string)

      must be unique

 

pointType (scope = location element, element only)

      attribute = summarization, type = summarizationType, use = optional

      attribute = latitude, type = decimal, use = required

      attribute = longitude, type = decimal, use = required

 

cityType (scope = local, text only with base = string)

      attribute = state, type = stateType, use = required

      attribute = summarization, type = summarizationType, use = optional

 

stateType (scope = location element, base = string)

      pattern

                  [A-Z][A-Z] (only two digits allowed)

 

nws-zoneType (scope = local, text only with base = string)

      attribute = state, type = stateType, use = required

      attribute = summarization, type = summarizationType, use = optional

 

summariztionType (scope = data element, base = string)

      enumeration

                  “mean” “medium” “mode” “maximum” “minimum” “12hourly” “24hourly” “none”

 

areaType (scope = local, element only)

      attribute = area-type, type = area-typeType, use = required

      choice

                  element = circle, type = circleType, min = 0, max = 1

                  element = rectangle, type = rectangleType, min = 0, max = 1

 

area-typeType (scope = local, base = string)

      enumeration

                  “circle” “rectangle”

 

circleType (scope = local, element only)

      attribute = summarization, type = summarizationType, use = optional

      element = point, type = pointType, min = 1, max = 1

      element = radius, type = radiusType, min = 1, max = 1

 

radiusType (scope = local, base = decimal)

      attribute = radius-units, type=radius-unitsType, use = required

 

radius-unitsType (scope = local, base = string)

      enumeration

                  “statute miles” “kilometers”

 

rectangleType (scope = local, element only)

      attribute = summarization, type = summarizationType, use = optional

      element = point, type = pointType, min = 4, max = 4

 

heightType (scope = local, base = decimal)

      attribute = datum, type = datumType, use = required

      attribute = height-units, type = height-unitsType, use = required

 

datumType (scope = local, base = string)

      enumeration

                  “surface” “mean sea level”

 

height-unitsType (scope = local, base = string)

      enumeration

                  “feet” “meters”

 

levelType (scope = local, base = nonNegativeInteger)

      attribute = vertical-coordinate, type = string, use = optional

 

layerType (scope = local, base = nonNegativeInteger)

      attribute = vertical-coordinate, type = vertical-coordinateType, use = optional

 

time-layoutType (scope = local, element only)

      attribute = time-coordinate, type = time-coordinateType, use = required

      attribute = summarization; type = summarizationType, use = optional

      sequence

                  element = layout-key, type = layout-keyType, min = 1, max = unbounded

                  sequence

                              element = start-valid-time, type = start-valid-timeType, min = 1, max = unbounded

                              element = end-valid-time, type = dateTime, min = 0, max = unbounded

 

time-coordinateType (scope = local, base = string)

      enumeration

                  “local time” “UTC”

 

layout-keyType (scope = local, base = string)

      pattern

                  k-p\d+[h|d|m|y]-n\d+-\d+  (something like k-p12h-n10-1)

      must be unique

 

start-valid-timeType (scope = local, base = dateTime)

      attribute = period-name, type = string, use = optional

 

parametersType (scope = local, element only)

      attribute = applicable-location, type = string, use = required

      anyOrder

                  element = temperature, type = temperatureType, min = 0, max = unbounded

                  element = precipitation, type = precipitationType, min = 0, max = unbounded

                  element = probability-of-precipitation, type = probability-of-precipitationType,

min = 0, max = unbounded

                  element = convective-hazard, type = convective-hazardType,

min = 0, max = unbounded

                  element = wind-speed, type = wind-speedType, min = 0, max = unbounded

                  element = direction, type = directionType, min = 0, max = unbounded

                  element = cloud-amount, type = cloud-amountType, min = 0, max = unbounded

                  element = weather, type = weatherType, min = 0, max = unbounded

                  element = humidity, type = humidityType, min = 0, max = unbounded

                  element = conditions-icon, type = conditions-iconType, min = 0, max = unbounded

                  element = wordedForecast, type = wordedForecastType, min = 0, max = unbounded

                  element = water-state, type = conditions-iconType, min = 0, max = unbounded

 

temperatureType (scope = local, element only)

      attribute = type, type = typeType, use = required

      attribute = units, type = string, fixed = “F”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  choice

                              element = value, type = valueType, min = 1, max = unbounded, nillable

                              element = valueWithUncertainty, type = valueWithUncertaintyType, min = 1, max =

                                                      unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

                  “maximum” “minimum” “hourly” “dew point” “heat index” “wind chill” “apparent”

“monthly anomalies” “seasonal anomalies” “8-14 day anomalies” ”monthly anomolies”

”seasonal anomolies” “rtma-hourly” “rtma-dew point”

 

valueWithUncertaintyType (scope = local, element only)

      sequence

                  element = value, type = valueType, min = 0, max = 1, nillable

                  element = error, type = errorType, min = 0, max = 1, nillable

 

errorType (scope = local, base = decimal)

      attribute = qualifier, type = qualifierType, use = optional

 

qaulifierType (scope = local, base = string)

      enumeration

                  “+/-“, “+”. “-“, “%”

 

valueTypeType (scope = local, base = string)

      enumeration

                  “RTMA” “NDFD”

 

time-layoutType (scope = element parameters, base = string)

      pattern

                  k-p\d+[h|d|m|y]-n\d+-\d+  (something like k-p12h-n10-1)

      must match one layout-key element content

 

valueType (scope = local, base = integer)

      attribute = type, type = valueTypeType, use = optional

      attribute = upper-range, type = upper-rangeType, use = optional

      attribute = lower-range, type = lower-rangeType, use = optional

      minInclusive = -459

 

upper-rangeType (scope = local, base = integer)

      minInclusive = -459

 

lower-rangeType (scope = local, base = integer)

      minInclusive = -459

 

precipitationType (scope = local, element only)

      attribute = type, type = typeType, use = required

      attribute = units, type = string, fixed = “inches”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = valueType, min = 1, max = unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

                  “liquid” “snow” “8-14 day anomalies” “monthly anomalies” “seasonal anomalies”

“rtma-liquid”

 

valueType (scope = local, base = nonNegativeInteger)

      attribute = upper-range, type = nonNegativeInteger, use = optional

      attribute = lower-range, type = nonNegativeInteger, use = optional

 

probability-of-precipitationType (scope = local, element only)

      attribute = type, type = typeType, default = “12 hour”

      attribute = units, type = string, fixed = “percent”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = valueType, min = 1, max = unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

                  “12 hour” “floating”

 

convective=hazardType (scope = local, element only)

      attribute = type, type = typeType

      attribute = units, type = string, fixed = “percent”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = valueType, min = 1, max = unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

                  “outlook” “tornadoes” “hail” “damaging thunderstorm winds” “extreme tornadoes” “extreme hail” “extreme thunderstorm winds” “severe thunderstorms” “extreme severe thunderstorms”

 

valueType (scope = local, base = nonNegativeInteger)

      attribute = upper-range, type = upper-rangeType, use = optional

      attribute = lower-range, type = lower-rangeType, use = optional

      maxInclusive = 100

 

upper-rangeType (scope = local, base = nonNegativeInteger)

      maxInclusive = 100

 

lower-rangeType (scope = local, base = nonNegativeInteger)

      maxInclusive = 100

 

wind-speedType (scope = local, element only)

      attribute = type, type = typeType, use = required

      attribute = units, type = unitsType, default = “knots”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  choice

                              element = value, type = valueType, min = 1, max = unbounded, nillable

                              element = valueWithUncertainty, type = valueWithUncertainty Type, min = 1, max =

                                                      unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

“sustained” “gust” “transport” “cumulative34” “cumulative50” “cumulative64” “incremental34” “incremental50” “incremental64” “rtma-sustained”

 

unitsType (scope = local, base = string)

      enumeration

                  “knots” “percent”

 

valueType (scope = local, base = nonNegativeInteger)

      attribute = type, type = valueTypeType, use = optional

      attribute = upper-range, type = nonNegativeInteger, use = optional

 

valueWithUncertaintyType (scope = local, element only)

      sequence

                  element = value, type = valueType, min = 0, max = 1, nillable

                  element = error, type = errorType, min = 0, max = 1, nillable

 

errorType (scope = local, base = decimal)

      attribute = qualifier, type = qualifierType, use = optional

 

qaulifierType (scope = local, base = string)

      enumeration

                  “+/-“, “+”. “-“, “%”

 

valueTypeType (scope = local, base = string)

      enumeration

                  “RTMA” “NDFD”

 

directionType (scope = local to parameters element, element only)

      attribute = type, type = typeType, default = “wind”

      attribute = units, type = string, fixed = “degrees true”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  choice

                              element = value, type = valueType, min = 1, max = unbounded, nillable

                              element = valueWithUncertainty, type = valueWithUncertainty Type, min = 1, max =

                                                      unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

                  “wind” “swell”

 

valueWithUncertaintyType (scope = local, element only)

      sequence

                  element = value, type = valueType, min = 0, max = 1, nillable

                  element = error, type = errorType, min = 0, max = 1, nillable

 

errorType (scope = local, base = decimal)

      attribute = qualifier, type = qualifierType, use = optional

 

qaulifierType (scope = local, base = string)

      enumeration

                  “+/-“, “+”. “-“, “%”

 

valueTypeType (scope = local, base = string)

      enumeration

                  “RTMA” “NDFD”

 

valueType (scope = local, base = nonNegativeInteger)

      attribute = type, type = valueTypeType, use = optional

      maxInclusive = 360

 

cloud-amountType (scope = local, element only)

      attribute = type, type = string, fixed = “total”

      attribute = units, type = string, fixed = “percent”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  sequence

                              element = layer, type = layerType, min = 0, max = 0

                              element = value, type = valueType, min = 1, max = unbounded, nillable

 

NOTE:  conversion-table values for sky cover can be found in Table 2.

 

valueType (scope = local, base = nonNegativeInteger)

      attribute = upper-range, type = upper-rangeType, use = optional

      attribute = lower-range, type = lower-rangeType, use = optional

      maxInclusive = 100

 

upper-rangeType (scope = local, base = nonNegativeInteger)

      maxInclusive = 100

 

lower-rangeType (scope = local, base = nonNegativeInteger)

      maxInclusive = 100

 

weatherType (scope = local, element only)

      attribute = time-layout, type = time-layoutType, use = required

      element = weather-conditions, type = weather-conditionsType, min = 1, max = unbounded, nillable

 

weather-conditionsType (scope = local, element only)

      element = value, type = valueType, min = 1, max = unbounded, nillable

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      attribute = weather-summary, type = string, use = optional

 

valueType (scope = local, elements only)

      attribute = coverage, type = coverageType, use = optional

      attribute = intensity, type = intensityType, use = optional

      attribute = additive, type = additiveType, use = optional

attribute = weather-type, type = weather-typeType, use = optional

attribute = qualifier, type = qualifierType, use = optional

      element = visibility, type = visibilityType, min = 0, max = 1, nillable

 

coverageType (scope = local, base = string)

      enumeration

                  See Table 3 for valid values

 

intensityType (scope = local, base = string)

      enumeration

                  See Table 4 for valid values

 

additiveType (scope = local, base = string)

      enumeration

                  “and” “or”

 

visibilityType (scope = local, base = string)

      attribute = visibility-units, type = visibility-unitsType, default = “statute miles”

      enumeration

                  See Table 7 for valid values

 

visibility-unitsType (scope = local, base = string)

      Enumeration

                  “statute miles” “nautical miles”

 

qualifierType (scope = local, base = string)

      pattern (comma delimited string)

                  See Table 6, for valid values

 

weather-typeType (scope = local, base = string)

      enumeration

                  See Table 5, for valid values

 

humidityType (scope = local, element only)

      attribute = type, type = typeType, default = “relative”

      attribute = units, type = string, fixed = “percent”

      attribute = time-layout, type = time-layoutType, use = required

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = valueType, min = 1, max = unbounded, nillable

 

typeType (scope = local, base = string)

      enumeration

                  “relative” “max relative” “min relative”

 

valueType (scope = local, base = nonNegativeInteger)

      attribute = upper-range, type = upper-rangeType, use = optional

      attribute = lower-range, type = lower-rangeType, use = optional

      maxInclusive = 100

 

upper-rangeType (scope = local, base = nonNegativeInteger)

      maxInclusive = 100

 

lower-rangeType (scope = local, base = nonNegativeInteger)

      maxInclusive = 100

 

conditions-iconType (scope = local, element only)

      attribute = type, type = typeType, default = “forecast-NWS”

      attribute = time-layout, type = time-layoutType, use = required

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = icon-link, type = anyURI, min = 1, max = unbounded

 

NOTE:  The priority algorithm for icon determination can be found in Table 8 - Table 11.  In these tables, the nomenclature [20,30…90,100] indicates that one of the 2 digit values appear in the icon file name.  For example, the rain icon could be ra20.jpg, ra30.jpg on up to ra100.jpg.

 

typeType (scope = local, base = string)

      enumeration

                  “forecast-NWS”

 

categorical-definitions (scope = local to parameter element, element only)

      element = categorical-table, type = categorical-tableType, min = 1, max = unbounded

 

categorical-table-elementType (scope = local, element only)

      attribute = units, type = string, use = required

      element = categorical-key, type = key, min = 1, max = 1

      element = value, type = valueType, min = 1, max = unbounded

 

valueType (scope = local, text only)

      attribute = category, type = string, use = required

 

conversion-definitions (scope = local to parameter element, element only)

      element = categorical-table, type = categorical-tableType, min = 1, max = unbounded

 

conversion-table-elementType (scope = local, element only)

      attribute = units, type = string, use = required

      sequence

                  element = conversion-key, type = key, min = 1, max = 1

                  sequence

                              element = start-value, type = anyType, min = 1, max = unbounded

element = start-value, type = anyType, min = 1, max = unbounded

element = equivalence-value, type = string, min = 1, max = unbounded

 

wordedForecastType (scope = local, element only)

      attribute = time-layout, type = time-layoutType, use = required

      attribute = dataSource, type = string, use = optional

      attribute = wordGenerator, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = text, type = string, min = 1, max = unbounded

 

water-state (scope = local, element only)

      attribute = time-layout, type = time-layoutType, use = required

      choice

                  sequence

                              element = waves, type = wavesType, min = 0, max = unbounded

                              element = swell, type = swellType, min = 0, max = unbounded

                  element = seas, type = seasType, min = 0, max = unbounded

      element = ice-coverage, type = ice-coverageType, min = 0, max = unbounded

 

waveType ( scope = local, element only)

      attribute = type, type = string, default = “wind”

      attribute = units, type = string, fixed = “feet”

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      attribute = period, type = nonNegativeInteger, use = optional

      attribute = steepness, type = nonNegativeInteger, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = nonNegativeInteger, min = 1, max = unbounded, nillable

 

swellType (scope = local, element only)

      attribute = type, type = string, default = “none”

      attribute = units, type = string, fixed = “feet”

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      attribute = period, type = nonNegativeInteger, use = optional

      attribute = steepness, type = nonNegativeInteger, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  sequence

                              element = value, type = nonNegativeInteger, min = 1, max = unbounded, nillable

                              element = direction, type = directionType, min = 0, max = unbounded, nillable

 

seasType (scope = local, element only)

      attribute = type, type = string, default = “combined”

      attribute = units, type = string, fixed = “feet”

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = nonNegativeInteger, min = 1, max = unbounded, nillable

 

ice-coverageType (scope = local, element only)

      attribute = type, type = string, default = “total”

      attribute = units, type = string, fixed = “percent”

      attribute = categorical-table, type = string, use = optional

      attribute = conversion-table, type = string, use = optional

      sequence

                  element = name, type = string, min = 0, max = 1

                  element = value, type = nonNegativeInteger, min = 1, max = unbounded, nillable

 

latLonListType (scope = local, base = string)

      pattern (space delimited string of latitude and longitude pairs)

 

Total Sky Cover Values

(<value>)

Text Equivalent

(equivalent-value)

Sky Cover <= 5 percent

clear

5 percent < Sky Cover <= 25 percent

mostly clear

25 percent < Sky Cover <= 50 percent

partly cloudy

50 percent < Sky Cover <= 87 percent

mostly cloudy

87 percent < Sky Cover <= 100percent

cloudy

Table 2:  Sky Cover to Text Conversion (Source:  NWSI 10-503).

 

Coverage Values

(weather-coverage)

slight chance

occasional

scattered

areas

chance

definitely

numerous

widespread

likely

isolated

patchy

none

Table 3:  Valid Values for Weather Coverage Attribute.

 

Intensity Values

(weather-intensity)

Intensity Values

(weather-intensity)

very light

heavy

light

none

moderate

 

Table 4:  Valid Values for Weather Intensity.

 

Weather Values

(<value>)

Weather Values

(<value>)

freezing drizzle

thunderstorms

freezing rain

drizzle

snow shower

fog

blowing snow

haze

blowing dust

blowing sand

rain shower

ice crystals

ice pellets

volcanic ash

frost

water spouts

rain

freezing fog

hail

ice fog

snow

freezing spray

smoke

none

Table 5:  Valid Weather Values.

 

Weather Attributes

(weather-qualifier)

Weather Attributes

(weather-qualifier)

frequent lightning

gusty winds

heavy rain

damaging winds

small hail

large hail

outlying areas

on bridges and overpasses

on grassy areas

or

dry

highest ranking

include unconditionally

tornado

mixture

none

Table 6:  Valid Weather Attributes.

 

Visibility Values

(<visibility>)

0

1 ˝

5

Ľ

2

6

˝

2 ˝

6+

ľ

3

none

1

4

 

Table 7:  Valid Visibility Values.

 

Weather Condition

Index of icons found at:

http://www.weather.gov/weather/images/fcicons/

IC

no icon

VA

no icon

WP

no icon

ZY

no icon

FR

no icon

T AND (sky > 60)

ntsra[20,30…90,100].jpg

T AND (sky <= 60)

nscttsra[20,30…90,100].jpg

(S OR SW) AND IP

ip[20,30…90,100].jpg

(R OR RW OR L) AND IP

nraip[20,30…90,100].jpg

(ZR OR ZL) AND (S OR SW OR IP)

mix[20,30…90,100].jpg

(R OR RW OR L) AND (S OR SW)

nrasn[20,30…90,100].jpg

S OR SW

nsn[20,30…90,100].jpg

ZR OR ZL

fzra[20,30…90,100].jpg

IP

ip[20,30…90,100].jpg

RW AND (sky > 60)

nra[20,30…90,100].jpg

RW AND (sky <= 60)

hi_nshwrs[20,30…90,100].jpg

L OR R

nra[20,30…90,100].jpg

BS

blizzard.jpg

BD OR BN

du.jpg

H

no icon

K

fu.jpg

F OR ZF OR IF

nfg.jpg

(wind > 25)

nwind.jpg

(sky > 94)

novc.jpg

(sky > 69)

nbkn.jpg

(sky > 31)

nsct.jpg

(sky > 6)

nfew.jpg

default

nskc.jpg

Table 8:  NDFDgen Night Time Icon Algorithm (priority in ascending order).

 

Weather Condition

Index of icons found at:

http://www.weather.gov/weather/images/fcicons/

IC

no icon

VA

no icon

WP

no icon

ZY

no icon

FR

no icon

T AND (sky > 60)

tsra[20,30…90,100].jpg

T AND (sky <= 60)

scttsra[20,30…90,100].jpg

(S OR SW) AND IP

ip[20,30…90,100].jpg

(R OR RW OR L) AND IP

raip[20,30…90,100].jpg

(ZR OR ZL) AND (S OR SW OR IP)

mix[20,30…90,100].jpg

(R OR RW OR L) AND (S OR SW)

rasn[20,30…90,100].jpg

(S OR SW)

sn[20,30…90,100].jpg

(ZR OR ZL)

fzra.jpg

IP

ip[20,30…90,100].jpg

RW AND (sky > 60)

shra[20,30…90,100].jpg

RW AND (sky <= 60)

hi_shwrs[20,30…90,100].jpg

L OR R

ra[20,30…90,100].jpg

BS

blizzard.jpg

BD OR BN

du.jpg

H

no icon

K

fu.jpg

F OR ZF OR IF

fg.jpg

(temp < -40)

cold.jpg

(temp > 110)

hot.jpg

(wind > 25)

wind.jpg

(sky > 94)

ovc.jpg

(sky > 69)

bkn.jpg

(sky > 31)

sct.jpg

(sky > 6)

few.jpg

default

skc.jpg

Table 9:  NDFDgen Day Time Icon Algorithm (priority in ascending order).

 

Weather Condition

Index of icons found at:

http://www.weather.gov/weather/images/fcicons/

IC

no icon

VA

no icon

WP

no icon

ZY

no icon

FR

no icon

T AND (PoP >= 10) AND (sky > 60)

ntsra[20,30…90,100].jpg

T AND (PoP >= 10) AND (sky <= 60)

nscttsra[20,30…90,100].jpg

IP AND (S OR SW) AND (PoP >= 20)

ip[20,30…90,100].jpg

IP AND (R OR RW) AND (PoP >= 20)

nraip[20,30…90,100].jpg

IP AND (ZL OR ZR) AND (PoP >= 20)

mix[20,30…90,100].jpg

(R OR RW) AND (ZL OR ZR) AND (PoP >= 20)

fzra[20,30…90,100].jpg

(ZR OR ZL) AND (S OR SW) AND (PoP >= 20)

mix[20,30…90,100].jpg

ZL AND (PoP >= 20)

fzra[20,30…90,100].jpg

ZR AND (PoP >= 20)

fzra[20,30…90,100].jpg

(R OR RW) AND (S OR SW) AND (PoP >= 20)

nrasn[20,30…90,100].jpg

S AND (PoP >= 20)

nsn[20,30…90,100].jpg

(S OR SW) AND (PoP >= 20) AND (Int = '--')

nsn[20,30…90,100].jpg

SW AND (PoP >= 20) AND (Int != '--') AND (sky <= 60)

nsn[20,30…90,100].jpg

SW AND (PoP >= 20) AND (Int != '--') AND (sky > 60)

nsn[20,30…90,100].jpg

L AND (PoP >= 20)

nra[20,30…90,100].jpg

R AND (PoP >= 20)

nra[20,30…90,100].jpg

RW AND (PoP >= 20) AND (sky <= 60)

nra[20,30…90,100].jpg

RW AND (PoP >= 20) AND (sky > 60)

hi_nshwrs[20,30…90,100].jpg

IP AND (PoP >= 20)

ip[20,30…90,100].jpg

K

fu.jpg

ZF

nfg.jpg

IF

nfg.jpg

H

no icon

BN

du.jpg

BD

du.jpg

BS

blizzard.jpg

F

nfg.jpg

(wind >= 15)

nwind.jpg

(sky <= 101)

novc.jpg

(sky <= 90)

nbkn.jpg

(sky <70)

nsct.jpg

(sky <40

nfew.jpg

(sky <= 15)

nskc.jpg

Table 10:  NDFDgenByDay Night Time Icon Algorithm (format = ’12 hourly’) (priority in ascending order).

 

Weather Condition

Index of icons found at:

http://www.weather.gov/weather/images/fcicons/

IC

no icon

VA

no icon

WP

no icon

ZY

no icon

FR

no icon

T AND (PoP >= 10) AND (sky > 60)

tsra[20,30…90,100].jpg

T AND (PoP >= 10) AND (sky <= 60)

scttsra[20,30…90,100].jpg

IP AND (S OR SW) AND (PoP >= 20)

ip[20,30…90,100].jpg

IP AND (R OR RW) AND (PoP >= 20)

raip[20,30…90,100].jpg

IP AND (ZL OR ZR) AND (PoP >= 20)

mix[20,30…90,100].jpg

(R OR RW) AND (ZL OR ZR) AND (PoP >= 20)

fzra[20,30…90,100].jpg

(ZR OR ZL) AND (S OR SW) AND (PoP >= 20)

mix[20,30…90,100].jpg

ZL AND (PoP >= 20)

fzra[20,30…90,100].jpg

ZR AND (PoP >= 20)

fzra[20,30…90,100].jpg

(R OR RW) AND (S OR SW) AND (PoP >= 20)

rasn[20,30…90,100].jpg

S AND (PoP >= 20)

sn[20,30…90,100].jpg

(S OR SW) AND (PoP >= 20) AND (Int = '--')

sn[20,30…90,100].jpg

SW AND (PoP >= 20) AND (Int != '--') AND (sky <= 60)

sn[20,30…90,100].jpg

SW AND (PoP >= 20) AND (Int != '--') AND (sky > 60)

sn[20,30…90,100].jpg

L AND (PoP >= 20)

ra[20,30…90,100].jpg

R AND (PoP >= 20)

ra[20,30…90,100].jpg

RW AND (PoP >= 20) AND (sky <= 60)

shra[20,30…90,100].jpg

RW AND (PoP >= 20) AND (sky > 60)

hi_shwrs[20,30…90,100].jpg

IP AND (PoP >= 20)

ip[20,30…90,100].jpg

K

fu.jpg

ZF

fg.jpg

IF

fg.jpg

H

no icon

BN

du.jpg

BD

du.jpg

BS

blizzard.jpg

F

fg.jpg

(wind >= 15)

wind.jpg

(MaxT < 32)

cold.jpg

(MaxT > 95)

hot.jpg

(sky <= 101)

ovc.jpg

(sky <= 90)

bkn.jpg

(sky <70)

sct.jpg

(sky <40

few.jpg

(sky <= 15)

skc.jpg

Table 11:  NDFDgenByDay Day Time Icon Algorithm (format = ’12 hourly’ or ’24 hourly) (priority in ascending order).

 

Weather Condition

Weather Summary Phrase

IC

if $coverage = "patchy" OR "areas" --> "$coverage Ice Crystals" else --> "Ice Crystals"

VA

Volcanic Ash

WP

Water Spout

ZY

Freezing Spray

FR

if $coverage = "patchy" OR "areas" --> "$coverage Frost" else --> "Frost"

T AND (PoP >= 10) AND (sky > 60)

if $coverage = "chance" OR "slight chance" --> "Chance Thunderstorms" else if $coverage = "likely" --> "Thunderstorms Likely" else --> "Thunderstorms"  OR if qualifier = "Damaging Winds" OR qualifier = "Large Hail" OR qualifier = "Tornados" --> "Severe Tstms"

T AND (PoP >= 10) AND (sky <= 60)

if $coverage = "chance" OR "slight chance" --> "Chance Thunderstorms" else if $coverage = "likely" --> "Thunderstorms Likely" else --> "Thunderstorms"  OR if qualifier = "Damaging Winds" OR qualifier = "Large Hail" OR qualifier = "Tornados" --> "Severe Tstms"

IP AND (S OR SW) AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Snow/Sleet" else if $coverage = "likely" --> "Snow/Sleet Likely" else --> "Snow/Sleet"

IP AND (R OR RW) AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Rain/Sleet" else if $coverage = "likely" --> "Rain/Sleet Likely" else --> "Rain/Sleet"

IP AND (ZL OR ZR) AND (PoP >= 20)

Wintry Mix

(R OR RW) AND (ZL OR ZR) AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Rain/Freezing Rain" else if $coverage = "likely" --> "Rain/Freezing Rain Likely" else --> "Rain/Freezing Rain"

(ZR OR ZL) AND (S OR SW) AND (PoP >= 20)

Wintry Mix

ZL AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Freezing Drizzle" else if $coverage = "likely" --> "Freezing Drizzle Likely" else --> "Freezing Drizzle"

ZR AND (PoP >= 20)

if coverage = "chance" OR "slight chance" --> "Chance Freezing Rain" else if coverage = "likely" --> "Freezing Rain Likely" else --> "Freezing Rain"

(R OR RW) AND (S OR SW) AND (PoP >= 20)

if coverage = "chance" OR "slight chance" --> "Chance Rain/Snow" else if coverage = "likely" --> "Rain/Snow Likely" else --> "Rain/Snow"

S AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Snow" else if $coverage = "likely" --> "Snow Likely" else --> "Snow"  OR if qualifier = "heavy" --> "Heavy Snow"

(S OR SW) AND (PoP >= 20) AND (Int = '--')

if $coverage = "chance" OR "slight chance" --> "Chance Flurries" else if $coverage = "likely" --> "Flurries Likely" else --> "Flurries"

SW AND (PoP >= 20) AND (Int != '--') AND (sky <= 60)

if $coverage = "chance" OR "slight chance" --> "Chance Snow Showers" else if $coverage = "likely" --> "Snow Showers Likely" else --> "Snow Showers"

SW AND (PoP >= 20) AND (Int != '--') AND (sky > 60)

if $coverage = "chance" OR "slight chance" --> "Chance Snow Showers" else if $coverage = "likely" --> "Snow Showers Likely" else --> "Snow Showers"

L AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Drizzle" else if $coverage = "likely" --> "Drizzle Likely" else --> "Drizzle"

R AND (PoP >= 20)

if $coverage = "chance" OR "slight chance" --> "Chance Rain" else if $coverage = "likely" --> "Rain Likely" else --> "Rain"  OR if qualifier = "heavy" --> "Heavy Rain"

RW AND (PoP >= 20) AND (sky <= 60)

if $coverage = "chance" OR "slight chance" --> "Chance Rain Showers" else if $coverage = "likely" --> "Rain Showers Likely" else --> "Rain Showers"

RW AND (PoP >= 20) AND (sky > 60)

if $coverage = "chance" OR "slight chance" --> "Chance Rain Showers" else if $coverage = "likely" --> "Rain Showers Likely" else --> "Rain Showers"

IP AND (PoP >= 20)

Sleet

K

if $coverage = "patchy" OR "areas" --> "$coverage Smoke" else  --> "Smoke"

ZF

if $coverage = "patchy" OR "areas" --> "$coverage Freezing Fog" else  --> "Freezing Fog"

IF

if $coverage = "patchy" OR "areas" --> "$coverage Ice Fog" else  --> "Ice Fog"

H

if $coverage = "patchy" OR "areas" --> "$coverage Haze" else  --> "Haze"

BN

Blowing Sand

BD

Blowing Dust

BS

Blowing Snow

F

if intensity = heavy --> "Dense Fog" else ( if $coverage = "patchy" OR "areas" --> "$coverage Fog" else  --> "Fog")

(wind >= 15)

if wind speed > 25 mph --> "Windy" else if (wind speed > 15 AND wind direction is between NE and NW AND the date is between 1 October and 1 April AND the maximum temperature is less than 32 --> "Blustery") else if (wind speed > 15 --> "Breezy")

(MaxT < 32)

Cold

(MaxT > 95)

Hot

(sky <= 101)

Cloudy

(sky <= 90)

Mostly Cloudy

(sky <70)

Partly Cloudy

(sky <40)

Mostly Sunny

(sky <= 15)

Sunny

Cloud Category change > 2

Increasing Clouds

Cloud Category change > 2 AND max cloud is cloudy

Becoming Cloudy

Cloud Category change < 3

Clearing

Cloud Category change < 3 AND time of change > 12 hours

Gradual Clearing

Cloud Category change < 3 AND time of change > 12 hours AND late in forecast period

Clearing Late

Cloud Category change < 3 AND time of change < 12 hours

Decreasing Clouds

Cloud Category change < 3 AND max cloud is clear

Becoming Sunny

Table 12:  NDFDgenByDay Weather Summary Phrases (format = ’12 hourly’ or ’24 hourly’) (priority in ascending order).

 

Weather Condition

Weather Summary Phrase

(sky <= 15) AND is nighttime

Clear

(sky < 40) AND is nighttime

Mostly Clear

Table 13:  NDFDgenByDay Weather Summary Phrases (format = ’12 hourly’) (priority in ascending order).


Appendix F:  References

 

  1. The National Digital Forecast Database Development web site (http://onestop.noaa3.awips.noaa.gov/ndfd/index.html)
  2. National Weather Service Instruction 10-506 (DRAFT), Digital Data Products/Services Specification (http://www.nws.noaa.gov/ost/ifps_sst/10-506.pdf)
  3. National Weather Service Instruction 10-503, Public Weather Services (http://www.nws.noaa.gov/directives/sym/pd01005003curr.pdf )
  4. National Weather Service Instruction 10-310, Marine and Coastal Weather Service Program (http://www.nws.noaa.gov/directives/010/pd01003010c.pdf )
  5. FM 92-XII GRIB General Regularly-distributed Information in Binary Form (http://www.nws.noaa.gov/tdl/iwt/grib2/frameset_grib2.htm)
  6. Description of the AVN MAV MOS Alphanumeric Message (http://www.nws.noaa.gov/mdl/synop/mavcard.htm )
  7. Definitions of AVN MOS Weather Elements   (http://www.nws.noaa.gov/mdl/synop/avnacronym.htm )