- SCRIP stores one (lon, lat) per face-corner, so the corner table is n_face × n_corners rows. - `_to_ugrid` dedups it with Polars, which needs the whole table resident: 53.6 GiB of float64 for a 300M-element np4 grid, before the join copy. - The reader never dispatches on `chunks=`, so large SCRIP files OOM no matter how they're opened. - This blocks the 63 GB CONUS-RRM np4 grid served through the [uxarray-mcp-server](https://github.com/UXARRAY/uxarray-mcp-server), which already passes `chunks="auto"` and still OOMs on the worker.
_to_ugriddedups it with Polars, which needs the whole table resident: 53.6 GiB of float64 for a 300M-element np4 grid, before the join copy.chunks=, so large SCRIP files OOM no matter how they're opened.chunks="auto"and still OOMs on the worker.