It is a little surprising that the open dimension and closed dimension for a convex code need not be the same. For example, the code \(\mathcal{C} = \{1, 2, 3, 4, 14, 24, 34, 123\}\) is both open convex and closed convex. The following image shows a closed convex cover in \(\mathbb{R}^2\) with code \(\mathcal{C}\). No realization in \(\mathbb{R}^1\) is possible, so this code has closed dimension \(2\).

This code, however, does not have an open convex realization in \(\mathbb{R}^2\). To see why, we can assume it does and work toward a contradiction. Then there are distinct points in \(U(14)\), \(U(24)\), \(U(34)\), and \(U(123)\). These points can be assumed to be arranged like the ones in the following animation, although not necessarily with the same degree of symmetry. (The argument works even without the symmetry suggested in the animation.)
Click the animation for a larger view.

Since \(U(123)\) is open, there is an open ball around our point which stays entirely within \(U(123)\). By convexity of \(U(1)\), the region in pink is entirely within \(U(1)\), and similarly for the grey region in \(U(2)\) and the blue regions in \(U(3)\). Any overlap of \(U(1)\) with \(U(2)\) must be covered by \(U(3)\), since otherwise \(12\) would be a codeword in \(\mathcal{C}\). Hence, the blue region must extend further down the picture. Similarly, the overlap of \(U(3)\) and \(U(2)\) must be covered by \(U(1)\), since otherwise \(23\) would be a codeword. Hence, the pink region must extend further down the picture. But each extension creates new overlap which must be covered, and so the argument repeats infinitely. In the limit, the pink and blue regions must extend down to the marked point in \(U(24)\).

As \(U(24)\) is open, there is an open ball around the marked point which stays entirely within \(U(24)\). However, this ball must intersect both \(U(1)\) and \(U(3)\), and so \(U(1234)\) is non-empty. This is our contradiction, since \(1234\) is not a codeword in \(\mathcal{C}\). Hence this code has open convex dimension at least \(3\). (It is actually equal to \(3\) since there is an open convex cover with this code.)

This particular code was suggested by Anne Shiu. She and two REU students have generalized the argument above and made it more geometric. Their work can be found in the paper "Obstructions to Convexity in Neural Codes" on the arxiv.