PARAMSHARE ; ParamShare; PARAMSHARE
{
    OPERATOR_LIST_1
    {
        '='  ; VALUE
        '!=' ; NOT_VALUE
        '<=' ; LESS_EQUAL_THAN
        '<'  ; LESS_THAN
        '>'  ; GREATER_THAN
        '>=' ; GREATER_EQUAL_THAN
        IN_RANGE ; RANGE
        NOT_IN_RANGE ; NOT_RANGE
     }

     OPERATOR_LIST_2
     {
        '='  ; VALUE
        '!=' ; NOT_VALUE
        '<=' ; LESS_EQUAL_THAN
        '<'  ; LESS_THAN
        '>'  ; GREATER_THAN
        '>=' ; GREATER_EQUAL_THAN
        RANK ; RANK
        IN_RANGE ; RANGE
        NOT_IN_RANGE ; NOT_RANGE
    }
}



BUFRFILTER; Metview; Specific Application
{

    DATA [
            interface		= icon,
            class			= BUFR,
            exclusive		= true,

            help            = help_data,
            help_directory  = '/Metview/Defaults',
            help_name       = Data for Observation filtering,
            help_class      = RETRIEVE,
            help_definition = ( RETRIEVE, TYPE = OB, DATE = '-2' )
        ]

    {
        @
    }

    OUTPUT
    {
        Bufr file                    ; BUFR
        Geographical points          ; GEOPOINTS
        Geographical polar vectors   ; POLAR_VECTOR
        Geographical X Y vectors     ; XY_VECTOR
        Geopoints - Multi column     ; NCOLS
        CSV - Comma separated values ; CSV
    } = BUFR

    COLUMNS {
        @
        /
    } = ANY

    PARAMETER_COUNT
    {
        *
    } = 0

    PARAMETER_1
    {
        @
    } = ''

    PARAMETER_RANK_1
    {
        ANY ; ANY
        *
    } = ANY

    PARAMETER_OPERATOR_1
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    PARAMETER_VALUE_1
    {
        @
    } = ''

    PARAMETER_2
    {
        @
    } = ''

    PARAMETER_RANK_2
    {
        ANY ; ANY
        *
    } = ANY

    PARAMETER_OPERATOR_2
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    PARAMETER_VALUE_2
    {
        @
    } = ''

    PARAMETER_3
    {
        @
    } = ''

    PARAMETER_RANK_3
    {
        ANY ; ANY
        *
    } = ANY

    PARAMETER_OPERATOR_3
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    PARAMETER_VALUE_3
    {
        @
    } = ''

    PARAMETER_4
    {
        @
    } = ''

    PARAMETER_RANK_4
    {
        ANY ; ANY
        *
    } = ANY

    PARAMETER_OPERATOR_4
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    PARAMETER_VALUE_4
    {
        @
    } = ''

    PARAMETER_5
    {
        @
    } = ''

    PARAMETER_RANK_5
    {
        ANY ; ANY
        *
    } = ANY

    PARAMETER_OPERATOR_5
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    PARAMETER_VALUE_5
    {
        @
    } = ''

    COORDINATE_COUNT
    {
        *
    } = 0

    COORDINATE_1
    {
        @
    } = ''

    COORDINATE_RANK_1
    {
        ANY ; ANY
        *
        /
    } = ANY

    COORDINATE_OPERATOR_1
    {
        &PARAMSHARE&OPERATOR_LIST_2
    } = '='

    COORDINATE_VALUE_1
    {
        @
    } = ''

    COORDINATE_2
    {
        @
    } = ''

    COORDINATE_RANK_2
    {
        ANY ; ANY
        *
        /
    } = ANY

    COORDINATE_OPERATOR_2
    {
        &PARAMSHARE&OPERATOR_LIST_2
    } = '='

    COORDINATE_VALUE_2
    {
        @
    } = ''

    COORDINATE_3
    {
        @
    } = ''

    COORDINATE_RANK_3
    {
        ANY ; ANY
        *
        /
    } = ANY

    COORDINATE_OPERATOR_3
    {
        &PARAMSHARE&OPERATOR_LIST_2
    } = '='

    COORDINATE_VALUE_3
    {
        @
    } = ''

    MISSING_DATA
    {
        IGNORE
        INCLUDE
    } = IGNORE

    MISSING_DATA_VALUE
    {
        *
    } = 0

    MISSING_ELEMENT
    {
        IGNORE
        INCLUDE
    } = IGNORE

    EXTRACT_MODE
    {
        FIRST
        ALL
    } = FIRST

    EXTRACT_COORDINATE
    {
        ON
        OFF
    } = ON

    EXTRACT_DATE
    {
        ON
        OFF
    } = ON

    MESSAGE_INDEX
    {
        ANY ; ANY
        *
        /
    } = ANY

    EDITION
    {
        ANY ; ANY
        *
        /
    } = ANY

    CENTRE
    {
        ANY ; ANY
        @
        /
    } = ANY

    SUBCENTRE
    {
        ANY ; ANY
        *
        /
    } = ANY

    MASTERTABLE
    {
        ANY ; ANY
        *
        /
    } = ANY

    LOCALTABLE
    {
        ANY ; ANY
        *
        /
    } = ANY

    DATA_TYPE
    {
        ANY ; ANY
        *
        /
    } = ANY

    DATA_SUBTYPE
    {
        ANY ; ANY
        *
        /
    } = ANY

    RDB_TYPE
    {
        ANY ; ANY
        *
        /
    } = ANY

    DATEMODE
    {
        WINDOW ; WINDOW
        PERIOD ; PERIOD
    } = WINDOW

    DATE
    {
        ANY ; ANY
        @
        /
    } = ANY

    TIME
    {
        ANY ; ANY
        @
        /
    } = ANY

    WINDOW_IN_MINUTES
    {
        *
    } = 60

    DATE_1
    {
        ANY ; ANY
        @
        /
    } = ANY

    TIME_1
    {
        ANY ; ANY
        @
        /
    } = ANY

    DATE_2
    {
        ANY ; ANY
        @
        /
    } = ANY

    TIME_2
    {
        ANY ; ANY
        @
        /
    } = ANY

    AREA
    {
        *
        /
    } = -180/90/180/-90

    IDENT_KEY
    {
        ANY; ANY
        @
    } = ANY

    IDENT_VALUE
    {
        ANY; ANY
        @
    } = ANY

    CUSTOM_COUNT
    {
        *
    } = 0

    CUSTOM_KEY_1
    {
        @
    } = ''

    CUSTOM_RANK_1
    {
        ANY ; ANY
        *
    } = ANY

    CUSTOM_OPERATOR_1
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    CUSTOM_VALUE_1
    {
        @
    } = ''

    CUSTOM_KEY_2
    {
        @
    } = ''

    CUSTOM_RANK_2
    {
        ANY ; ANY
        *
    } = ANY

    CUSTOM_OPERATOR_2
    {
        &PARAMSHARE&OPERATOR_LIST_1
    } = '='

    CUSTOM_VALUE_2
    {
        @
    } = ''

    USE_PREFILTER [ visible = false]
    {
        *
    } = 0
}
