A 100m3 (100,000 litres or 26,500 gallons) cylindrical water tank (approx 5x5m) buried and insulated with 50cm of XPS could provide around 4000kWh of deliverable heat throughout winter. Which would be more than enough for heating and domestic hot water for my house.
In the summer you'd use solar thermal to charge it to 85c. In the winter you'd run water through underfloor heating and discharge it to 35c (so you just need a mixer valve and pump).
The structural engineering part of it isn't actually that complicated (with a garden on top, not a house). You can buy plastic water tanks of that size, it just needs to be buried and have XPS foam placed around it.
Because it's volume, it scales up well. An extra one meter in each direction would increase the volume by around 60%, but you have a lower overall heat loss, so the heat capacity would more than double.
The important part of it is the XPS foam though, without this the loses are too great and you don't retain any heat. This is why insulating your foundation and slab is so effective.
• The centigrade is capitalized when used after a number. There is also a singular glyph for the entire degree-centigrade convention: ℃.
• There are also superscript numerical characters to use with volumes, without having to use formatting: m³.
UTF-8 is fun! As is automatic text replacement, once you have the appropriate triggers set up.See page 758 of the Chapter 22 for the Unicode 9.0 standard: