;+ ; NAME: ; vu_localskymap ; PURPOSE: ; Overplot IPS sources for given day on a 'sky sweep' ; map derived from a tomographic reconstruction. ; CATEGORY: ; Forecast project ; CALLING SEQUENCE: PRO vu_localskymap, hdr, ff, $ ihdr = ihdr , $ ut0 = ut0 , $ dut = dut , $ degrees = degrees , $ _extra = _extra , $ utnoon = UTnoon , $ RA_full = RA_full , $ F_full = F_full , $ track = track , $ solar = solar , $ band = band , $ silent = silent , $ module = module , $ ooty = ooty , $ nagoya = nagoya ; INPUTS: ; hdr array[1]; type: structure ; information about the tomographic reconstruction. ; if 'hdr' does not exist, then user is prompted for ; a data file using the 'pickfile' dialog. ; ff array[n,m,l,2]; type: float ; 3D volume data; if not present then the files ; specified in the 'hdr' argument are read. ; OPTIONAL INPUT PARAMETERS: ; ihdr=ihdr scalar; type: integer ; identifies the header to be used if hdr is an array with ; more than one element ; ; ut0=ut0 scalar or array[1]; type: time structure, float or integer ; Specifies the time on which the time series is centered. ; If not specified then the time from the 'hdr' argument is ; used. See href=Carrington= for more details. ; /degrees if set then all angles are in degrees (default: radians) ; ; /track if set sources within +/-12 hours of ut0 (/solar NOT set) or ; 24 hours preceding ut0 (/solar set) are plotted. ; if NOT set sources within +/-12 hours of noon of previous noon ; (/solar NOT set) or 24 hours preceding previous noon ; (/solar set) are plotted. ; /solar ; band=band scalar; type: any; default: none ; strip ; ; Additional keywords can be passed to href=vu_getdata= and ; href=vu_earthskymap=. The most important ones are: ; ; maxelo scalar; type: float ; controls type of map: Hammer-Aitoff, fish-eye or Mercator ; map ; /equator if set, the 'horizontal' in the sky map is parallel to the ; equatorial plane. By default the horizontal is along ; the ecliptic ; OUTPUTS: ; utnoon=utnoon ; array[1]; type: time structure ; UT for local noon at Nagoya or Ooty ; for which the sky sweep is made. ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; InitVar, vu_getdata, Carrington, GeographicInfo ; getnagoyasources, getootysources ; vu_earthskymap, TimeOp, TimeSet, TimeUnit, TimeGet, IsType ; PROCEDURE: ; The skymap is built from strips along the local meridian ; at Nagoya or Ooty, centered on the last noon preceeding ; the input time T for which IPS data are available. ; MODIFICATION HISTORY: ; MAR-2000, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ;- umin = TimeUnit(/minute) uhour = TimeUnit(/hour ) InitVar, silent , 0 InitVar, track , /key InitVar, solar , /key InitVar, nagoya , /key InitVar, ooty , /key InitVar, dut , TimeSet(/difference,12,uhour) CASE IsTime(dut) OF 0: dhour = dut 1: dhour = TimeGet(dut,uhour,/full) ENDCASE nagoya OR= 1-ooty utt = vu_getdata(hdr, ff, ut0=ut0, ihdr=ihdr, silent=silent, _extra=_extra) utt = Carrington(utt,/get_time) GeographicInfo, nagoya=nagoya, ooty=ooty, geolng=geolng, degrees=degrees nsources = -1 ncount = 0 REPEAT BEGIN IF nsources NE -1 THEN BEGIN ; No sources found yet ncount += 1 ; Skip back one day utt = TimeOp(/add,utt,TimeSet(/diff,hour=-2*dhour)) ENDIF GeographicInfo, utt, nagoya=nagoya, ooty=ooty, utnoon=utnoon, previous=1-track IF silent LE 1 THEN $ message, /info, 'UT: '+TimeGet(utt,/ymd,upto=umin)+ $ '; UT noon: '+TimeGet(utnoon,/ymd,upto=umin) IF track THEN trange = utt ELSE trange = utnoon trange = TimeOp(/add, trange, TimeSet(/diff, hour=dhour*([-1,1]-solar))) CASE 1 OF nagoya : nsources = getnagoyasources(trange, $ degrees = degrees , $ point_sources = point_sources , $ silent = silent ) ooty : nsources = getootysources (trange, $ degrees = degrees , $ point_sources = point_sources , $ silent = silent ) ENDCASE ENDREP UNTIL nsources NE 0 OR ncount GT 10 OR track CASE track OF 0: utcenter = utnoon 1: BEGIN utcenter = utt IF IsType(band, /defined) THEN t_band = band ELSE t_band = 1.0 END ENDCASE vu_earthskymap, hdr, ff , $ ihdr = ihdr , $ ut0 = utcenter , $ RA_full = RA_full , $ F_full = F_full , $ geolng = geolng , $ degrees = degrees , $ _extra = _extra , $ solar = solar , $ band = t_band , $ fill2edge = track , $ silent = silent , $ module = module , $ point_sources = point_sources RETURN & END