FUNCTION plot_maps,a,station=station,vlat=vlat,iproj=iproj,lim=lim,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=lnlabel,nocont=nocont,$
SSCWEB=SSCWEB,doymark=doymark,hrmark=hrmark,hrtick=hrtick,$
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
status=0
if(n_elements(station) eq 0) then station=create_struct('NUM',0)
if(station.num ne 0) then begin
stations=station.station
lats=station.lat
lons=station.lon
endif
if(n_elements(thetitle) eq 0) then thetitle=a.(0).title
if(n_elements(lnlabel) eq 0) then lnlabel=""
if(n_elements(xoffset) eq 0) then xoffset=0.05
if(n_elements(yoffset) eq 0) then yoffset=0.15
if(n_elements(vlat) eq 0) then vlat = [0.0,0.0,0.0]
if(n_elements(iproj) eq 0) then iproj=8
if(n_elements(ymargin) eq 0) then ymargin=[15.0,2.0]
if(n_elements(ptype) eq 0) then ptype=0
if(n_elements(pmode) eq 0) then pmode=0
if(n_elements(num_int) eq 0) then num_int=4
if(n_elements(symsiz) eq 0) then symsiz = 1.6 else symsiz=symsiz
if(n_elements(symcol) eq 0) then symcol = 83
if(n_elements(latdel) eq 0) then latdel = 30.0
if(n_elements(londel) eq 0) then londel = 30.0
if(n_elements(SSCWEB) eq 0) then SSCWEB = 0L
symsiz2=symsiz*2.0
if(SSCWEB) then begin
if(n_elements(lim) ne 0) then begin
limit = [lim[0], lim[1], lim[2], lim[3]]
londel = fix((lim[3]-lim[1])/6)
latdel = fix((lim[2]-lim[0])/6)
endif
endif else begin
limit = [-90., -180., 90., 180.]
endelse
if(iproj eq 1) then proj_nm="Stereographic"
if(iproj eq 2) then proj_nm="Orthographic"
if(iproj eq 6) then proj_nm="Azimuthal"
if(iproj eq 10) then proj_nm="Molleweide"
if(iproj eq 9) then proj_nm="Mercator"
if(iproj eq 8) then proj_nm="Cylindrical"
if((iproj eq 1) or (iproj eq 2) or (iproj eq 6)) then xmargin=[33.0,33.0]
a=orb_handle(a)
atags=tag_names(a)
b = tagindex('GEO_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.geo_lat.fillval
epoch=a.epoch.dat
lat=a.geo_lat.dat
lon=a.geo_lon.dat
lnlabel=strtrim(a.geo_lat.source_name,2)
count=n_elements(lon)
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" Radial Trace in Geographic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label,nocont=nocont,$
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
b = tagindex('NorthBtrace_GEO_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.NorthBtrace_GEO_LAT.fillval
epoch=a.epoch.dat
lat=a.NorthBtrace_GEO_LAT.dat
lon=a.NorthBtrace_GEO_LON.dat
lnlabel=strtrim(a.NorthBtrace_GEO_LAT.source_name,2)
count=(n_elements(lon))
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" North B Trace in Geographic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label,nocont=nocont,$
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
b = tagindex('SouthBtrace_GEO_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.SouthBtrace_GEO_LAT.fillval
epoch=a.epoch.dat
lat=a.SouthBtrace_GEO_LAT.dat
lon=a.SouthBtrace_GEO_LON.dat
lnlabel=strtrim(a.SouthBtrace_GEO_LAT.source_name,2)
count=n_elements(lon)
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" South B Trace in Geographic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label,nocont=nocont,$
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
b = tagindex('GM_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.GM_LAT.fillval
epoch=a.epoch.dat
lat=a.GM_LAT.dat
lon=a.GM_LON.dat
lnlabel=strtrim(a.GM_LAT.source_name,2)
count=n_elements(lon)
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" Radial Trace in Geomagnetic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label, /nocont, $
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
b = tagindex('NorthBtrace_GM_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.NorthBtrace_GM_LAT.fillval
epoch=a.epoch.dat
lat=a.NorthBtrace_GM_LAT.dat
lon=a.NorthBtrace_GM_LON.dat
lnlabel=strtrim(a.NorthBtrace_GM_LAT.source_name,2)
count=n_elements(lon)
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" North B Trace in Geomagnetic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label, /nocont, $
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
b = tagindex('SouthBtrace_GM_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.SouthBtrace_GM_LAT.fillval
epoch=a.epoch.dat
lat=a.SouthBtrace_GM_LAT.dat
lon=a.SouthBtrace_GM_LON.dat
lnlabel=strtrim(a.SouthBtrace_GM_LAT.source_name,2)
count=n_elements(lon)
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" South B Trace in Geomagnetic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label, /nocont, $
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
b = tagindex('SM_LAT',atags)
if (b[0] ne -1) then begin
vfil=a.sm_lat.fillval
epoch=a.epoch.dat
lat=a.sm_lat.dat
lon=a.sm_lon.dat
lnlabel=strtrim(a.sm_lat.source_name,2)
count=n_elements(lon)
alt=fltarr(count)
cstation=strarr(count)
label=lnlabel+" Radial Trace in Solar Magnetic Coordinates"
if count le 0 then message, 'No data selected'
xyzmap,epoch,lat,lon,alt,cstation,vlat=vlat,iproj=iproj,limit=limit,$
latdel=latdel,londel=londel,Ttitle=thetitle,$
pmode=pmode,rng_val=rng_val,num_int=num_int,$
ptype=ptype,lthik=lthik,symsiz=symsiz2,symcol=symcol,$
charsize=charsize,xmargin=xmargin,ymargin=ymargin,$
xoffset=xoffset,yoffset=yoffset,lnlabel=label, /nocont, $
doymark=doymark,hrmark=hrmark,hrtick=hrtick, $
mntick=mntick,mnmark=mnmark,lnthick=lnthick,$
autolabel=autolabel,datelabel=datelabel,_extra=extras
endif
xyouts, 0.8,0.975,proj_nm,/norm,color=1,charsize=charsize
if(station.num ne 0) then begin
statcnt=station.num-1
if(n_elements(limit) ne 0) then begin
wco=where((lats ge limit[0]) and (lats le limit[2]) and (lons ge limit[1]) and (lons le limit[3]),wcn)
if(wcn gt 0) then begin
stations=stations[wco]
lats=lats[wco]
lons=lons[wco]
statcnt=wcn-1
endif else statcnt=-1
endif
if(n_elements(lats) ne 0) and (statcnt ne -1) then begin
oplot,[lons],[lats],psym=6,symsize=symsiz,color=1
xyouts,lons,lats,stations,charsize=charsize,color=1
endif
endif
if(!D.name eq 'Z') then begin
top = 255
bottom = 0
tvlct, r_curr, g_curr, b_curr, /get
r_curr[0] = bottom & g_curr[0] = bottom & b_curr[0] = bottom
r_curr[!d.table_size-1] = top & g_curr[!d.table_size-1] = top
b_curr[!d.table_size-1] = top
r_curr[!p.color] = top & g_curr[!p.color] = top
b_curr[!p.color] = top
tvlct, r_curr, g_curr, b_curr
endif
return, status
end