;+
; NAME:
;	vu_whatis
; PURPOSE:
;	Summary of tomography file
; CATEGORY:
; CALLING SEQUENCE:
	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
; INPUTS:
; OPTIONAL INPUT PARAMETERS:
; OUTPUTS:
; OPTIONAL OUTPUT PARAMETERS:
; INCLUDE
	@compile_opt.pro					; On error, return to caller
; CALLS:
;	qBar, vu_getdata, whatis, vu_get, TimeOp, TimeGet, Carrington
; PROCEDURE:
; MODIFICATION HISTORY:
;	APR-2001, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
;-

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
