Uncertain or indirect "soft" data, such as geologic interpretation, driller's logs, geophysical logs or imaging, offer potential constraints or "soft conditioning" to stochastic models of discrete categorical subsurface variables in hydrogeology such as hydrofacies. Previous bivariate geostatistical simulation algorithms have not fully addressed the impact of data uncertainty in formulation of the (co) kriging equations and the objective function in simulated annealing (or quenching). This paper introduces the geostatistical simulation code tsim-s, which accounts for categorical data uncertainty through a data "hardness" parameter. In generating geostatistical realizations with tsim-s, the uncertainty inherent to soft conditioning is factored into both 1) the data declustering and spatial correlation functions in cokriging and 2) the acceptance probability for change of category in simulated quenching. The degree or sensitivity to which soft data conditions a realization as a function of hardness can be quantified by mapping category probabilities derived from multiple realizations. In addition to point or borehole data, arrays of data (e.g., as derived from a depth-dependency function, probability map, or "prior realization") can be used as soft conditioning. The tsim-s algorithm provides a theoretically sound and general framework for integrating datasets of variable location, resolution, and uncertainty into geostatistical simulation of categorical variables. A practical example shows how tsim-s is capable of generating a large-scale three-dimensional simulation including curvilinear features.