The environmental extremists want us to believe that every global warming prediction is 100% correct. But computer models can err and easily draw wrong conclusions. The author has personally developed, and directed the development of, several computer models. It is very easy for a computer model to be wrong. Actually, it is rather amazing that they ever make any correct predictions. So many different errors can creep into a model and cause it to predict erroneous results. 2.5GB Switch

Secondarily, the averageĀ computer modeller comes to model development with a particular bent — he or she wants to see a particular result. With that in mind, this author has jokingly said that he should offer his modeling skills to the highest bidder: “Tell me what you want to model, and what you want it to predict, and I will build you a model.” That would be unethical, of course, but anyone I’ve ever met who was developing a computer model wanted it to predict a particular result. If it showed that result, the modeller could quit and call the model complete. If it didn’t show that result, the modeller continued working to develop it further. Even if a particular result is not a conscious goal, subconsciously, most modellers are looking for a certain result. So in addition to all the possible errors that can affect model results, there is always the modeller’s natural bent that must be considered. How ethical is the modeller or the modeling team? Would they intentionally slant a model to produce the results they want? We would like to think most would not intentionally slant a model to the desired result.

One must wonder about this — particularly in the global warming debate because all sorts of unseemly unethical tricks are being used to declare predicted results to be absolute truth and to discourage others from questioning those results. “The debate is over. Consensus has been achieved!” Science doesn’t work by consensus — and the debate is hardly ever over. “The Hollywood elite support the results!” Who cares what Hollywood thinks? “How dare you suggest these results are not accurate?” Well… some people actually know something about models and the model development process. They understand all the possible pitfalls of model development. “How dare you disagree with us?” We disagree for many reasons that have not been included in the debate. We disagree because the debate never occurred. If the intelligentsia is willing to play debating games and wanting to stifle discussion when they think their side is in the lead, one must look carefully at all details and question all results.

A computer model is a computer program that has been designed to simulate a particular function and to make predictions of its expected behavior. For example, the author used computer models to predict the viscous behavior of fluids and suspensions in industrial systems. The software used to render computer generated movies must perfectly simulate the visualizations shown. For example, complex algorithms show reflections on shiny objects to simulate the way light bounces from sources to the viewer’s eye. When the original models and algorithms correctly predicted light reflections, they began to be used to generate movies. The following list includes many of the pitfalls that can unintentionally hinder the success of computer models:

First, models are simplifications of real phenomena. The modeller(s) must determine the proper mathematics to simulate each phenomenon of interest. One usually selects the simplest mathematical algorithm that will perform the task at hand. If one selects incorrectly, the results may be in error. For example, some phenomena appear to have a linear behavior. But the linear behavior may change to non-linear behavior under certain extreme conditions. If that is not known in advance, the model may be asked to predict values in the ‘extreme conditions’ territory and errors will result. This happens easily.

For example, the fluid viscosity of a suspension (powder mixed in a fluid) starts as a linear function of the concentration of powders added to the fluid. When the concentration of powder is small, the function is linear. But as the concentration of powder increases, the viscosity behaves in a non-linear manner. The initial linear function is rather simple to program into a model, but the non-linear behavior is complex to accurately model. It is easy to make programming mistakes and utilize the wrong mathematics. This is closely related to the first pitfall above. If you think you know how a particular phenomenon behaves, but you use the wrong equation, the model will predict erroneous values.

Some phenomena are simply difficult to model. Sometimes, the results of a particular set of phenomena are not known. One must then perform a complex calculation each time those phenomena must be used. Rather than use the resulting mathematical equation to simulate a function, it may be necessary to simulate the actual underlying phenomena to arrive at the results. This may force a model within a model which adds complexity to the whole calculation.

For example, rather than using a simple mathematical equation to simulate how clouds affect sunlight, it may be necessary to model the behavior of individual raindrops in sunlight, and then model the behavior of the bazillions of raindrops that form a cloud to determine how an individual cloud will behave in sunlight. Until one builds up to simulating a whole sky full of clouds, the model can take on enormous proportions and the calculation times can be extremely long. Having gone through such an exercise, one must then determine if the equations and algorithms at each step in this process were modeled accurately.

Memory capacity of a computer and speeds of computation can be limited. This was more of a problem 20-30 years ago, but sizes and speeds can still be limiting. In early computers used by this author, you could program anything you wished — as long as it could fit into a 64,000 byte program (which is quite small as computer programs go.) Program sizes were limited and sizes of memory locations were also limited. Computers have grown over the years where most programs can now be so large, a programmer doesn’t need to be concerned with size limitations or with memory capacity. But sometimes, these still need to be taken into account.