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

Home » Public Forums » archive » Re: summation problem
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: summation problem [message #24529] Thu, 05 April 2001 08:00 Go to previous message
Paul van Delst is currently offline  Paul van Delst
Messages: 364
Registered: March 1997
Senior Member
Jaco van Gorkom wrote:
>
> Manish wrote:
> ...
>> I have a program which produces an array of values of sunlight flux during
>> the day. Unfortunately, it produces crazy numbers before the sunrises and
>> after it sets(as expected). I'm summing the values throughout the day to
>> get a total integrated day flux, but here's the problem - is there a way of
>> telling the TOTAL function to ignore negative numbers and NaN numbers?
>
> Yes, there is a way:
> IDL> test = [0,-1,3,4,]
> IDL> print, total(test>0,/nan)
> 7.00000
> % Program caused arithmetic error: Floating illegal operand
>
> The 'illegal operand' error appears to be harmless, caused by comparing test>0:
> IDL> print, test>0
> 0.00000 0.00000 3.00000 4.00000 NaN
> % Program caused arithmetic error: Floating illegal operand

Harmless maybe, but I for one don't like seeing illegal operand errors, let alone ignoring
them. What if you add some code that tries to take the log of a -ve number, see the same
error and shrug it off?

Why not do a

loc_finite = WHERE( FINITE( test ) EQ 1, count_finite )
IF ( count_finite GT 0 ) THEN $
sum = TOTAL( test[ loc_finite ] > 0.0 ) $
ELSE $
sum = !VALUES.F_NAN ; Or some other suitable flag

??

IDL> print, sum
7.00000

Oh, and make sure you set !EXCEPT = 2 in your idl setup file. That'll learn ya to remove
errors from your code :o)

paulv

--
Paul van Delst A little learning is a dangerous thing;
CIMSS @ NOAA/NCEP Drink deep, or taste not the Pierian spring;
Ph: (301)763-8000 x7274 There shallow draughts intoxicate the brain,
Fax:(301)763-8545 And drinking largely sobers us again.
paul.vandelst@noaa.gov Alexander Pope.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Where's Liam Gumley
Next Topic: summation problem

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

Current Time: Wed Oct 08 15:59:43 PDT 2025

Total time taken to generate the page: 0.00255 seconds