edge=383 wedge=460 pixres=0.043 ; Create the window. WINDOW,/FREE,XSIZE=wedge,YSIZE=2*wedge ; Establish the coordinate system. PLOT,INDGEN(wedge),INDGEN(2*wedge),/DEVICE,/NODATA $ ,POSITION=[0,0,wedge-1,2*wedge-1],XMARGIN=[0,0],YMARGIN=[0,0] $ ,XRANGE=[0,wedge],YRANGE=[0,2*wedge],XSTYLE=5,YSTYLE=5 ; Draw a circle at 85 deg PACE geomagnetic latitude. arcs,5./pixres,0,360,wedge/2,wedge/2,/device ; Draw meridians every 3 hrs of MLT. FOR i=-5,1 DO radii,0,edge/2,i*45,wedge/2,wedge/2,/device ; Draw an extra-long meridian toward noon. radii,0,21./pixres,90,wedge/2,wedge/2,/device ; Show 80 and 75 deg PGMLat on noon meridian. delta=4. FOR i=2,4 DO arcs,5.*i/pixres,90.-delta/i,90+delta/i,wedge/2,wedge/2,/device ; Label MLT meridians. mlt_label_offset=[4.,6.,7.,6.,6.,3.,3.,3.] chsz=2 rr=8./pixres FOR i=0,7 DO BEGIN ang=-90.+i*45. dr=0.4*(-SIN(ang*!DTOR)-1.)/pixres xoff=(rr+dr)*COS((ang-mlt_label_offset(i))*!DTOR) yoff=(rr+dr)*SIN((ang-mlt_label_offset(i))*!DTOR) XYOUTS,wedge/2+xoff,wedge/2+yoff,STRTRIM(i*3,2) $ ,ALIGNMENT=0.5,/DEVICE,CHARSIZE=chsz IF i EQ 0 $ THEN XYOUTS,wedge/2-xoff,wedge/2+yoff,'MLT' $ ,ALIGNMENT=0.1,CHARSIZE=chsz ENDFOR ; Label PGMLat parallels. FOR i=1,4 DO BEGIN yoff=(5.*i+0.2)/pixres xoff=-1.5/pixres XYOUTS,wedge/2+xoff,wedge/2+yoff,STRTRIM(90-i*5,2) $ ,ALIGNMENT=0,/DEVICE,CHARSIZE=chsz IF i EQ 1 THEN XYOUTS,wedge/2+0.3/pixres,wedge/2+yoff,'PGMLat' $ ,ALIGNMENT=0,/DEVICE,CHARSIZE=chsz ENDFOR ; Write the height, date, and emission on the plot somewhere. date=STRMID(systime(),0,10) XYOUTS,0,0,date,ALIGNMENT=0,/DEVICE,CHARSIZE=chsz place='Eureka 88.7N' XYOUTS,0,chsz*(1.1*!D.Y_CH_SIZE),place $ ,ALIGNMENT=0,/DEVICE,CHARSIZE=chsz fullscale=300 XYOUTS,wedge-1,0,STRING(fullscale,FORMAT='("<",I3," R")') $ ,ALIGNMENT=1,/DEVICE,CHARSIZE=chsz height=300 XYOUTS,wedge-1,chsz*(1.1*!D.Y_CH_SIZE) $ ,STRING(height,FORMAT='(I3," km")') $ ,ALIGNMENT=1,/DEVICE,CHARSIZE=chsz ; Read back the display as an image and crop it. k=GET_KBRD(1) ann=TVRD() wann=WHERE(ann) rmin=MIN(wann/wedge,MAX=rmax) cmin=MIN(wann MOD wedge,MAX=cmax) ann=(TEMPORARY(ann))(cmin:cmax,rmin:rmax) HELP,ann WDELETE,!D.WINDOW END