免责声明该项目是测试版,并且将在可预见的未来进行实验。界面和功能可能会发生变化,项目本身可能会被废弃。请勿在任何可运行的项目/软件中使用此软件。
ai-models
命令用于运行基于 AI 的天气预报模型。这些模型需要独立安装。
尽管源代码ai-models
及其插件可在开源许可证下使用,但某些模型权重可能在不同的许可证下可用。例如,某些模型在 CC-BY-NC-SA 4.0 许可证下提供其权重,该许可证不允许商业用途。有关更多信息,请在其主页上检查与每个模型相关的许可证,我们从每个相应的插件链接到该许可证。
在使用ai-models
命令之前,请确保您满足以下先决条件:
要安装ai-models
命令,请运行以下命令:
pip install ai-models
目前可以安装四种型号:
pip install ai-models-panguweather
pip install ai-models-fourcastnet
pip install ai-models-graphcast # Install details at https://github.com/ecmwf-lab/ai-models-graphcast
pip install ai-models-fourcastnetv2
有关这些模型的更多详细信息,请参阅 ai-models-panguweather、ai-models-fourcastnet、ai-models-fourcastnetv2 和 ai-models-graphcast。
要运行模型,请确保它已安装,然后只需运行:
ai-models < model-name >
将<model-name>
替换为您要运行的特定 AI 模型的名称。
默认情况下,该模型将使用 ECMWF 的 MARS 存档中昨天的 12Z 分析运行 10 天(240 小时)。
要生成 15 天的预测,请使用--lead-time HOURS
选项:
ai-models --lead-time 360 < model-name >
您可以使用可用的命令行选项更改其他默认值,如下所述。
AI模型可以在CPU上运行;然而,它们在 GPU 上的性能要好得多。 10 天的预测在 CPU 上可能需要几个小时,但在现代 GPU 上只需要大约一分钟。
如果您在运行模型时看到以下消息,则意味着 ONNX 运行时无法在您的系统上找到 CUDA 库:
[W:onnxruntime:默认,onnxruntime_pybind_state.cc:541 CreateExecutionProviderInstance] 无法创建 CUDAExecutionProvider。请参考 https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements 以确保满足所有依赖项。
要解决此问题,我们建议您在 conda 环境中安装ai-models
并在该环境中安装 CUDA 库。例如:
conda create -n ai-models python=3.10
conda activate ai-models
conda install cudatoolkit
pip install ai-models
...
人工智能模型依赖于训练期间创建的权重和其他资产。第一次运行模型时,您将需要下载经过训练的权重和任何其他所需的资产。
要在运行模型之前下载资产,请使用以下命令:
ai-models --download-assets < model-name >
如果需要,将下载资产并将其存储在当前目录中。您可以提供不同的目录来存储资产:
ai-models --download-assets --assets < some-directory > < model-name >
然后,稍后,只需使用:
ai-models --assets < some-directory > < model-name >
或者
export AI_MODELS_ASSETS= < some-directory >
ai-models < model-name >
为了更好地组织资产目录,您可以使用--assets-sub-directory
选项。此选项会将每个模型的资产存储在指定资产目录内其自己的子目录中。
这些模型需要输入数据(初始条件)才能运行。您可以使用不同的来源提供输入数据,如下所述:
默认情况下, ai-models
使用昨天来自 ECMWF 的 12Z 分析,该分析是使用 ECMWF WebAPI 从中心的 MARS 档案中获取的。您将需要一个 ECMWF 帐户才能访问该服务。
要更改日期或时间,请分别使用--date
和--time
选项:
ai-models --date YYYYMMDD --time HHMM < model-name >
您可以使用哥白尼气候数据存储 (CDS) 的 ERA5(ECMWF 再分析版本 5)数据启动模型。您需要在 CDS 上创建一个帐户。数据将使用 CDS API 下载。
要访问 CDS,只需在命令行上添加--input cds
即可。请注意,ERA5 数据会延迟添加到 CDS,因此您还必须使用--date YYYYMMDD
提供日期。
ai-models --input cds --date 20230110 --time 0000 < model-name >
如果您有 GRIB 格式的输入数据,则可以使用--file
选项提供该文件:
ai-models --file < some-grib-file > < model-name >
GRIB 文件可以包含比模型所需的字段更多的字段。 ai-models
命令将自动从文件中选择必要的字段。
要查找特定模型作为初始条件所需的字段列表,请使用以下命令:
ai-models --fields < model-name >
默认情况下,模型输出将以 GRIB 格式写入名为<model-name>.grib
的文件中。您可以使用选项--path <file-name>
更改文件名。如果您指定的路径包含{
和}
之间的占位符,则会根据 eccodes 键创建多个文件。例如:
ai-models --path ' out-{step}.grib ' < model-name >
此命令将为每个预测时间步创建一个文件。
如果要禁止将输出写入文件,请使用--output none
选项。
它有以下选项:
--help
:显示此帮助消息。--models
:列出所有已安装的型号。--debug
:打开调试模式。这会将附加信息打印到控制台。--input INPUT
:模型的输入源。这可以是mars
、 cds
或file
。
--file FILE
:用作输入的特定文件。此选项将--source
设置为file
。
--date DATE
:模型的分析日期。这默认为昨天。
--time TIME
:模型的分析时间。默认为 1200。
--output OUTPUT
:模型的输出目标。值为file
或none
。--path PATH
:写入模型输出的路径。--lead-time HOURS
:预测的小时数。默认值为 240(10 天)。--assets ASSETS
:指定包含模型资产的目录的路径。默认为当前目录,但您可以通过设置$AI_MODELS_ASSETS
环境变量来覆盖它。--assets-sub-directory
:允许在<assets-directory>/<model-name>
子目录中组织资产。--download-assets
:如果资源不存在,则下载资源。--fields
:打印模型所需的字段列表作为初始条件。--expver EXPVER
:模型输出的实验版本。--class CLASS
:模型输出的“类”元数据。--metadata KEY=VALUE
:模型输出中的附加元数据元数据 Copyright 2022, European Centre for Medium Range Weather Forecasts.
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
http://www.apache.org/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.
In applying this licence, ECMWF does not waive the privileges and immunities
granted to it by virtue of its status as an intergovernmental organisation
nor does it submit to any jurisdiction.