SciTools/iris

Adopt pyproj.CRS

bjlittle opened this issue · 3 comments

✨ Feature Request

pyproj has advanced hugely recently and in directions that completely favour iris with regards to CRS support and particularly CF awareness, see Managing CRS to and from CF.

This pyproj capability is central to geovista projection support.

We should adopt pyproj as a replacement to our stale and aging iris.coord_systems implementation, which is simply accruing technical debt as time passes.

Up-vote this issue if you want to see this happen 😉

We'll need to consider this carefully in order not to introduce breaking changes (if possible), but we can consider our options once we have a quorum of agreement that this is a sound approach to adopt.

Having looked into this a bit, I think the biggest current blocker is that producing a Cartopy CRS or Projection from a pyproj CRS isn't straightforward - the only route to e.g. create a ccrs.PlateCarree is to go via a proj4 string (and through ccrs.Globe), which is potentially lossy and loses a lot of the benefits of having a pyproj CRS sat under the hood. Is it worth advocating to Cartopy about alternative methods for building their classes that support more up-to-date proj features?

Discussed in peloton, consensus was that this will need an owner to bring this forward.