_set_desired_longitude_range does if da.max() > 180 on a lazy reduction, which forces materialization three times (node_lon, edge_lon, face_lon). Re-fires on every Grid construction, so every isel and every copy() pays it again.
Basically, we need the da.max > 180 to be made lazy if we want the Grid constructor to be lazy end-to-end.
_set_desired_longitude_rangedoesif da.max() > 180on a lazy reduction, which forces materialization three times (node_lon, edge_lon, face_lon). Re-fires on everyGridconstruction, so everyiseland everycopy()pays it again.Basically, we need the
da.max > 180to be made lazy if we want theGridconstructor to be lazy end-to-end.