Organizing the Wine Cellar

Design and Placement

The Wine Cellar is much larger than needed for our wine collection; it could hold over 6,000 bottles easily. The size was dictated by the structural requirements of the house, and it made little sense to subdivide it. We use the extra space to store old files and to keep bulk items so we can reduce our number of trips to town.

The principal design goal for the Wine Cellar was to make it totally passive; no mechanical temperature or humidity control should be needed. This meant the cellar had to be placed underground on the north side of the house to take advantage of the stable cool conditions of the earth and to avoid heat gain from the sun. This effect was enhanced by placing the cellar so the Entry Roof shades the ground outside the Wine Cellar on Summer afternoons. In order to maximize the cooling effect of the ground and minimize the warming effect of the surrounding house, the Wine Cellar has a sloped ceiling. In the picture above, the north (left) wall is 11' high and over 2' underground at its highest point. The south (right) wall is 7' high. Heat entering through the interior (east, west or south) walls and heat generated by the lights should rise and flow left to be cooled by the north wall. The interior walls have 12" of insulation, the ceiling has 24" of insulation, and the slab floor is isolated from the slab of the interior rooms.

The exterior foundation wall at the Wine Cellar is water-proofed but not insulated so the cool ground temperature can communicate directly to the cellar. In the above picture, one can see blue insulation panels to the left of the Wine Cellar location, but only black waterproofing on the outside of the foundation where the Wine Cellar is. In front of the foundation are the tops of the two pillars that support the Entry Roof.


When it comes to racks, Gary's philosophy is the wine should be worth more than the racks. The least expensive solution was to purchase wire racks that cost about 50¢ per bottle; it was not possible to build them ourselves for less. Unfortunately, the racks we purchased turned out to not be square (in carpenter parlance, they were "racked”). That made it difficult to mate them side to side, but we finally made them work by mixing and matching parts from the 5 kits, then applying some persuasion in the mounting process. Having a caretaker who is a finish carpenter was a real advantage: Dan helped Gary fur out the north wall to make it straight enough to mount the racks. The furring also provided space behind the racks for air to flow unimpeded down the surface of the cool north wall. We made a "bench" for the racks to sit on to provide space under the racks for odd-sized bottles to be stored and to allow the air flowing down the wall to escape to the floor. (See the picture from this quarter's report.)


Before diving into this topic, we started with a prejudice: no computers! We do have power and networking in the Wine Cellar, but only because someone, someday, might want to use a computer there. The problem with cellar organization software is it keeps a virtual representation of the cellar and will not reflect the actual inventory and location of wine unless one is suitably anal about doing the appropriate data entry. Using UPC labels and a bar code reader would help this process, but not all wine is coded – yet. Better yet would be to have RFID tags on the bottles and a reader built into the door of the Wine Cellar. At this time, it is much simpler and more reliable to devise manual methods to keep things organized.

That said, we had no problem applying computer science principles to come up with a manual solution.

With over 500 bottles of wine to organize, one needs to ponder how to find that certain bottle one has in mind when the occasion arises. This is akin to designing a database. Does one order for retrieval by winery, varietal (i.e., the type of grape), vintage (i.e., the year the grapes were harvested), some combination of these, or some other criterion? Gary and Pauline once had the privilege of visiting a man who owned one of the 10 best private wine collections in North America. When asked how he organized the tens of thousands of bottles he owned the answer was simple: by vintage and vintage alone. (BTW, we did not see any computers.) So we had our answer. But, we also try to keep bottles of a given vintage from the same winery and of the same varietal close to each other; this requires very little effort since those bottles tend to arrive at the cellar together anyhow.

Our wine had been stored in many boxes, so organizing it by vintage presented a problem in computational complexity. How could the wine be ordered in the racks by vintage date in the most efficient way when the bottles are unpacked in essentially random order? Moreover, as one drinks the wine and purchases new wine, how does one maintain strict order without periodically moving large numbers of bottles? These are similar to a sorting problem insofar efficiency can be related to minimizing the number of times each bottle moves (wine does not like to be disturbed). According to the space-time tradeoff, if we had much more rack space than bottles, minimizing moves (in this case very closely related to "time”) would be simple: just place bottles in order but far enough apart that it would be unlikely a bottle would have to subsequently be shifted left or right to make room for another to keep them in order. However, we weren't sure there was enough rack space to accommodate the wine inventory, let alone be profligate with space. So an efficient sorting algorithm assuming minimal space was required.

The Moment of Truth

Once we started unpacking, we quickly arrived at a solution: we labelled a few columns by vintage date and placed bottles in the columns according to vintage. Once a vintage column was full and another bottle of that vintage needed space, we found an empty column, labelled it and started filling it (hence, the yellow tags seen in the quarterly report picture). This meant columns of the same vintage were often not next to each other, but that is only a minor inconvenience when looking for wines. With the strategy we employed, it is relatively easy to maintain order into the future: as wine is consumed, we coalesce sparsely populated columns of the same vintage to free up columns that can be re-labelled for later vintages. This solution proves one of Gary's favorite computer maxims: There are few problems that cannot be solved by adding a layer of indirection. (Although a variation of this quote is widely attributed to Steven Bellovin, Gary claims to predate his version by several years.)

To facilitate searches, we hang tags on the bottle necks that identify the winery and varietal so we don't have to start disturbing bottles to find what we want. When the information is available, we also make a notation on the label to indicate what years are likely to be best for consuming the wine. Otherwise, the varietal is often a good indicator of how the wine will age.

One final touch: there is some rack space remaining at the left end. These could be used to expand our collection, but we tend to use it to cache bottles we plan to drink in the near future. In that way, we rarely have to look through the collection for a specific bottle, as long as we periodically review the collection to see what we want to move to the cache area. This brings us to another computer maxim: Almost all programming can be viewed as an exercise in caching – Terje Mathisen.