google-deepmind / graphcast

Apache License 2.0
4.37k stars 538 forks source link

Division of grid points #10

Closed Sardingfish closed 7 months ago

Sardingfish commented 9 months ago

Grid points with 1-degree resolution are recommended to start at 89.5 degrees, because any longitude of 90N and 90S is the same point, i.e., the South Pole and the North Pole.

mjwillson commented 7 months ago

Thanks, yes we are aware of this -- the reason we use grid points at the poles is that data downloaded from ECMWF's CDS API on equiangular grids is regridded in this way.

I believe the values at different longitudes for +/- 90deg latitude are not always equal in these ECMWF datasets, the best way we can find to think about these values are as corresponding to special-case triangular grid cells in the sense described in https://github.com/google-deepmind/graphcast/blob/main/graphcast/losses.py#L120 , although would welcome clarification from ECMWF. Note we take some care to use appropriate grid cell areas in our weighting for these special-case grid cells at the poles as outlined in the code linked above.

Our code should support using data on an equiangular grid that uses the more conventional latitude spacing too. The model weights we released were trained using data on the equiangular_with_poles grid. They may generalise to some extent to work with inputs on the standard equiangular grid but this isn't something we've investigated.