pro carr_label,startct=startct,finalct=finalct,second=second,yoff=yoff ; procedure to label a carrington rotation axis with dates ; TIME STUFF mon=['BAD','JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'] t_i = intarr(7) jdt = dblarr(4) tform='(i4.4,":",i2.2,":",i2.2,"_",i2.2,"h",i2.2,"m",i2.2,".",i3.3,"s")' ctform='("CT",i4.4,":",f6.2)' ; Start of map startCR = startct/360.0 Crot = ceil (startCR) Clon = Crot*360 - startct t_i=carr2ex(startCR+1.0) ; carr2ex doesn't use CT, exactly, must add 1.0. st0string=string(format='(i2,"-",a3,"-",i4)', t_i(4),mon(t_i(5)),t_i(6)) d0=anytim2jd(st0string) ; Julian day of map start jdt(0) = double(d0.int) + t_i(0)/24.0 + t_i(1)/1440.0 + (t_i(2)+(t_i(3)/1000.0))/84600.0 map1str=string(format=tform,t_i(6),t_i(5),t_i(4),t_i(0),t_i(1),t_i(2),t_i(3)) print,"Start: ",startCR," ",map1str sttime=carr2ex(startCR+1.05) ; for labeling dates t_i=sttime ststring=string(format='(i2,"-",a3,"-",i4)', t_i(4),mon(t_i(5)),t_i(6)) d1=anytim2jd(ststring) jdt(1) = double(d1.int) + t_i(0)/24.0 + t_i(1)/1440.0 + (t_i(2)+(t_i(3)/1000.0))/84600.0 startstr=string(format=tform,t_i(6),t_i(5),t_i(4),t_i(0),t_i(1),t_i(2),t_i(3)) print,format=ctform,Crot,Clon print,"Start Day: ",ststring," ",startct ; End of map finalCR = finalct/360.0 Crot2 = ceil (finalCR) Clon2 = Crot2*360 - finalct t_i=carr2ex(finalCR+1.0) st3string=string(format='(i2,"-",a3,"-",i4)', t_i(4),mon(t_i(5)),t_i(6)) d3=anytim2jd(st3string) ; Julian day of map end jdt(3) = double(d3.int) + t_i(0)/24.0 + t_i(1)/1440.0 + (t_i(2)+(t_i(3)/1000.0))/84600.0 map2str=string(format=tform,t_i(6),t_i(5),t_i(4),t_i(0),t_i(1),t_i(2),t_i(3)) print,"End: ",finalCR," ",map2str print,format=ctform,Crot2,Clon2 endtime=carr2ex(finalCR+0.95) ; For labeling dates t_i=endtime st2string=string(format='(i2,"-",a3,"-",i4)', t_i(4),mon(t_i(5)),t_i(6)) d2=anytim2jd(st2string) jdt(2) = double(d2.int) + t_i(0)/24.0 + t_i(1)/1440.0 + (t_i(2)+(t_i(3)/1000.0))/84600.0 print,"End Day: ",st2string," ",finalct firstd = ceil(jdt(0))+1 zpoint =floor(jdt(0)) lastd = floor(jdt(3))-1 df = jdt(0) - zpoint dl = jdt(3) - zpoint xf = float(df) xl = float(dl) ntick= lastd - firstd narrval=fltarr(ntick+1) naxlabl=strarr(ntick+1) for i = 0,ntick do begin narrval(i) = i + 1.5 ; Labels at Noon mjd2date,firstd-2400000.5+i,jyear,jmonth,jday if i EQ 0 then fm=jmonth if i EQ ntick then lm=jmonth naxlabl(i) = string(format='(i2.2)',jday) endfor ;lcolor=255-!p.background lcolor=0 ;yoff=1535.22 ;yoff=1145.22 akind=0 chsize=0.75 chthick=3.0 ttitle='Central Meridian Passage Date' if keyword_set(second) then begin lcolor=0 akind=1 chsize=0.7 ttitle='' endif ; Date labels centered at 12 UT's axis,xaxis=akind,xrange=[xl,xf],xstyle=1,ticklen=-0.01,$ xticks=ntick,xtickv=narrval,xtickname=naxlabl,$ 0,yoff,color=lcolor,charsize=chsize,charthick=chthick ; Longer 0 UT ticks - supressing labels. narrval2=fltarr(ntick+3) naxlabl2=strarr(ntick+3) for i=0,ntick+2 do narrval2(i)=i+1 for i=0,ntick+2 do naxlabl2(i)=' ' naxlabl2(ntick+2) = mon(lm)+string(format='(" ", i4.4)',jyear) axis,xaxis=akind,xrange=[xl,xf],xstyle=1,ticklen=-0.02,$ xticks=ntick+2,xtickv=narrval2,xtickname=naxlabl2, $ xtitle='',0,yoff,color=lcolor,charsize=chsize,charthick=5.0 end