Можно ли создать ограничение диафрагмы на основе cell_methods?

Это только что пришло, у меня есть ответ, но я хотел поделиться им здесь...

«Можно ли создать ограничение диафрагмы на основе cell_methods?»

У меня есть файл данных, который загружает много кубов.
Я хотел бы извлечь только те, которые содержат разброс ансамбля, который я могу определить по их методам ячеек, которые установлены на:
(CellMethod(method=u'standard_deviation', coord_names=(u'realization',), intervals=(), comments=()),)

Есть ли способ отфильтровать нагрузку, чтобы я читал только нужные данные «распространения ансамбля»?


person pp-mo    schedule 18.07.2017    source источник


Ответы (1)


Для этого вам нужно будет использовать подход «cube_func».
http://scitools.org.uk/iris/docs/latest/iris/iris.html?highlight=constraint#iris.Constraint

Так, что-то очень примерно похожее...

def cube_is_mean(cube):
   return any(cm.method == 'mean' for cm in cube.cell_methods)

means_constraint = iris.Constraint(cube_func=cube_is_mean)
person pp-mo    schedule 18.07.2017