Apache Beam管道,使天气数据易于访问和利用。
项目描述
weather-tools
Apache Beam管道,使天气数据易于访问和利用。
简介
本项目为气候和天气研究人员提供了一系列命令行工具,使常见的数据工程任务更容易完成。这些解决方案源于Alphabet公司内部研究团队重复工作改进的需求。
创建的第一个工具是天气下载器(weather-dl
)。这使得从欧洲中期天气预报中心(ECMWF)获取数据变得更容易。 weather-dl
允许用户非常具体地描述他们想要从ECMWF目录中获取哪些数据。它还提供了对如何并行化请求的控制,使用户能够 高效地检索数据。下载由一个 配置文件 驱动,该文件可以独立于管道或分析代码进行审查(和版本控制)。
我们还提供了两个额外的工具来帮助气候和天气研究人员:天气移动器(weather-mv
)和天气分割器(weather-sp
)。这些CLIs仍处于开发的alpha阶段。然而,它们已被多个合作伙伴团队用于生产工作流程。
我们创建了天气移动器(weather-mv
),用于将云存储中的地理空间数据加载到 Google BigQuery 中。这使得对天气数据进行快速探索性分析和可视化成为可能:从BigQuery,科学家可以通过简单的SQL查询将任意气候数据字段加载到Pandas或XArray数据框中。
天气分割器(weather-sp
)有助于规范化云存储中归档天气数据的存储方式:无论是尝试合并具有重叠变量的两个数据集,还是简单地需要从 XArray 中打开 Grib 数据,将数据集分割成其组成变量都非常有用。
安装
建议您创建一个本地 Python 环境(使用 Anaconda)。否则,您可以使用 pip 安装这些工具。
pip install google-weather-tools
从这里,您可以使用 Python 环境中的 weather-*
工具。目前,以下工具可用:
- ⛈
weather-dl
(beta)- 下载天气数据(例如,从 ECMWF 的 API)。 - ⛅️
weather-mv
(alpha)- 将天气数据加载到 BigQuery。 - 🌪
weather-sp
(alpha)- 按变量分割天气数据。
快速入门
让我们一起下载 Era 5 压力级数据并将其导入 Google BigQuery。
先决条件:
- 从 ECMWF 的 Copernicus(CDS)API 获取并安装许可证。
- 创建一个空的 BigQuery 数据集。这可以在 控制台 或通过
bq
CLI 完成。例如bq mk --project_id=$PROJECT $DATASET_ID
步骤:
-
使用
weather-dl
获取 Era 5 压力级数据。为了简单起见,让我们在您的本地机器上运行所有操作。对于下载器,这意味着我们将使用
--local-run
选项weather-dl configs/era5_example_config_local_run.cfg --local-run
建议:向这些命令中的任何一个传递
-d, --dry-run
标志以预览效果。通常,
weather-dl
设计为将天气数据导入云存储。有关配置下载的说明,请参阅此文档。有关weather-dl
的详细使用方法,请参阅此处。 -
(可选)使用
weather-sp
按变量将下载的数据集分割开来weather-sp --input-pattern "./local_run/era5-*.nc" --output-dir "split_data"
有关更多信息,请参阅
weather-sp
文档。 -
使用
weather-mv
将此数据上传到 Google BigQuery。weather-mv --uris "./local_run/**.nc" \ # or --uris "./split_data/**.nc" \ --output_table "$PROJECT.$DATASET_ID.$TABLE_ID" \ --temp_location "gs://$BUCKET/tmp" \ # Needed for batch writes to BigQuery --direct_num_workers 2
有关此工具的更多信息,请参阅 这些文档。
就是这样!很快,您将在 BigQuery 中准备好分析天气数据。
注意:这些 CLI 的确切接口可能会更改。例如,我们计划使 CLI 具有更一致的参数(#21)。
贡献
天气工具处于积极开发中,欢迎贡献!请查看我们的 指南 以开始。
许可证
这不是官方的 Google 产品。
Copyright 2021 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://apache.ac.cn/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
项目详情
下载文件
下载适合您平台的自定义文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
哈希 信息 for google_weather_tools-0.3.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fc3d92da2af03c9c1dc75ee31bcd3d65444433d305840675f8f46b4ed38d1fcb |
|
MD5 | 15c0d951beee71240ae939fb2ec9feb3 |
|
BLAKE2b-256 | c36f4926ca808a6c1759da7c6928cf39b7ce1ae13309f58d9d548b749482ace6 |