1. A computer-aided method of downscaling a three-dimensional geological model by generating numerical stochastic fine-scale models conditioning to data of different scales and capturing spatial uncertainties which involves a downscaling algorithm, the method comprising: a. generating a point covariance map, wherein the point covariance map is generated by obtaining point covariance values between a first base point and all points within an expanded area; b. storing the point covariance map, wherein the point covariance map is stored based on covariance symmetry, wherein about half of the point covariance map is stored; c. generating a single block-to-point covariance map, wherein the block-to-point covariance map is generated by obtaining block-to-point covariance values between a first base block and all points within the expanded area; d. storing the single block-to-point covariance map, wherein the block-to-point covariance map is stored based on covariance symmetry, wherein about half of the block-to-point covariance map is stored; e. calculating block-to-block covariance values, wherein the block-to-block covariance values are generated by obtaining the block-to-block covariance variance values between a first base block and a second block, wherein the block-to-block covariance values are obtained from the stored block-to-point covariance map, wherein the block-to-block covariance values are calculated by averaging the block-to-point covariance values covered by a second block; f. storing the block-to-block covariance values; g. randomly selecting a first simulation node within a defined simulation area; h. utilizing the stored point and block-to-point covariance maps to search and retrieve neighboring point covariance values and neighboring block-to-point covariance values around the simulation node; i. constructing a kriging system, wherein the constructed kriging system is based on the retrieved point and block-to-point covariance values and the calculated block-to-block covariance; j. solving the kriging system; k. computing the kriging mean and the kriging variance; l. defining a sampling interval based on the calculated local kriging mean and variance; m. simulating a value by randomly drawing a value from the kriging mean and variance defined interval in a global target cumulative distribution; n. assigning the simulation value to a simulation location; and o. repeating steps (h) through (n) until all nodes within defined area have been simulated.