如何存储通过Siphon与NCSS服务获取的数据集
使用Siphon从NCSS获取NetCDF子集并保存到本地的便捷方法
当然有更省事的办法,不用费劲手动创建Dataset再复制内容。Siphon通过NCSS拿到的响应本身就是完整的NetCDF二进制数据,直接写入本地文件就行,步骤超简单:
先构建NCSS请求并获取响应(示例代码):
from siphon.ncss import NCSS # 连接目标NCSS服务 ncss = NCSS('http://your-ncss-server-url/thredds/ncss/grid/your-dataset') # 配置查询条件:时间范围、变量、空间范围等 query = ncss.query() query.time_range('2024-01-01T00:00:00', '2024-01-01T12:00:00') query.variables('temperature', 'relative_humidity') query.lonlat_box(north=45, south=35, east=-85, west=-95) query.accept('netcdf') # 指定返回NetCDF格式 # 发送请求获取响应 response = ncss.get_response(query)直接把响应内容写入本地
.nc文件:with open('local_subset.nc', 'wb') as f: f.write(response.content)
搞定!这样生成的本地文件可以直接用xarray、netCDF4等库读取,完全不需要手动处理Dataset的创建和数据复制。
内容的提问来源于stack exchange,提问作者gdros
相关产品推荐
相关产品推荐

