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