OABSFC performs a Barnes objective analysis on surface data.

INPUT PARAMETERS
 
    SFFILE    *Surface data file
    GDFILE    *Grid file
    SFPARM    *Surface parameter list
    DATTIM    *Date/time
    DTAAREA   *Data area for OA
    GUESS     *Guess file^time
    GAMMA     *Convergence parameter
    SEARCH    *Search radius/EXtrapolation
    NPASS     *Number of passes
 
 

PROGRAM DESCRIPTION
 
    OABSFC performs a Barnes objective analysis on surface
    data.  Multiple parameters may be analyzed at the same
    time.  If more than one time is entered, the analyses
    will be performed sequentially.

    The input surface file is specified in SFFILE.  Two files
    may be entered by separating the names with a plus, +.

    The projection and area for the grid are read from the
    navigation block in the output grid file.  The extend grid
    area, the station spacing and the data subset area are read
    from the analysis block.  The extend area is used to define
    a larger grid for the first pass, allowing data to be
    interpolated back to stations outside the final grid area.
    The average station spacing is used to compute the weighting
    functions.  The data subset area specifies which data
    will be used in the analysis.  If DTAAREA is blank or set
    to DATA, the data area defined in the analysis block will
    be used.  This is the recommended procedure.  However,
    DTAAREA may be specified in the same way as the AREA
    parameter used in other programs.  This is especially useful
    to eliminate stations which are known to have bad data.

    A first-guess field can be used in the analysis.  The name
    of the grid file containing the guess field must be entered
    in GUESS.  In addition, the time to be used to extract the
    guess field from the file must be entered as the second
    value in GUESS following a ^.  If a guess field is entered,
    the navigation information in the guess grid file must be
    identical to that in the output grid file.  When a guess
    field is used, it is inserted into the grid as the zeroth
    pass.

    Each pass of the analysis interpolates data from stations to
    grid points using the weighting function:

		WTFUNC = EXP [ -DIST ** 2 / WEIGHT ]

    where:

	DIST ** 2 = [ ( lat (grid) - lat (stn) ) ** 2 +
		( lon (grid) - lon (stn) ) ** 2 * coslsq (grid) ]
	COSLSQ = COS ( lat (grid) ) ** 2
	WEIGHT = 5.051457 * ( DELTAN * 2 / PI ) ** 2
	DELTAN = Station spacing read from grid file analysis block

    Near the poles, an approximate calculation of the distance along
    a great circle arc is used.

    GAMMA, the convergence parameter, multiplies the weights for
    passes after the first pass.  GAMMA must be within the range
    0 - 1.  Any value outside this range will default to a value
    of .3.  If GAMMA is 0, the number of passes will be set to 1.
    The recommended value for GAMMA is .3.

    SEARCH is used to control the search radius, which is the
    maximum distance that a station may be from a grid point to be
    used in the analysis for that point.  The search radius will be
    set so that stations whose weighting factor would be less than
    EXP (-SEARCH) will not be used.  SEARCH must be in the range
    1 - 50.  If it is not, a default value of 20 will be used.  If
    a very small value is used, many grid points will not have 3
    stations within the search area and will be set to the missing
    data value.  Entering /EX after the SEARCH value allows
    data extrapolation to assign values to grid points on the
    periphery of the data region.  This will reduce the number of
    grid points with missing values in data void regions.

    NPASS controls the number of passes.  Valid values are in the
    range 1 - 5.  Note that two passes are STRONGLY RECOMMENDED.


EXAMPLES
 
    1.  Analyze temperature, dewpoint and the wind components
        from the latest time in the surface file, SURFDAT.  Add
        the computed grids to the file, TEST.GRD.

        SFFILE  =  surfdat
        GDFILE  =  test.grd
        SFPARM  =  tmpf;dwpf;uwnd;vwnd
        DATTIM  =  last
        DTAAREA =  data
        GUESS   =
        GAMMA   =  .3
        SEARCH  =  10
        NPASS   =  2

    2.  Repeat the dewpoint analysis setting the convergence
        parameter to .25 and eliminating the data at stations DCA
        and BUF.

        SFPARM  =  dwpf
        DTAAREA =  data/-@dca;buf
        GAMMA   =  .25

    3.  Repeat the wind analysis using the 24-hour forecast from
        the model data stored in model.ngm.

        SFPARM  =  uwnd;vwnd
        DTAAREA =  data
        GUESS   =  model.ngm*f24


ERROR MESSAGES
 
    [OABSFC  +9]    No data from ... will be used.
    [OABSFC  +8]    Parameter ... is a character parameter.
    [OABSFC  +7]    Parameter ... cannot be computed.
    [OABSFC  +6]    WARNING:  Area is not DATA area in file.
    [OABSFC  +5]    WARNING:  The recommended number of passes is 2.
    [OABSFC  +4]    ... is invalid for NPASS.  It is set to 2.
    [OABSFC  +3]    ... is invalid for search.  It is set to 20.
    [OABSFC  +2]    WARNING:  GAMMA is 0.  There will be only 1 pass.
    [OABSFC  +1]    ... is invalid for GAMMA.  It is set to .3.
    [OABSFC  -1]    Fatal error initializing TAE.
    [OABSFC  -2]    Fatal error reading TAE parameters.
    [OABSFC  -3]    Fatal error initializing GEMPLT.
    [OABSFC  -4]    Grid size is too large.
    [OABSFC  -5]    Not enough buffer space; reduce number of grids.
    [OABSFC  -6]    There are too many stations in data subset area.
    [OABSFC  -7]    There are too few stations in data subset area.
    [OABSFC  -8]    There are no times in the surface file.
    [OABSFC  -9]    No valid parameters have been entered.
    [OABSFC -10]    Surface file ... cannot be opened.
    [OABSFC -11]    Time cannot be found in ....