1. A method for modeling a virtual environment with a computer system, comprising: a. forming a plurality of layers of data using a computer system, including at least a first layer and a second layer, each of the first and second layers being configured to alternatively be either a source layer or a target layer, the source layer and target layer being the same or different sizes, each layer among the plurality of layers of data representing a distinct variable of the virtual environment being modeled and including a plurality of cells, each cell containing a first datum and a second datum, the first datum corresponding to a different variable than the second datum, the plurality of cells in the first layer corresponding to a plurality of cells in the second layer by a first function; b. connecting layers among the plurality of layers of data using one or more pipes, each of the one or more pipes being configured 1) for mapping a group of one or more cells in the source layer to a group of one or more cells in the target layer so that cell data is propagated between the source layer and target layer and 2) to identify orientation information describing an orientation of the source layer with respect to the target layer, the orientation information including at least one of integer offset in two dimensions and a scale factor, the integer offset being zero or non-zero and the scale factor being equal to, less than, or greater than unity; c. operating on at least one of the data from the cells in the first layer with a second function to yield respective target data, the operating including processing the at least one of the one or more pipes; d. basing a calculation at least partially on the target data, the calculation performed on a respective datum in a corresponding cell in the second layer; and e. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes: i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer; ii. sending the data from each sublayer to separate slave processes along with the rule; iii. receiving the altered data from each sublayer back from the slave processes; and iv. combining the sublayers and discarding duplicate data to create one layer containing altered data.