From Python Scripting to Parallel Spatial Modeling: Cellular Automata Simulations of Land Use, Hydrology and Pest Dynamics

2017 
Many spatial phenomena are difficult, dangerous, costly or impossible to reproduce, making their simulation the only option. Wildfires, large floods or epidemics are examples in which computer models are fundamental for the scientific study of their dynamics. Today computer models enable us to perform simulations more accurately than ever before thanks to the increasing spatio-temporal resolution of data. However, more data entails more calculations, and too many calculations quickly become computationally prohibitive. While data and computational demands increase, sequential computers have stagnated and parallel computing seems the way forward. Unfortunately parallel codes are long, complex and not very reusable. Therefore, although modelers require parallel performance, they prefer not to give up the comfort of their sequential scripting languages. We address the parallel issue by leveraging compiler techniques that automatically transform sequential python scripts to parallel GPU codes. Our methodology can also process datasets larger than main memory. To make all this possible we restrict our domain to models based on local interactions, e.g. Cellular Automata. We test the automatic parallelization of three CA in land use, hydrology and pest dynamics. The first predicts future urban developments, the second models the flow of water and the third simulates an outbreak of olive fruit fly. The methodology reduces the execution times by harnessing the parallelism of the models and enables the processing of very large datasets, all of this without compromises in programming effort.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    25
    References
    1
    Citations
    NaN
    KQI
    []