0

我正在尝试使用来自 THREDDS 数据服务器的数据绘制最新的 HRRR 表面温度。

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

不完全确定我在这里做错了什么。帮助将不胜感激!

4

1 回答 1

1

我认为实际上并没有问题。如果我运行你的代码,我会看到你看到的:

[[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)

给了我一些看似合理的东西:

数据图像图

注意顶部和底部的白色缺失数据块。

于 2019-09-20T17:00:38.033 回答