summaryrefslogtreecommitdiff
path: root/idl/idlmovie.body
blob: e38c94abe02254df3136d2a0ec04f99384a8d925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
; ----------------------------------------------------------------------------------------
; body for idlmovie.pro
; ----------------------------------------------------------------------------------------

 s1     = dimx
 s2     = dimv
 xmin   = xmax0/dimx0 * cutx - xoffset
 xmax   = xmin + xmax0/dimx0 * dimx
 ymax   = vmax0 - vmax0/dimv0 * cutv  
 x      = xmin + (xmax-xmin)/s1 * findgen(s1)
 y      = -ymax + 2.0*ymax/s2 * findgen(s2)

 print, cutv
 print, ymax

 set_plot,"x"
 window, 1, xpos=540, ypos=28, xsize=dimx+200, ysize=dimv+180, title="phasespace(x,v)"
 xoff=120
 yoff=100

 loadct,13
 tvlct, r, g, b, /get
 r(0) = 255
 g(0) = 255
 b(0) = 255
 r(1) = 0
 g(1) = 0
 b(1) = 0
 tvlct, r, g, b
 	 
 plot, x, y, xstyle=1, ystyle=1, xrange=[xmin,xmax], yrange=[-ymax,ymax],$
	xtitle="!3x/!7k!3", ytitle="!3v/c!3",ticklen=-0.02,$
	charsize=1.5, color=1, position=[xoff-1,yoff-1,xoff+s1+1,yoff+s2+1],$
	/noerase, /nodata, /device

 if (special_file lt -10) then begin
	i=-1
	repeat	begin
		i = i+1
		f = floor( 1000.0*(file_begin+increment*i)+0.5 ) / 1000.0
		if (f lt 10) then s = string( format='(F5.3)',f )
		if (f ge 10) then s = string( format='(F6.3)',f )
		file = file0 + s 
		print, file
		openu,1,file
		a = assoc(1,bytarr(dimx0,dimv0,/nozero))
		phase = extrac(a(0)+1,cutx,cutv,dimx,dimv)
		tvscl,alog10(phase),xoff,yoff
		close,1
	endrep until ( f gt file_end-increment )
 endif else begin
        if (special_file lt 10) then s = string( format='(F5.3)',special_file )
	if (special_file lt 0) then s = string( format='(F6.3)',special_file )
        if (special_file gt 10) then s = string( format='(F6.3)',special_file )
	file = file0 + s 
	print, file
	openu,1,file
	a = assoc(1,bytarr(dimx0,dimv0,/nozero))
	phase = extrac(a(0)+1,cutx,cutv,dimx,dimv)
	tvscl,alog10(phase),xoff,yoff
	close,1
 endelse
end