Сифон NCSS возвращает значения нан - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь построить последнюю температуру поверхности HRRR с данными с сервера данных THREDDS.

cat = TDSCatalog('https://thredds-test.unidata.ucar.edu/thredds/catalog/'
                 'grib/NCEP/HRRR/CONUS_2p5km/latest.xml')
dataset = cat.datasets[0]
ncss = dataset.subset()

sfctemp = ncss.query()
sfctemp.variables('Temperature_height_above_ground')
sfctemp.vertical_level(2.0)
sfctemp.add_lonlat().lonlat_box(north=55, south=20, east=281, west=230)
sfctemp.time(now)
sfctemp_data = ncss.get_data(sfctemp)

Это прекрасно работает, однако, когда я беру и печатаю фактические значения данных из:

sfctemp_vars = units.K * sfctemp_data.variables['Temperature_height_above_ground'][:].squeeze()

Возвращает:

[[nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] ... [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan]] kelvin

Не совсем уверенчто я тут делаю не такПомощь будет принята с благодарностью!

1 Ответ

1 голос
/ 20 сентября 2019

Я не думаю, что на самом деле происходит проблема.Если я запускаю ваш код, я вижу то, что вы видите:

[[nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] ... [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan]] kelvin

Это просто пропущенные значения, когда сетка имеет неопределенные / пропущенные значения по краям домена.Если я запускаю:

import numpy as np
np.nanmax(sfctemp_vars)

Я получаю:

308.1873

Быстрый сюжет с:

import matplotlib.pyplot as plt
plt.imshow(sfctemp_vars)

дает мне что-то, что кажется разумным:

Data image plot

Обратите внимание на участки с пропущенными белыми данными сверху и снизу.

...