MEMORANDUM FOR: Distribution

FROM: John J. Kelly, Jr.

SUBJECT: Policy on Use of Encoding/Decoding Software

Last March, I formed an Integrated Work Team (IWT) for Data Encoder/Decoder Development and Maintenance. The purpose was to devise a way for development and maintenance of encoder/decoder software to be shared among NWS components to minimize overall development and maintenance resources.

The IWT recommended a number of existing decoders and encoders become the NWS "official" set. The Team also obtained agreement from NCEP and the Offices of Hydrology, Systems Operations, and Systems Development to maintain portions of this software. The attached document "Responsibilities for Hydrometeorological Data Encoder/Decoder Software" details organizational responsibilities necessary to implement the Team's recommendations.

This policy has two aspects:

  (1) Assignment of software maintenance responsibility.

  (2) Requirement to use the official encoders and decoders.

As noted, this policy is aimed at reducing our overall effort in developing and maintaining encoders and decoders. All existing software need not be immediately modified to incorporate the official encoders and decoders; rather, official encoders and decoders should be used as you develop new or extensively revise existing software. In this way, we will migrate gradually to a standard set.

The IWT will now serve to coordinate software changes, maintain the web page through which the software is made available, and assist in the implementation of this policy. Members' names and addresses can be found on the following Internet site:

www.nws.noaa.gov/tdl/iwt

If you believe it is not practical to use the official decoders or encoders, contact the IWT. The Team will determine whether a waiver is appropriate.

Kindly direct questions about this policy to Bob Glahn, 301-713-1768.

Attachment

DISTRIBUTION:
Wx1 - J. Jones
W/CFO - T. David
W/SP - E. Johnson
W/OM - G. Mandt
W/OH - G. Smith
W/OSO - W. Telesetsky
W/OSD - H. Glahn
W/APO - P. Nipko
W/NCEP - L. Uccellini
W/ER - J. Forsing
W/CR - J. May
W/SR - W. Proenza
W/WR - V. Nadolski
W/AR - R. Przywarty
W/PR - R. Hagemeyer
W/TC - J. Vogel
W/DB - D. Yeager
NWSEO - R. Sierra.

RESPONSIBILITIES FOR HYDROMETEOROLOGICAL DATA ENCODER/DECODER SOFTWARE

1. Introduction


	      In an effort to reduce cost, the National Weather Service (NWS) has adopted an
	      official set of hydrometeorological data encoders and decoders.

2. Definition of Encoder and Decoder


             The definition of an encoder is the Application Programming Interface (API) and
             implementing software to accept data through the API and to put them into the code
	     form.  The definition of a decoder is the API and implementing software to take data
	     from the code form and furnish it to the user through the API.  All other data
	     manipulation is the responsibility of the user.

3. IWT Responsibilities

The IWT responsibilities are to:


	    a. Coordinate cross-organizational activities concerning encoders and decoders as 
	    appropriate, including securing agreement to changes in responsibilities.

b. Maintain a Master Web Page linked to encoder and decoder source code and documentation.

c. Make known to organizations within and outside the NWS, including Unidata and the WMO, the existence and availability of NWS software.

d. Consult with potential users and maintenance organizations and determine whether a waiver to using a standard decoder or encoder is appropriate.

The IWT has secured agreement to the assignments indicated in Table 1; responsibilities can be changed from time to time as agreed to by the IWT and the affected organizations.

4. Organizational Responsibilities

The responsibilities of the organizations indicated in Table 1 for a particular encoder or decoder are to:

a. Engage all appropriate elements of the NWS to ensure that requirements have been discovered and coordinated.

b. Design, develop, maintain, and document software for the assigned encoder or decoder.

c. Develop in a language and for a platform that is one of the NWS-approved languages and platforms.

d. Provide an API that enables its use in a broad variety of circumstances.

e. Maintain a web page that is consistent with, and can be linked to, the Master Web Page maintained by the IWT and to provide points of contact for the software and documentation.

5. Requirements of the Software

The software shall be capable of:

a. Decoding all elements of a particular code form required for NWS needs.

b. Parsing the code into an interface form defined by the API (decoder).

c. Encoding information presented through the API into a valid form of the code (encoder).

d. Handling errors in a graceful fashion and passing back responsibility for exception handling through the API.

Software documentation shall include a description of:

a. The API and how it can be used.

b. Exception handling.

c. How the software does or does not handle all possible instances of the code standard.

d. Known bugs.

e. Integration tips.

6. Code Forms Supported

Table 1 and the Master Web Page indicate the code forms supported.

7. Method of Disseminating Software Information

The Master Web Page 'www.nws.noaa.gov/tdl/iwt' maintained by the IWT provides introductory information, identifies encoders and decoders to which the policy applies, identifies relevant code form standards, and links to individual web pages where encoder/decoder software and documentation reside. Names and phone numbers are provided for questions and feedback.

8. Funding

Each organization responsible for a decoder or encoder shall carry out its responsibilities within its budget..

Table 1. Organizational responsibilities for encoders and decoders.
A "*" under "D" indicates an organization responsible for a decoder for the listed code form; similarly, a "*" under "E" indicates an organization responsible for an encoder.

______________________________________________________________ 
                                        Organization

Code Form                       NCEP     TDL      OH      OSO
 
                                D  E     D  E     D  E    D  E
_________________________________________________________________

METAR                           *
Drifting buoys                  *
Ships                           *
C-MAN                           *
U.S. Coast Guard (?)            *
Synoptic                        *
Aircraft (PIREP, etc.)          *
Bathemetric                     *
VAD winds                       *
RAOB (TEMP/PILOT)               *
PAOB (from Australia)           *
Supplemental Climate            *
GRIB                            *  *
BUFR                            *  *
REDBOOK                         *  *
Run-length radar                         *  *
TAF                                      *  *
GRIB2                                    *  *
SHEF                                              *  *
DCP                                               *
DCP (CPACC)                                               *
_________________________________________________________________