;nastaveni formatu casove osy function yticks,axis,index,value hour=long(value)/3600 minute=long(value-3600 * hour) / 60 sec=value mod 60 return,string(hour, minute, sec, $ format="(i2.2,':',i2.2,':',i2.2)") end ;----------------------------------------------------- pro prof1 poc=19 ;zadat pocet profilu ran11=08 & ran12=20 & ran13=20 ;zadat hodiny, minuty, vteriny ran21=08 & ran22=21 & ran23=20 ran1=ran11*3600+ran12*60+ran13 ;082020-zacatek casoveho intervalu ran2=ran21*3600+ran22*60+ran23 ;082120-konec casoveho intervalu ;common range, for i=1,poc do begin case i of 1: begin a='/home1/pkotrc/jura/pol/1.fts' ips='082023' end 2: begin a='/home1/pkotrc/jura/pol/2.fts' ips='082037' end 3:begin a='/home1/pkotrc/jura/pol/3.fts' ips='082038' end 4:begin a='/home1/pkotrc/jura/pol/4.fts' ips='082046' end 5: begin a='/home1/pkotrc/jura/pol/5.fts' ips='082050' end 6: begin a='/home1/pkotrc/jura/pol/51.fts' ips='082051' end 7: begin a='/home1/pkotrc/jura/pol/6.fts' ips='082053' end 8: begin a='/home1/pkotrc/jura/pol/54.fts' ips='082054' end 9: begin a='/home1/pkotrc/jura/pol/55.fts' ips='082055' end 10: begin a='/home1/pkotrc/jura/pol/7.fts' ips='082057' end 11: begin a='/home1/pkotrc/jura/pol/58.fts' ips='082058' end 12: begin a='/home1/pkotrc/jura/pol/8.fts' ips='082100' end 13: begin a='/home1/pkotrc/jura/pol/9.fts' ips='082103' end 14: begin a='/home1/pkotrc/jura/pol/10.fts' ips='082104' end 15: begin a='/home1/pkotrc/jura/pol/11.fts' ips='082105' end 16: begin a='/home1/pkotrc/jura/pol/12.fts' ips='082107' end 17: begin a='/home1/pkotrc/jura/pol/13.fts' ips='082110' end 18: begin a='/home1/pkotrc/jura/pol/14.fts' ips='082113' end 19: begin a='/home1/pkotrc/jura/pol/15.fts' ips='082114' end endcase ;------------------------------------------ b=readfits(a) x=b(*,0)-6562.808 z=b(*,1) if i eq 1 then begin window,0,xsize=600,ysize=600 s=size(z) s=s(1) ;velikost z pole=make_array(s,ran2-ran1) ;pole pouzite v surface endif ips1=strmid(ips,0,2) & ips2=strmid(ips,2,2) & ips3=strmid(ips,4,2) ips=ips1*3600+ips2*60+ips3 y=make_array(s,value=ips) ;-----srovnani plot_3Dbox a surface--------- ;viz procedura prof3.pro, prof3.pro a prof4.pro jsou ekvivalentni ;v plot_3Dbox v prof3.pro je rozsah hodnot x od -3 (=floor(x(0))) ;do 2 (=ceil(x(s-1))), srovnani plot_3Dbox a surface by nebylo ;nutne kdyby rozsah hodnot byl od x(0) do x(s-1) proc1=100*(x(0)-floor(x(0)))/5 proc2=100*(ceil(x(s-1))-x(s-1))/5 zac=proc1*s/100 & kon=proc2*s/100 zpol=congrid(z,s-kon-zac) pole(0:zac-1,ips-ran1)=0 & pole(s-kon:s-1,ips-ran1)=0 prvni=0 for j=zac,s-kon-1 do begin pole(j,ips-ran1)=zpol(prvni) prvni=prvni+1 endfor ;----------------------------- endfor ;--------------kresli pouze profily---------------------- p=ran2-ran1+1 pole=congrid(pole,p,p) shade_surf,pole,/noerase, $;lambda1,cas1,/noerase, $ zrange=[0,1.2],yrange=[0,p],xrange=[0,p], ystyle=1,xstyle=1,$ xmargin=[15,15],ymargin=[15,15], $ az=30,color=0, $ ytickformat='yticks' xyouts,250,500,'PROFILES',charsize=3,charthick=1.5,/device ;--------------kresli pouze osy------------------------ q=(ran2-ran1)/3 ;3 - hodnota u yticks v shade_surf cas=[ran1,ran1+q,ran1+2*q,ran2] ;y hodnoty lambda=findgen(6)-3 ;x hodnoty shade_surf,pole,/noerase, $ zrange=[0,1.2],yrange=[ran1,ran2], xrange=[-3,2], $ ystyle=1, xstyle=1, zstyle=1, $ xcharsize=2.5,ycharsize=2.5,zcharsize=2.5, $ xmargin=[15,15],ymargin=[15,15], $ yticks=3, xticks=5, xtickv=lambda, ytickv=cas, $ az=30, $ ztitle='intensity',xtitle='wavelength',ytitle='time', $ ytickformat='yticks' ;a=tvrd() ;write_gif,'suf.gif ',a ;doplnit jmeno.gif end