Hello Dr.Fanning, Thanks for effort in trying to understand my
program!However, let me clearify some points:
- Yes, my velocity vectors are three dimensional. Meaning that Vx is
the component of the velocity in the x-direction, Vy is the component
of the velocity in the y-direction, and Vz is the component of the
velocity in the z-direction. I expect IDL to plot the resultant of
these three components starting at the coordiates (sx,sy,sz).
- I think I will get them to have the same size because Vx,Vy,Vz have
a value different to zero, all at the same time and at the same
location. So probably FlOW3 will like it!!
- I also have the exact location at which the vector starts, therefore
I rather use it as input in FLOW3. My problem has been to *extract*
these Sx, Sy, Sz coordinates at which Vx,Vy,Vz are different from
zero. These location vectors will also have the same size as the
velocity vectors.
-From the 32400 data points that I have, only 521 have data different
from zero. The velocity data is very small, and as you suggested I am
already using a factor to increase those values. However, this factor
can not be greater than 20 because:
% Program caused arithmetic error: Floating divide by 0
% Program caused arithmetic error: Floating overflow
% Program caused arithmetic error: Floating illegal operand
- Do my comments clearify my ideas to you?
- Should I use instead: IF vx, vy, vz NE 0 then write sx,sy,sz into
the respective arrays. How can I do this?
I tried to do it as well in 2D as you said. However, I have a simple
question because I am having an error according to the command
arguments, due to the size of U and V using VELOVECT.
I am using U as one dimensional vector with Vx, and V as one
dimensional vector with Vy. What does it mean that it "must be a
two-dimensional array".??
openr,q,'VOa.dat',/Get_Lun
;A=fltarr(6,10*5L)
A=fltarr(6,360*90L)
readF,q,A
Free_Lun,q
; The velocity in 2D will be plotted on the plane x-z, however, there
is data for Vy and y, but will be ingored.
Vx=fltarr(360,90)
Vz=fltarr(360,90)
For i = 0, 32399L Do Begin
;(0) first column of the array is z (0<z<90)
;(1) second column of the array is y (constant)
;(2) third column of the array is x (0<x<360)
;(3) fourth column of the array is Vz
;(4) fifth column of the array is Vy
;(5) sixth column of the array is Vx
Vx(A(2,i)-1,A(0,i)-1) = A(5,i)
Vz(A(2,i)-1,A(0,i)-1) = A(3,i)
Endfor
Vxx=WHERE(Vx NE 0,count5)
Vzz=WHERE(Vz NE 0,count6)
Velovect,Vxx,Vzz
end
Thank You very much Dr.Fanning, I hope to hear from you soon,
Adhara
|