function vertical_check,crit,d,y1,y2
;+ 
; Name          :   vertical_check()
;
; Purpose:      :   determine good (non -1) endpoint locations in a data
;                       vector of 512 elements (-1 indicates missing data)
;
; Inputs        :   crit = Max number of -1 data points acceptable for 
;                            return value to be 1
;                   d = data vector
;
; Outputs       :   y1 = first non -1 data value location in d
;               :   y2 = last non -1 data value location in d
;
; Return value  : 
;                   1 = Usable y1 and y2 values are returned.
;                   2 = The number of -1 data values exceeded crit.
;                   3 = The data vector had no -1 data values.
;
; Contact       : sgreer@sec.noaa.gov
;-

    y1 = 512
    y2 = 0
    good = where(d ne -1,cnt)
    case 1 of
        cnt lt 512-crit: return,2
        cnt eq 512: return,3
        else: begin
            y1 = good(0)
            y2 = good(n_elements(good)-1)
            return,1
        end
    endcase
end
