1

背景

我正在尝试通过 xarray 和 OPeNDAP 下载 GFS 天气数据 netcdf4 文件。非常感谢Vorticity0123之前的帖子,这使我能够对 python 脚本的骨骼进行排序(如下所示)。

问题

问题是,GFS 数据集有 195 个数据变量,但我不需要大多数,我只需要其中的 10 个。

  • ugrd100m, vgrd100m, dswrfsfc, tcdcclm, tcdcblcll, tcdclcll, tcdcmcll, tcdchcll, tmp2m, gustsfc

请求帮助

我已经浏览了 xarray readthedocs 页面和其他地方,但我无法找到一种方法将我的数据集缩小到只有十个数据变量。有谁知道如何缩小数据集中的变量列表?

蟒蛇脚本

import numpy as np
import xarray as xr

# File Details
dt = '20201124'
res = 25
step = '1hr'
run = '{:02}'.format(18)

# URL
URL = f'http://nomads.ncep.noaa.gov:80/dods/gfs_0p{res}_{step}/gfs{dt}/gfs_0p{res}_{step}_{run}z'

# Load data
dataset = xr.open_dataset(URL)
time = dataset.variables['time']
lat = dataset.variables['lat'][:]
lon = dataset.variables['lon'][:]
lev = dataset.variables['lev'][:]

# Narrow Down Selection
time_toplot = time
lat_toplot = np.arange(-43, -17, 0.5)
lon_toplot = np.arange(135, 152, 0.5)
lev_toplot = np.array([1000])

# Select required data via xarray
dataset = dataset.sel(time=time_toplot, lon=lon_toplot, lat=lat_toplot)
print(dataset)
4

1 回答 1

5

您可以使用 xarray 的类似 dict 的语法。

variables = [
    'ugrd100m',
    'vgrd100m',
    'dswrfsfc',
    'tcdcclm',
    'tcdcblcll',
    'tcdclcll',
    'tcdcmcll',
    'tcdchcll',
    'tmp2m',
    'gustsfc'
]


dataset[variables]

给你:

<xarray.Dataset>
Dimensions:    (lat: 721, lon: 1440, time: 121)
Coordinates:
  * time       (time) datetime64[ns] 2020-11-24T18:00:00 ... 2020-11-29T18:00:00
  * lat        (lat) float64 -90.0 -89.75 -89.5 -89.25 ... 89.25 89.5 89.75 90.0
  * lon        (lon) float64 0.0 0.25 0.5 0.75 1.0 ... 359.0 359.2 359.5 359.8
Data variables:
    ugrd100m   (time, lat, lon) float32 ...
    vgrd100m   (time, lat, lon) float32 ...
    dswrfsfc   (time, lat, lon) float32 ...
    tcdcclm    (time, lat, lon) float32 ...
    tcdcblcll  (time, lat, lon) float32 ...
    tcdclcll   (time, lat, lon) float32 ...
    tcdcmcll   (time, lat, lon) float32 ...
    tcdchcll   (time, lat, lon) float32 ...
    tmp2m      (time, lat, lon) float32 ...
    gustsfc    (time, lat, lon) float32 ...
Attributes:
    title:        GFS 0.25 deg starting from 18Z24nov2020, downloaded Nov 24 ...
    Conventions:  COARDS\nGrADS
    dataType:     Grid
    history:      Sat Nov 28 05:52:44 GMT 2020 : imported by GrADS Data Serve...
于 2020-11-28T12:46:43.543 回答