The Werner (1995)dune model is a simple yet powerful cellular automata dune model based on only a few rules. The algorithm is attractive in its capacity to produce almost all forms of dunes and for its insight into the general relations between dune form and controlling variables (as described empirically by Wasson and Hyde, 1983).
The model space consists of a grid with each location containing a number of slabs. Slabs are conceptualized to be a packet of sand, rather than a single grain (Werner, 1995). Slabs sit on a non-erodible basement, which can assume any configuration, although most workers have used a flat basement of 0 elevation units (e.g.,Eastwood et al., 2011).
Shear stress from the wind is abstracted with a simple shadow zone rule. From each point of topography a line is traced down at an angle of shadow zone angle (θs) (seeFig. 1); typically θs= 15°. Any slabs that are below the height of the wind shadow are deemed to be in a shadow zone. This simulates the separation bubble that is empirically found in the lee of dunes (Frank and Kocurek, 1996).
A coordinate is chosen randomly within the model space. If no slab is present at the site or the site is within a shadow zone, nothing happens (note erosion in shadow zones is different to algorithm described by Werner, 1995; but identical to most subsequent implementations). If a slab is present, the slab is picked up and moved dj positions down- wind. If this position is within a shadow zone, the slab is deposited im- mediately. If not, a probability of deposition (pd) i s c a l c u l a t e d
Where psand and pbasement are parameters that are set by the user. A random number is drawn and the model determines if the slab will be deposited at the site. If the slab is not deposited, the transport algorithm moves dj cells downwind and tries again. This transport algorithm results in a maximum transport (qmax) o f
Where I is the length of time represented by one iteration (after Nield and Baas, 2008a). In practice, slab transport will always be less than this value due to the development of bedforms that begin to control (or‘slave’) the areas where transport can take place (see Werner, 1999).
Finally, if erosion or deposition of a slab causes the surface to exceed the angle of repose, an avalanche algorithm moves slabs up or down to ensure that the angle of repose remains less than 30°. This algorithm assesses angle of repose between the 4 nearest neighbors to a given cell (N, S, E, W). If there is more than one slope that exceeds the angle of repose, the model randomly picks one of the directions that is too steep to perform the avalanche routine.
The model is polled the same number of times as the number of cells in the model space. This is referred to as one iteration. During an iteration the model can poll a site more than once and there is no guarantee that all sites will be polled. Thus, an iteration is, in effect, a fixed quantity of time that is normalized to the model space.
Quoted from : A new tool for modeling dunefield evolution based on an accessible, GUI version of the Werner dune model