AVISO LEGAL Este projeto é BETA e será experimental em um futuro próximo. As interfaces e funcionalidades provavelmente mudarão e o projeto em si poderá ser descartado. NÃO use este software em nenhum projeto/software que esteja operacional.
O comando ai-models
é usado para executar modelos de previsão meteorológica baseados em IA. Esses modelos precisam ser instalados de forma independente.
Embora o código-fonte ai-models
e seus plug-ins estejam disponíveis sob licenças de código aberto, alguns pesos de modelo podem estar disponíveis sob uma licença diferente. Por exemplo, alguns modelos disponibilizam os seus pesos sob a licença CC-BY-NC-SA 4.0, que não permite a utilização comercial. Para mais informações, verifique a licença associada a cada modelo na página inicial principal, que vinculamos a cada um dos plugins correspondentes.
Antes de usar o comando ai-models
, certifique-se de ter os seguintes pré-requisitos:
Para instalar o comando ai-models
, execute o seguinte comando:
pip install ai-models
Atualmente, quatro modelos podem ser instalados:
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
Consulte ai-models-panguweather, ai-models-fourcastnet, ai-models-fourcastnetv2 e ai-models-graphcast para obter mais detalhes sobre esses modelos.
Para executar o modelo, certifique-se de que ele esteja instalado e simplesmente execute:
ai-models < model-name >
Substitua <model-name>
pelo nome do modelo de IA específico que você deseja executar.
Por padrão, o modelo será executado por um prazo de entrega de 10 dias (240 horas), usando a análise 12Z de ontem do arquivo MARS do ECMWF.
Para produzir uma previsão de 15 dias, use a opção --lead-time HOURS
:
ai-models --lead-time 360 < model-name >
Você pode alterar os outros padrões usando as opções de linha de comando disponíveis, conforme descrito abaixo.
Os modelos de IA podem ser executados em uma CPU; no entanto, eles têm um desempenho significativamente melhor em uma GPU. Uma previsão de 10 dias pode levar várias horas em uma CPU, mas apenas cerca de um minuto em uma GPU moderna.
Se você vir a seguinte mensagem ao executar um modelo, significa que o tempo de execução ONNX não foi capaz de encontrar as bibliotecas CUDA em seu sistema:
[W:onnxruntime:Default, onnxruntime_pybind_state.cc:541 CreateExecutionProviderInstance] Falha ao criar CUDAExecutionProvider. Consulte https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements para garantir que todas as dependências sejam atendidas.
Para corrigir esse problema, sugerimos que você instale ai-models
em um ambiente conda e instale as bibliotecas CUDA nesse ambiente. Por exemplo:
conda create -n ai-models python=3.10
conda activate ai-models
conda install cudatoolkit
pip install ai-models
...
Os modelos de IA dependem de pesos e outros ativos criados durante o treinamento. Na primeira vez que você executar um modelo, será necessário fazer download dos pesos treinados e de quaisquer ativos adicionais necessários.
Para fazer download dos ativos antes de executar um modelo, use o seguinte comando:
ai-models --download-assets < model-name >
Os ativos serão baixados, se necessário, e armazenados no diretório atual. Você pode fornecer um diretório diferente para armazenar os ativos:
ai-models --download-assets --assets < some-directory > < model-name >
Então, mais tarde, basta usar:
ai-models --assets < some-directory > < model-name >
ou
export AI_MODELS_ASSETS= < some-directory >
ai-models < model-name >
Para melhor organização do diretório de ativos, você pode usar a opção --assets-sub-directory
. Esta opção armazenará os ativos de cada modelo em seu próprio subdiretório dentro do diretório de ativos especificado.
Os modelos requerem dados de entrada (condições iniciais) para serem executados. Você pode fornecer os dados de entrada usando diferentes fontes, conforme descrito abaixo:
Por padrão, ai-models
usam a análise 12Z de ontem do ECMWF, obtida do arquivo MARS do Centro usando o ECMWF WebAPI. Você precisará de uma conta ECMWF para acessar esse serviço.
Para alterar a data ou hora, use as opções --date
e --time
, respectivamente:
ai-models --date YYYYMMDD --time HHMM < model-name >
Pode iniciar os modelos utilizando dados ERA5 (Reanálise ECMWF versão 5) para o Copernicus Climate Data Store (CDS). Você precisará criar uma conta no CDS. Os dados serão baixados usando a API CDS.
Para acessar o CDS, basta adicionar --input cds
na linha de comando. Observe que os dados ERA5 são adicionados ao CDS com atraso, portanto, você também terá que fornecer uma data com --date YYYYMMDD
.
ai-models --input cds --date 20230110 --time 0000 < model-name >
Se você tiver dados de entrada no formato GRIB, poderá fornecer o arquivo usando a opção --file
:
ai-models --file < some-grib-file > < model-name >
O arquivo GRIB pode conter mais campos do que os exigidos pelo modelo. O comando ai-models
selecionará automaticamente os campos necessários do arquivo.
Para descobrir a lista de campos necessários para um modelo específico como condições iniciais, use o seguinte comando:
ai-models --fields < model-name >
Por padrão, a saída do modelo será escrita no formato GRIB em um arquivo chamado <model-name>.grib
. Você pode alterar o nome do arquivo com a opção --path <file-name>
. Se o caminho especificado contiver espaços reservados entre {
e }
, vários arquivos serão criados com base nas chaves eccodes. Por exemplo:
ai-models --path ' out-{step}.grib ' < model-name >
Este comando criará um arquivo para cada intervalo de tempo previsto.
Se você deseja desabilitar a gravação da saída em um arquivo, use a opção --output none
.
Possui as seguintes opções:
--help
: exibe esta mensagem de ajuda.--models
: lista todos os modelos instalados.--debug
: ativa o modo de depuração. Isso imprimirá informações adicionais no console. --input INPUT
: A fonte de entrada para o modelo. Pode ser um mars
, cds
ou file
.
--file FILE
: O arquivo específico a ser usado como entrada. Esta opção definirá --source
como file
.
--date DATE
: A data de análise do modelo. O padrão é ontem.
--time TIME
: O tempo de análise do modelo. O padrão é 1200.
--output OUTPUT
: O destino de saída do modelo. Os valores são file
ou none
.--path PATH
: O caminho para escrever a saída do modelo.--lead-time HOURS
: O número de horas a serem previstas. O padrão é 240 (10 dias).--assets ASSETS
: especifica o caminho para o diretório que contém os ativos do modelo. O padrão é o diretório atual, mas você pode substituí-lo definindo a variável de ambiente $AI_MODELS_ASSETS
.--assets-sub-directory
: permite organizar ativos em subdiretórios <assets-directory>/<model-name>
.--download-assets
: baixa os ativos se eles não existirem.--fields
: Imprime a lista de campos necessários para um modelo como condições iniciais.--expver EXPVER
: A versão experimental da saída do modelo.--class CLASS
: Os metadados de 'classe' da saída do modelo.--metadata KEY=VALUE
: metadados adicionais na saída do modelo 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.