Ocean circulation, ice shelf, and sea ice interactions explain Dansgaard–Oeschger cycles