SFRAWD decodes raw surface data files and writes the output to a
GEMPAK surface file.


INPUT PARAMETERS
 
    SFFILE    *Surface data file
    SFEFIL    *Surface edit file
    DATTIM    *Date/time
    ADDSTN    *Add station flag
    CTLFLG    *Control character flag
    OUTPUT    *Output device/filename
 
 
PROGRAM DESCRIPTION
 
    SFRAWD decodes raw surface data stored in the text file,
    SFEFIL.  The decoded data is stored in a GEMPAK surface
    data file, SFFILE.  This file must already exist.  It can
    be created using SFCFIL.  The following parameters will be
    decoded:

	PMSL	ALTI	TMPF	DWPF	SKNT	DRCT	GUST
	WNUM	CHC1	CHC2	CHC3	VSBY	PT03	P03I
	HSUN	SNOW	TMPX	P24I

    If any of these parameters is not included in the file, a
    warning message will be written.  A packing file for these
    parameters can be found in GEMTABL:sf51.pack.

    The raw input file must contain either whole bulletins as
    received from the Domestic Data Service or a series of
    station reports.  If the data set contains bulletins, the
    records in the file must be 80 bytes each, and each bulletin
    must begin with a A in column 1.  If the input contains
    reports, each report must be written on a single line.
    CTLFLG is a logical variable indicating whether control
    characters are present.  If CTLFLG = YES, the input file must
    contain bulletins.  If CTLFLG = NO, the file must have reports.

    ADDSTN is a logical variable which determines whether stations
    not already in the file will be added to the file.

    DATTIM is a range of times which will be included in the file.
    The range should consist of a start time and an end time
    separated with a dash.  If only one time is included, 24 hours
    of data will be saved.  These times must be entered as full
    GEMPAK times.  Note that if the input file has reports, rather
    than bulletins, the year, month and day will all be obtained
    from the last time.  Thus the times cannot span days.  If the
    input file contains bulletins, the day will be obtained from
    the bulletin header and the year and month from the last time.

    OUTPUT specifies the output device for optional messages.
    These messages will include times and stations added to the
    file and stations that are not included in the file.  If
    OUTPUT = N, no output will be written.

    Note that this program will execute slowly.  This is to be
    expected.


EXAMPLES
 
    1.  Decode the data from a surface archive file containing
        bulletins from the Domestic Data Service.  Do not add
        any stations to the file.  Process only the times from
        05 UTC to 12 UTC.  Write the output to a file called
        mar22.dat.

        SFFILE  =  mar22.sfc
        SFEFIL  =  mar22.surf
        DATTIM  =  900322/0500-900322/1200
        CTLFLG  =  yes
        ADDSTN  =  no
        OUTPUT  =  f/mar22.dat

    2.  Decode the reports from BWI which were entered by hand
        in a text file.  Do not write any optional output.

        SFFILE  =  bwi22.sfc
        SFEFIL  =  bwi22.surf
        DATTIM  =  900322/0000-900322/2300
        CTLFLG  =  no
        ADDSTN  =  no
        OUTPUT  =  n


ERROR MESSAGES
 
    [SFRAWD  +1]    Probable end of input file.
    [SFRAWD  -1]    Fatal error initializing TAE.
    [SFRAWD  -2]    Fatal error reading TAE parameters.
    [SFRAWD  -3]    Parameter ... is not in the dataset.
    [SFRAWD  -4]    The last time in ... is invalid.
    [SFRAWD  -5]    The first time in ... is invalid.
    [SFRAWD  -6]    The input file has control characters.