mpcalc.advection dim_order в примере и пропущенные значения

#metpy

#metpy

Вопрос:

на веб-странице metpy они, например, указаны для адвекции температуры 850 ГПа следующим образом:

 adv = mpcalc.advection(temp_850 * units.kelvin, [u_wind_850, v_wind_850],
                   (dx, dy), dim_order='yx') * units('K/sec')
 

Но на основе документации, в которой говорится:

 The order of the dimensions of the arrays must match the order in which
the wind components are given.  For example, if the winds are given [u, v],
then the scalar and wind arrays must be indexed as x,y (which puts x as the
rows, not columns).
 

Мне кажется, что dim_order в примере должен быть xy, а не yx? поскольку мы даем u, затем v, а dx затем dy, а не наоборот?

Я также обнаружил, что даже если мое поле температуры ввода имеет пропущенные значения в некоторых точках сетки, metpy каким-то образом все равно возвращает значения адвекции в этих точках, а не пропущенное значение. Как это возможно?

Ответ №1:

Что касается отсутствующих значений, я нашел проблему. При применении сглаживания в соответствии с примером это заполняет те места, где у нас есть пропущенные значения. Выходные данные advection до сглаживания имеют пропущенные значения, в которых отсутствуют входные значения температуры и ветра. Это сглаживание, которое, кажется, интерполирует там, где у нас отсутствуют данные.

Но я все еще смущен dim_order, хотя