Tornado Experimental Design Algorithm


With the Tornado algorithm we generate simulation decks by changing the value of only one uncertainty variable at a time.

Each uncertainty variable is assigned a low value, a middle value and a high value, also known as -1,0,+1 values.

We generate one simulation deck with all variables set to their middle value. Then for each uncertainty variable we generate one simulation deck where that variable is set to its low value while all other variables remain at their middle value. Similarly we then generate one deck for each uncertainty variable set to its high value while again all other variables remain at their middle value.

So if there are n uncertainty variables, we generate 2*n+1 simulation decks. Note that the number of decks generated scales linearly with the number of uncertainty variables, unlike the full factorial algorithm which generates nvalues**nvariables. So 5 variables with 3 values each generates 11 simulation decks using the Tornado algorithm while Full Factorial generates 3**5 or 243 decks. Because of this linear scaling the Tornado algorithm is often used as a first pass algorithm to screen a large number of uncertainty variables, identifying those big hitter variables that have a larger effect on the model results and enabling the engineer to remove  the less responsive variables in further scenario investigations.

As an example, consider we want to use the Tornado algorithm to create an ensemble of reservoir simulation decks where we have defined the following five uncertainty variables, each with a low, middle and high value.

The Tornado algorithm will generate 2*5+1 = 11 simulation decks.

The table below shows the generated variable values for each simulation deck.

rezen tornadouncertaintyvariablevalues

The table below shows the -1,0,+1 value assignments for each simulation deck

rezen tornadouncertaintyvariableindices