повторная сетка не удалась в радужной оболочке из-за несоответствия системы координат

Я хочу просто переназначить значения широты и долготы одного набора данных на другое, и это не удается с ошибкой несоответствия координат. Есть ли у кого-нибудь советы по исправлению этого?

Я поместил код и описание куба в конец.

Спасибо!

>>> esm_height = iris.load_cube('model_data/u-bl658/height.nc')
>>> ncepncar_clusters = iris.load('ncepncar/clusters.nc')
>>> foo = esm_height[0].regrid(ncepncar_clusters[0], iris.analysis.Linear())

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-40-c90265ebff43> in <module>
----> 1 foo = esm_height[0].regrid(ncepncar_clusters[0], iris.analysis.Linear())

/nesi/nobackup/niwa00013/williamsjh/miniconda3/envs/kidson2/lib/python3.8/site-packages/iris/cube.py in regrid(self, grid, scheme)
   3802         """
   3803         regridder = scheme.regridder(self, grid)
-> 3804         return regridder(self)
   3805 
   3806 

/nesi/nobackup/niwa00013/williamsjh/miniconda3/envs/kidson2/lib/python3.8/site-packages/iris/analysis/_regrid.py in __call__(self, src)
    943                                  "matching coordinate metadata.")
    944         elif src_cs is None or grid_cs is None:
--> 945             raise ValueError("The rectilinear grid coordinates of the given "
    946                              "cube and target grid must either both have "
    947                              "coordinate systems or both have no coordinate "

ValueError: The rectilinear grid coordinates of the given cube and target grid must either both have coordinate systems or both have no coordinate system but with matching coordinate metadata.

куб для повторной сетки куб с целевой сеткой


person jonnyhtw    schedule 30.06.2020    source источник


Ответы (1)


ОК, с некоторой помощью, я исправил это сейчас!

Это было связано с тем, что системы координат для исходного и целевого кубов не были одинаковыми.

Это устраняет проблему...


nzesm_height[0].coord(axis='x').coord_system
GeogCS(6371229.0)

nzesm_height[0].coord(axis='y').coord_system
GeogCS(6371229.0)

ncepncar_clusters[0].coord(axis='x').coord_system = esm_height[0].coord(axis='x').coord_system

ncepncar_clusters[0].coord(axis='y').coord_system = esm_height[0].coord(axis='y').coord_system

foo = nzesm_height[0].regrid(ncepncar_clusters[0], iris.analysis.Linear())

Надеюсь, это поможет другим!

person jonnyhtw    schedule 01.07.2020