标签: opendap

如何从 xarray 数据集中选择特定数据变量

背景

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

问题

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

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

请求帮助

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

Python脚本

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 = …
Run Code Online (Sandbox Code Playgroud)

python opendap python-xarray

8
推荐指数
1
解决办法
1万
查看次数

简单,可编写脚本的方式来对非结构化THREDDS数据进行子采样?

我正在尝试从THREDDS提供的三角形网格模型中获取数据的子集.我希望能够指定一个LAT/LON边界框,并从该框中获取数据.数据网址是:

http://www.smast.umassd.edu:8080/thredds/dodsC/FVCOM/NECOFS/Forecasts/NECOFS_MET_FORECAST.nc

使用网格化数据,可以很容易地从THREDDS服务器对数据进行子集化.有谁知道最好的方法是获得由THREDDS服务的三角形网格的子域?

对于网格数据,我使用Ferret作为我的OPeNDAP客户端,我可以编写下载过程的脚本.虽然我可以使用Matlab,Python或其他工具,但我想在这里做类似的事情.

谢谢,

史蒂夫

python matlab thredds opendap

5
推荐指数
1
解决办法
643
查看次数

xarray 波周期(以秒为单位)摄取为 timedelta64

测量海浪周期的变量的“单位”属性以“秒”为单位。这不是日期时间字段,但 xarray 会自动将此变量提取为 timedelta64。由于单位不是“自...以来的秒数”,我认为 xarray 应该将其视为普通的 float32 数据数组,但显然并非如此。有没有办法让我告诉 xarray 将波浪周期变量作为 float32 摄取,或者在摄取后将它们从 timedelta64 转换回原始值?我仍然希望它将“时间”变量转换为 timedelta64,所以我不想关闭整个数据集的翻译,而只是针对特定变量(Tper、sper、wper)。

以下是我在 TDS 服务器中的波浪预测中使用的基本 OPeNDAP URL:

http://oos.soest.hawaii.edu/thredds/dodsC/hioos/model/wav/ww3/hawaii/WaveWatch_III_Hawaii_Regional_Wave_Model_best.ncd

建议?谢谢!

您可以使用此处的 OPeNDAP 页面查看类似“ncdump”的输出:

http://oos.soest.hawaii.edu/thredds/dodsC/hioos/model/wav/ww3/hawaii/WaveWatch_III_Hawaii_Regional_Wave_Model_best.ncd.html

或者您可以在 OPeNDAP URL 上运行 ncdump,如下所示:

ncdump -h http://oos.soest.hawaii.edu/thredds/dodsC/hioos/model/wav/ww3/hawaii/WaveWatch_III_Hawaii_Regional_Wave_Model_best.ncd

结果如下:

netcdf WaveWatch_III_Hawaii_Regional_Wave_Model_best {
dimensions:
        lat = 101 ;
        lon = 141 ;
        time = 54453 ;
        z = 1 ;
variables:
        float lon(lon) ;
                lon:units = "degrees_east" ;
                lon:long_name = "longitude" ;
                lon:standard_name = "longitude" ;
                lon:short_name = "lon" ;
                lon:axis = "x" ;
                lon:_CoordinateAxisType …
Run Code Online (Sandbox Code Playgroud)

python netcdf opendap python-xarray

4
推荐指数
1
解决办法
893
查看次数

标签 统计

opendap ×3

python ×3

python-xarray ×2

matlab ×1

netcdf ×1

thredds ×1