PRO vu_whatis, hdr, ff, histo=histo, _extra=_extra, $
        sequence    = sequence, $
        minimum     = minimum,  $
        maximum     = maximum,  $
        good        = good,     $
        what        = what,     $
        silent      = silent,   $
        ibeg        = ibeg,     $
        iend        = iend
    @compile_opt.pro                    ; On error, return to caller

InitVar, silent, 0
InitVar, sequence, /key
InitVar, minimum , /key
InitVar, maximum , /key
InitVar, good    , /key
InitVar, histo   , /key
InitVar, what    , /key

utt = vu_getdata(hdr, ff, ut0=ut0, ihdr=ihdr, count=count, silent=silent, _extra=_extra)

IF count EQ 0 THEN RETURN

utc = Carrington(utt, /get_variable)
utt = Carrington(utt, /get_time    )

type = vu_type_insitu('earth_insitu', _extra=_extra, hdr=hdr, ymin=ymin, ymax=ymax)
id = (where(type.data NE 0))[0]

sequence = (n_elements(hdr) GT 1 AND sequence) OR vu_is_sequence(hdr, silent=silent)

InitVar, ibeg, 0
InitVar, iend, count-1

ibeg = ibeg > 0
iend = iend < (count-1)

FOR i=ibeg,iend DO BEGIN

    gg = vu_fnc(id, ff, /t3d_array)

    ti = vu_get(hdr[i], /uttime       )
    t0 = vu_get(hdr[i], /forecast_time)
    dt = TimeOp(/subtract, ti, t0, TimeUnit(/days) )

    print, i,' ',vu_get(hdr[i],/file),'   ',    $
            TimeGet(ti, /ymd),' (',strcompress(Carrington(ti),/rem), ')  @  ',  $
            TimeGet(t0, /ymd),' (',strcompress(Carrington(t0),/rem), ') (',     $
            strcompress(dt,/rem),' days)'

    nlng = vu_get(hdr[i],/nlng)
    nlat = vu_get(hdr[i],/nlat)
    nrad = vu_get(hdr[i],/nrad)

    IF minimum OR maximum OR good THEN BEGIN
        amin  = fltarr(nrad)
        amax  = fltarr(nrad)
        ngood = lonarr(nrad)

        FOR j=0,nrad-1 DO BEGIN
            f = gg[*,*,j,i]
            amin [j] = min(f, max=tmp, /nan)
            amax [j] = tmp
            ngood[j] = total( long(finite(f)) )
        ENDFOR
    ENDIF

    IF what THEN whatis, gg[*,*,*,i]


    IF minimum THEN BEGIN
        print, '=== Minimum === (',nrad,' radial distances)'
        print, amin
    ENDIF

    IF maximum THEN BEGIN
        print, '=== Minimum === (',nrad,' radial distances)'
        print, amax
    ENDIF

    IF good THEN BEGIN
        print, '=== Finite values out of (',nlng,'x',nlat,'=',nlng*nlat,' bins)'
        print, ngood
    ENDIF

    IF histo THEN BEGIN
        zbin = (id EQ vu_fnc_speed)*10+(id EQ vu_fnc_density)*1
        qbar, gg[*,*,*,i], /histo, zbin=zbin
    ENDIF

ENDFOR

RETURN  &  END