; $Id: rslice_stress.pro,v 1.10 2023/01/27 13:33:16 brandenb Exp $
;
;  reads xy slices
;  this routine is not very general yet and needs to be adjusted
;  before it can be general purpose.
;
@parameters
opt=2
opt=3
opt=1
;
if opt eq 1 then begin
  file_slice1='data/proc0/slice_StTre.xy'
  file_slice2='data/proc0/slice_StTim.xy'
  file_slice3='data/proc0/slice_hhTre.xy'
  file_slice4='data/proc0/slice_hhTim.xy'
  ofile='fff.sav' & fmin=1e-8 & dk=100.
endif
;
if opt eq 4 then begin
  file_slice1='data/proc0/slice_StTre.xz'
  file_slice2='data/proc0/slice_StTim.xz'
  file_slice3='data/proc0/slice_hhTre.xz'
  file_slice4='data/proc0/slice_hhTim.xz'
  ofile='fff_y2.sav' & fmin=1e-8 & dk=100.
endif
;
if opt eq 2 or opt eq 3 then begin
  file_slice1='data/proc0/slice_StTre.yz'
  file_slice2='data/proc0/slice_StTim.yz'
  file_slice3='data/proc0/slice_hhTre.yz'
  file_slice4='data/proc0/slice_hhTim.yz'
  if opt eq 2 then begin
    ofile='fff_y.sav' & fmin=1e-8 & dk=100.
  endif else begin
    ofile='fff_z.sav' & fmin=1e-8 & dk=100.
  endelse
endif
;
;
prec=0e0
t=prec
pc_read_dim,obj=dim
nx=dim.nx/dim.nprocx
ny=dim.ny/dim.nprocy
nz=dim.nz/dim.nprocz
;print,'nx,ny,nz=',nx,ny,nz
;
; which of the following doesn't matter as long as ny=nz
;
;xy_slice1=fltarr(nx,ny)*prec
;xy_slice2=fltarr(nx,ny)*prec
;xy_slice3=fltarr(nx,ny)*prec
;xy_slice4=fltarr(nx,ny)*prec
; for ky slices and kz slices
xy_slice1=fltarr(nx,nz)*prec
xy_slice2=fltarr(nx,nz)*prec
xy_slice3=fltarr(nx,nz)*prec
xy_slice4=fltarr(nx,nz)*prec
slice_ypos=prec
;
close,1
close,2
close,3
close,4
icount=0
jcount=0
openr,1,file_slice1,/f77
openr,2,file_slice2,/f77
openr,3,file_slice3,/f77
openr,4,file_slice4,/f77
while not eof(1) do begin
  ;help,xy_slice1,t,slice_ypos
  readu,1,xy_slice1,t,slice_ypos
  readu,2,xy_slice2,t,slice_ypos
  readu,3,xy_slice3,t,slice_ypos
  readu,4,xy_slice4,t,slice_ypos
  print,t
  ;
  if opt eq 1 or opt eq 2 then begin
    f1=reform(xy_slice1[*,0])
    f2=reform(xy_slice2[*,0])
    f3=reform(xy_slice3[*,0])
    f4=reform(xy_slice4[*,0])
  ;endif else if opt eq 3 then begin
  endif else begin
    f1=reform(xy_slice1[0,*])
    f2=reform(xy_slice2[0,*])
    f3=reform(xy_slice3[0,*])
    f4=reform(xy_slice4[0,*])
  endelse
  ;
  if icount eq 0 then tt=t else tt=[tt,t]
  if icount eq 0 then ff1=f1 else ff1=[ff1,f1]
  if icount eq 0 then ff2=f2 else ff2=[ff2,f2]
  if icount eq 0 then ff3=f3 else ff3=[ff3,f3]
  if icount eq 0 then ff4=f4 else ff4=[ff4,f4]
  icount=icount+1
end
;
nt=icount
;fff1=reform(ff1,nz,nt)
;fff2=reform(ff2,nz,nt)
;fff3=reform(ff3,nz,nt)
;fff4=reform(ff4,nz,nt)
fff=complex(fff1,fff2)
close,1
close,2
;
;save,file='StT_and_hhT_im.sav',tt,fff1,fff2,fff3,fff4
;save,file='StT_and_hhT_im_y.sav',tt,fff1,fff2,fff3,fff4
save,file=ofile,fff,dk,tt
spawn,'cvs add -kb '+ofile
;
END
