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

Home » Public Forums » archive » Unsolved indexing problem 2 weeks ago.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Unsolved indexing problem 2 weeks ago. [message #55738] Sun, 09 September 2007 19:00 Go to previous message
kim20026 is currently offline  kim20026
Messages: 54
Registered: November 2006
Member
G'day, Everyone!

I posted this question about 2 weeks ago, but I couldn't make it at
that time. I was so urgent and I just finished with the way of the Old
Stone Age. I spent several hours to finish up this things with MS
Excel... T.T. However, I got a chance to do the same thing, I want to
make it with IDL this time. Please give me any idea.

What I am trying to do now is to read in 16 lines at one time and
compare the values of the second column for all 16 lines. Then, I
either extract the one good value for output or I set the output to be
unchanged. Once I've figured out what I want to output, I output all
16 lines at once and output the same value to the third column for
each line.

This exmaple data file is simplified for test simulation. With this
file, I am testing with 5 lines instead of 16.

aaa.txt
01 -999.9
02 -999.9
03 -999.9
04 0.13
05 -999.9
06 -999.9
07 0.17
08 -999.9
09 -999.9
10 -999.9
11 -999.9
12 -999.9
13 32.77
14 -999.9
15 -999.9

This is the array that I want to make.

01 -999.9 0.13
02 -999.9 0.13
03 -999.9 0.13
04 0.13 0.13
05 -999.9 0.13
06 -999.9 0.17
07 0.17 0.17
08 -999.9 0.17
09 -999.9 0.17
10 -999.9 0.17
11 -999.9 -999.9
12 -999.9 -999.9
13 32.77 32.77
14 -999.9 -999.9
15 -999.9 -999.9

I coded as shown below. However, As Conor pointed out 2 weeks ago, I
am doing something different. I have changed several part of this
code, but my trial has not been successful so far. Please give me any
idea, recommendable functions, indexing tips, etc... Thanks.

Harry

------------------------------------------------------------ ----------
pro albedo_final
close, /all
data1 = 'D:\MODIS_ALL\aaa.txt'
num_data = file_lines(data1)
albedo_arr = fltarr(2, num_data)
albedo_fin = fltarr(3, num_data)
albedo_OK = 0.0

openr, 2, data1
readf, 2, albedo_arr
close, 2
c1 = 0

openw, 1, 'bbb.txt'
for i= 0, num_data-1 do begin

dd = 5*(c1+1) +1
if albedo_arr[0, i] lt DD then begin
if (albedo_arr[1,i] gt 0 and albedo_arr[1,i] lt 1) then
begin
albedo_OK = albedo_arr[1,i]
print, albedo_OK
endif
albedo_fin[0:1, i] = albedo_arr[0:1, i]
albedo_fin[2, i] = albedo_OK
endif
c1 = c1+1
endfor
print, albedo_fin
;printf, 1, albedo_fin
;close, 1
print, " It's done!"
end

This is the last result.

1.00000 -999.900 0.000000
2.00000 -999.900 0.000000
3.00000 -999.900 0.000000
4.00000 0.130000 0.130000
5.00000 -999.900 0.130000
6.00000 -999.900 0.130000
7.00000 0.170000 0.170000
8.00000 -999.900 0.170000
9.00000 -999.900 0.170000
10.0000 -999.900 0.170000
11.0000 -999.900 0.170000
12.0000 -999.900 0.170000
13.0000 -999.900 0.170000
14.0000 -999.900 0.170000
15.0000 -999.900 0.170000
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Re: Seasonal Variation in Trend Analysis
Next Topic: making a circle of certain values

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

Current Time: Wed Oct 08 15:53:38 PDT 2025

Total time taken to generate the page: 0.00382 seconds