A computer-implemented method comprising: providing, in one or more first data storage devices, seismic data for a sub-surface geological environment, including seismic traces acquired by one or more sensors with reference to a surface grid; processing the seismic data in order to determine dip values for the seismic data and to form a data set comprising negative dip values, but not positive values, or the data set comprising positive dip values, but not negative dip values, a positive dip value being defined for a seismic trace with respect to a neighboring trace in one spatial direction and a negative dip value being defined for the same trace with respect to a neighboring trace in the opposite spatial direction, wherein the dip values represent a location within the sub-surface geological environment; storing either the negative dip value data set or the positive dip value data set in a second data storage device; receiving a request for a positive dip value or a negative dip value respectively for the location within the geologic environment; responsive to the request for a positive dip value or a negative dip value, respectively when the negative dip value data set or the positive dip value data set has been stored, accessing with a processor from the second data storage device, the data set comprising the negative dip values or the positive dip values, respectively, wherein the location for the requested dip value lies within bounds defined by the location represented by dip values (636, 656) of the provided data set; interpolating with the processor, a value for the requested dip value based on the accessed dip values (642, 662); executing a validation of the interpolation by performing a path analysis for the location of the requested dip value, wherein the oath analysis comprises calculating a dip difference from the location to a different location using at least two different paths within the geological environment, each path comprising received dip values and interpolated dip values; and rendering the interpolated negative dip values or the interpolated positive dip values to a display. providing, in one or more first data storage devices, seismic data for a sub-surface geological environment, including seismic traces acquired by one or more sensors with reference to a surface grid; processing the seismic data in order to determine dip values for the seismic data and to form a data set comprising negative dip values, but not positive values, or the data set comprising positive dip values, but not negative dip values, a positive dip value being defined for a seismic trace with respect to a neighboring trace in one spatial direction and a negative dip value being defined for the same trace with respect to a neighboring trace in the opposite spatial direction, wherein the dip values represent a location within the sub-surface geological environment; storing either the negative dip value data set or the positive dip value data set in a second data storage device; receiving a request for a positive dip value or a negative dip value respectively for the location within the geologic environment; responsive to the request for a positive dip value or a negative dip value, respectively when the negative dip value data set or the positive dip value data set has been stored, accessing with a processor from the second data storage device, the data set comprising the negative dip values or the positive dip values, respectively, wherein the location for the requested dip value lies within bounds defined by the location represented by dip values (636, 656) of the provided data set; interpolating with the processor, a value for the requested dip value based on the accessed dip values (642, 662); executing a validation of the interpolation by performing a path analysis for the location of the requested dip value, wherein the oath analysis comprises calculating a dip difference from the location to a different location using at least two different paths within the geological environment, each path comprising received dip values and interpolated dip values; and rendering the interpolated negative dip values or the interpolated positive dip values to a display.