A computer-implemented method for generating a set of facies realizations, implemented in a computer system that includes a physical computer processor and data storage, the computer-implemented method comprising: receiving target subsurface data from a subsurface volume of interest, wherein the subsurface data is generated from subsurface signals received by subsurface sensors; obtaining a geobody index, wherein the geobody index identifies multiple geobodies as a function of position in the subsurface volume of interest, and wherein the geobody index is generated based on the subsurface data from the subsurface volume of interest; obtaining facies probability vectors for the multiple geobodies; assigning facies to the multiple geobodies based on the facies probability vectors, wherein individual facies are assigned to corresponding geobodies based on randomly sampling the facies probability vector of a corresponding geobody; obtaining target facies proportions for the subsurface volume of interest, wherein a given target facies proportion specifies a ratio for one of the facies in the subsurface volume of interest compared to the other facies in the subsurface volume of interest; based on a first facies proportion of a first facies in the subsurface volume of interest being outside a threshold range of a first target facies proportion for the first facies, reassigning a first geobody having the first facies with a facies based on randomly sampling the facies probability vector of the first geobody; and reassigning remaining ones of the multiple geobodies with different facies based on corresponding ones of the facies proportions of the other facies being outside threshold ranges of corresponding target facies proportions, wherein the reassigning is based on randomly sampling corresponding ones of the facies probability vectors until the facies proportions of the multiple facies in the subsurface volume of interest match the target facies proportions within the threshold ranges. receiving target subsurface data from a subsurface volume of interest, wherein the subsurface data is generated from subsurface signals received by subsurface sensors; obtaining a geobody index, wherein the geobody index identifies multiple geobodies as a function of position in the subsurface volume of interest, and wherein the geobody index is generated based on the subsurface data from the subsurface volume of interest; obtaining facies probability vectors for the multiple geobodies; assigning facies to the multiple geobodies based on the facies probability vectors, wherein individual facies are assigned to corresponding geobodies based on randomly sampling the facies probability vector of a corresponding geobody; obtaining target facies proportions for the subsurface volume of interest, wherein a given target facies proportion specifies a ratio for one of the facies in the subsurface volume of interest compared to the other facies in the subsurface volume of interest; based on a first facies proportion of a first facies in the subsurface volume of interest being outside a threshold range of a first target facies proportion for the first facies, reassigning a first geobody having the first facies with a facies based on randomly sampling the facies probability vector of the first geobody; and reassigning remaining ones of the multiple geobodies with different facies based on corresponding ones of the facies proportions of the other facies being outside threshold ranges of corresponding target facies proportions, wherein the reassigning is based on randomly sampling corresponding ones of the facies probability vectors until the facies proportions of the multiple facies in the subsurface volume of interest match the target facies proportions within the threshold ranges.