Извлечение трехмерной координаты в свой куб - PullRequest
0 голосов
/ 28 ноября 2018

Я загрузил некоторые данные в гибридную сетку p с радужной оболочкой, которая выглядит следующим образом:

specific_humidity / (1)             (atmosphere_hybrid_sigma_pressure_coordinate: 48; latitude: 160; longitude: 320)
     Dimension coordinates:
          atmosphere_hybrid_sigma_pressure_coordinate                           x             -               -
          latitude                                                              -             x               -
          longitude                                                             -             -               x
     Auxiliary coordinates:
          vertical coordinate formula term: a(k)                                x             -               -
          vertical coordinate formula term: b(k)                                x             -               -
          vertical pressure                                                     x             -               -
          surface_air_pressure                                                  -             x               x
     Derived coordinates:
          air_pressure                                                          x             x               x
     Scalar coordinates:
          time: 2005-11-01 00:00:00
          vertical coordinate formula term: reference pressure: 101325.0 Pa
     Attributes:
          Conventions: CF-1.4

Я хочу превратить координату давления в куб для использования в вычислениях.Я могу сделать это с помощью следующего кода:

p_cube=humid.copy(humid.coord('air_pressure').points)
p_cube.rename('air_pressure')
p_cube.units=humd_1t.coord('air_pressure').units

Но есть ли более аккуратный способ?

1 Ответ

0 голосов
/ 12 декабря 2018

Хороший вопрос, на который я не думаю, что есть лучшее решение, которое вы уже предоставили.

С точки зрения дизайна, координаты Iris не совсем кубы (с такими вещами, каких собственные координаты, клеточные измерения и методы и т. д.).Похоже, что на самом деле для того, чтобы сделать это правильно, Iris нужно было бы получить концепцию набора данных (где несколько явлений имеют общий набор координат).

Единственный немного более аккуратный подход (не проверенный)сделать:

p_cube=humid.copy(humid.coord('air_pressure').points)
p_cube.metadata = humid.coord('air_pressure').metadata

Хотя я не уверен на 100%, допустимо ли указывать объект CoordMetadata при определении метаданных куба.

HTH

...