1. A method of modeling the subsurface comprising: (a) obtaining one or more subsurface volume of geophysical or geological data; (b) obtaining an interpretation of the subsurface volume; (c) defining one or more flexible geologic concepts, wherein the flexible geologic concepts include a stacking pattern for how different surfaces interact when they meet and an interpolation operation for missing surfaces, and wherein a geologic concept is flexible when it is added by a user of the method on an as-needed basis employing a selected pattern language, the pattern language being computer implemented rules for combining multiple patterns in the subsurface volume, and a pattern being a feature extractable by a computer from the subsurface volume; (d) applying, by the computer, the one or more flexible geologic concepts to the interpretation of the volume; (e) obtaining a modified interpretation of the subsurface volume based upon the applied flexible geologic concepts, wherein a resulting subsurface model is obtained based on the modified interpretation of the subsurface volume; and (f) causing a well to be drilled at a location determined from the resulting subsurface model for producing hydrocarbons.