comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » using the WHERE function on a portion of an array
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
using the WHERE function on a portion of an array [message #59034] Tue, 04 March 2008 11:23 Go to previous message
becky_s is currently offline  becky_s
Messages: 4
Registered: February 2008
Junior Member
Dear all,

Please lend me your great expertise to help me solve this problem I
have with the WHERE function.

I have a 3d array of heights, A, and another 3d array of observations
at those heights, B. I have a third 3d array, C. I would like
C[0,*,*] to contain values of B only if the corresponding value of A
is between 0 and 1; C[1,*,*] would have values of B only if 1<=A<2,
etc.

I thought this could be done via a WHERE function call, such as:
indices = WHERE(A[0,*,*] ge 4 AND A[0,*,*] lt 5, count)
if count gt 0 then C[4,indices] = B[0,indices]

but this does not work. Printing A[0,indices], I can see that these
values are not b/w 4 and 5.

On the other hand, if I set each level I am looking at to its own 2d
array, i.e.,
leva = A[0,*,*]
levb = B[0,*,*]
levc = C[4,*,*]
use these values in the same code written above, and add the statement
at the end that C[4,*,*] = levc, then it works just fine. However, A
and B are actually very large, so this isn't an option.

I'm guessing I do not understand some key part of the WHERE function.
Would someone please shine some light on this for me? Thanks in
advance.
Becky
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: end-of-line termination
Next Topic: Re: end-of-line termination

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 12:29:46 PDT 2025

Total time taken to generate the page: 0.72087 seconds