Segmentation (iterating through the cell-columns in 1D segments) is beneficial in multiple places of LFRic_atm. At the moment this optimisation is encoded in the science code (by passing the whole domain in the kernel and choosing the segmented iteration patten there, or by creating a psykal-lite that does the same). However, since it is an optimisation, it would make sense to do in psyclone - in the psykal layer.
We already have a couple of ways to change the loop iteration order, e.g. ChunkLoopTrans or the ColourTiling. We need to explore how these differ from the manually implemented Segmentation and also understand if Segment buffers are created.