Re: [asa] Creation Care

From: Dave Wallace <wdwllace@sympatico.ca>
Date: Sun Jan 21 2007 - 17:08:53 EST

Iain Strachan wrote:

> I believe this can be a big problem in short term weather forecasting -
> there are times when the system enters an ergodic region and it's just
> not possible to predict in the short term with any accuracy. Other
> times it is more predictable.
>
> However, what does NOT change is the general behaviour. The appearance
> of a plot of results of the Lorenz attractor looks the same whatever the
> starting conditions. I imagine, therefore that long term computer
> models of something like global warming would certainly be able to
> predict the general trend.

Does anybody on the list know if the results taken from the climate
modeling systems are essentially at the strange attractor limit cycle or
are the results taken from a much earlier point when the behavior has
not settled down into a limit cycle?

>
> Very large software systems are usually designed in modules that can
> each be unit-tested, but it's clear that you won't track down all the
> bugs. However, testing against historical data is probably a pretty
> good test of the correctness of the algorithm - most bugs would cause
> the system to give nonsensical results.

I understand that programs are broken up into modules (classes) in a
divide and conquer strategy to try to manage the intellectual complexity
and that these should be unit tested. However unit testing often is not
done as well as it should be even by graduates with computer degrees.
Specifying the contract that the module is supposed to meet is extremely
hard, especially for error conditions but also for what is legal usage
of a complex higher level module that in turn depends on other modules.

I spent about 25 years of my career involved with compiler development
including state of the art optimizers. For none specialists, compilers
are large complex programs that translate computer languages into
something that a machine can execute. Because climate models are
typically compute intensive, some kind of optimizer would be used to
improve the efficiency of the running code. The optimizer programming
teams knew the computer language rules very well and very frequently
they would get bug reports that when examined would turn out that the
programmer submitting the bug, had not followed the language rules. In
some cases the language rule that was broken was subtle but in other
cases the programmers were egregiously in violation of the language
standard. Of course the optimizers and related tools that adapt for
running on parallel machines also have bugs, much to the development
teams chagrin. Every valid bug found usually become part of our test
suite but there is always one more...

Dave Wallace

To unsubscribe, send a message to majordomo@calvin.edu with
"unsubscribe asa" (no quotes) as the body of the message.
Received on Sun Jan 21 17:09:53 2007

This archive was generated by hypermail 2.1.8 : Sun Jan 21 2007 - 17:09:53 EST