A method for generating, rendering and displaying a model of the earth for a view V at time t' using one or more hierarchically-organised multi-resolutional data trees representing tectonic plates, each data tree T comprising a plurality of nodes N k, each node having a grid with a fixed number of points with which data are associated, wherein the nodes N k of said data trees comprise a geo-reference which locates the grid of each node in physical space and time, the method comprising the steps of: a00) receiving desired time t' for which the model is to be rendered; and a01) computing the required rotation matrix based on a pre-defined rotation model evaluated at time t' a02) applying a rotation matrix to the nodes within each of said one or more data trees to create at least one time-rotated data tree T' comprising time-rotated nodes N' k; a) for the given view V, evaluating a criterion for the selection of the level of detail for the nodes N' k; b) traversing all nodes N' k in T', conducting split and merge operations where necessary until the selected level of detail is achieved, thus creating a set of nodes T' E enabled for visualisation; for all nodes N' k in T' E: c) obtaining data if necessary; d) raising an update flag in all altered nodes N' k; for all nodes N' k in T' E which require updating: e) creating geometry G; f) creating overlay O, wherein at least one of the geometry and overlay is constructed by applying a formula to data within one or more of said nodes N' k in T' E, wherein the formula is a function of time rotation; g) rendering all nodes in T' E; and h) displaying rendered nodes. a00) receiving desired time t' for which the model is to be rendered; and a01) computing the required rotation matrix based on a pre-defined rotation model evaluated at time t' a02) applying a rotation matrix to the nodes within each of said one or more data trees to create at least one time-rotated data tree T' comprising time-rotated nodes N' k; a) for the given view V, evaluating a criterion for the selection of the level of detail for the nodes N' k; b) traversing all nodes N' k in T', conducting split and merge operations where necessary until the selected level of detail is achieved, thus creating a set of nodes T' E enabled for visualisation; for all nodes N' k in T' E: c) obtaining data if necessary; d) raising an update flag in all altered nodes N' k; for all nodes N' k in T' E which require updating: e) creating geometry G; f) creating overlay O, wherein at least one of the geometry and overlay is constructed by applying a formula to data within one or more of said nodes N' k in T' E, wherein the formula is a function of time rotation; g) rendering all nodes in T' E; and h) displaying rendered nodes. a) for the given view V, evaluating a criterion for the selection of the level of detail for the nodes N' k; b) traversing all nodes N' k in T', conducting split and merge operations where necessary until the selected level of detail is achieved, thus creating a set of nodes T' E enabled for visualisation; c) obtaining data if necessary; d) raising an update flag in all altered nodes N' k; e) creating geometry G; f) creating overlay O, wherein at least one of the geometry and overlay is constructed by applying a formula to data within one or more of said nodes N' k in T' E, wherein the formula is a function of time rotation; g) rendering all nodes in T' E; and h) displaying rendered nodes.