Plants are grown in adjacent rows of trays that are rotated within a pool of a nutrient solution. The roots of the plants are at least partly immersed in the nutrient solution. Each row includes a gap wide enough to receive a single tray from an adjacent row. Using three rows, the plants are planted only in one of the rows, and later the rotation is used to space the planted trays one tray apart. Each tray is a parallelepipedal block with apertures for supporting respective plants. The long sides of the blocks have protrusions for preventing adhesion of the blocks. Airlift pumping circulates the nutrient solution past the roots and maintains at least 80% dissolved oxygen saturation in the nutrient solution. A screen of parallel inflatable tubes provides adjustable shade above the pool.