Pular para o conteúdo
Skillpedia
Coleta de dados (scraping)48 mil · #4532

weather-model-data-fetching

Faz seu agente buscar dados de previsão do tempo em arquivos públicos. Ele usa métodos eficientes para obter as informações necessárias.

O que ela faz

Esta ferramenta baixa dados de previsão do tempo de modelos meteorológicos complexos. Ela faz isso de forma eficiente, pegando apenas as partes necessárias dos arquivos, em vez de baixar tudo.

Quando usar

  • ✓Quando você precisa de dados específicos de modelos como GFS ou HRRR.
  • ✓Se você está baixando dados de previsão que são muito grandes para serem manuseados de uma vez.
  • ✓Quando um download anterior falhou, foi interrompido ou está muito lento.

Exemplo do que pedir para a IA

“Baixe os dados de pressão do modelo HRRR para 12 de abril de 2023, às 00Z, para a hora de previsão +3.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/weather-model-data-fetching/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/weather-model-data-fetching/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta primeiro verifica quais dados são necessários e onde encontrá-los. Em seguida, ela solicita apenas essas partes específicas dos arquivos de dados, usando um sistema de 'endereçamento' para garantir que apenas o necessário seja baixado e armazenado.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill weather-model-data-fetching

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/weather-model-data-fetching/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Busca de Dados de Modelos Meteorológicos

Visão Geral

Busque dados de previsão numérica do tempo sem tratar um arquivo GRIB2 de múltiplos gigabytes como um download indivisível. Prefira um adaptador de projeto existente ou Herbie; use intervalos de bytes diretos do object-store apenas quando o caminho suportado não puder expressar a solicitação.

Esta habilidade abrange transporte, seleção de inventário, cache e verificação. Ela não interpreta a previsão nem decide se um modelo é meteorologicamente apropriado.

Quando Usar Esta Habilidade

  • Uma tarefa precisa de saída de modelos GFS, GEFS, HRRR, RAP, NAM, IFS ou similares.
  • Os dados residem em um bucket público da AWS S3, NOMADS ou um espelho público na nuvem.
  • A entrada é GRIB2 e apenas variáveis ou níveis selecionados são necessários.
  • Um ponto, sounding, série temporal, mapa ou job em lote precisa de um caminho de busca confiável.
  • Um download está faltando, incompleto, inesperadamente grande, lento ou difícil de retomar.

Não ative esta habilidade para perguntas comuns de previsão do tempo que não exigem arquivos de modelo.

Defina a Solicitação Primeiro

Resolva estes valores antes de baixar:

  • modelo e produto;
  • ciclo de inicialização em UTC;
  • hora de previsão e, portanto, hora de validade (valid = initialization + lead);
  • membro do ensemble quando aplicável;
  • variáveis, níveis verticais e campos de superfície;
  • saída de ponto, região ou grade completa;
  • local de cache e quando os dados baixados podem ser excluídos.

Confirme que o ciclo está completo, a hora de previsão existe para esse ciclo e a localização solicitada está dentro do domínio do modelo. Uma 404 recente geralmente significa que o ciclo ainda não foi publicado; retroceda para um ciclo concluído em vez de tentar indefinidamente.

Escolha a Rota de Recuperação Menor

  1. Reutilize a abstração de busca/cache existente do projeto quando ela já lida com o modelo.
  2. Use Herbie para um modelo GRIB2 suportado. Ele descobre AWS, NOMADS, Google, Azure e outras fontes configuradas e entende seus layouts de chave.
  3. Use um endpoint nativo do provedor para ponto ou Zarr quando a tarefa precisar de uma fatia espacial minúscula de muitos horários ou membros.
  4. Use acesso direto a objetos S3 ou HTTPS quando a chave for conhecida e nenhum adaptador adequado existir.

Não liste recursivamente um grande bucket público para descobrir uma execução. Construa o prefixo documentado para o modelo, ciclo, produto, hora de previsão e membro, então sonde esse objeto exato e seu inventário.

Use uma prioridade explícita do provedor e registre o provedor que obteve sucesso. Um fallback deve se referir à mesma execução do modelo, produto, membro e hora de previsão; nunca substitua silenciosamente uma previsão diferente.

Subconjunto GRIB2 por Inventário

Arquivos GRIB2 contêm mensagens consecutivas. Um inventário complementar como .idx, .grib2.idx ou .grb2.inv registra o byte inicial de cada mensagem.

  1. Busque o pequeno inventário primeiro.
  2. Inspecione suas linhas reais antes de escrever uma expressão regular.
  3. Selecione registros exatos de variáveis, níveis e passos de previsão.
  4. Defina o byte final de cada mensagem selecionada para um a menos que o início da próxima mensagem; solicite a mensagem selecionada final até o EOF quando nenhum fim for conhecido.
  5. Agrupe mensagens selecionadas adjacentes em um único intervalo.
  6. Emita uma solicitação Range: bytes=START-END por intervalo. S3 não suporta múltiplos intervalos em uma única solicitação GetObject.
  7. Exija 206 Partial Content e um Content-Range correspondente. Se um servidor responder 200, não anexe o objeto inteiro como se fosse um fragmento.
  8. Fixe o comprimento e a identidade do objeto (ETag e/ou Last-Modified) durante o download. Descarte fragmentos se o objeto mudar.
  9. Monte em um arquivo temporário, verifique-o com um decodificador GRIB, então renomeie atomicamente para o cache.

Uma mensagem GRIB contém um campo sobre sua grade. O subconjunto por intervalo de mensagens economiza variáveis e níveis, não geografia. Uma solicitação de ponto ainda baixa a grade completa para cada mensagem selecionada, a menos que o provedor ofereça um endpoint de ponto, regional, Zarr ou outro com chunking.

Exemplo Herbie

Use o argumento atual search; searchString está obsoleto. Comece pelo inventário, falhe em uma correspondência vazia e mantenha o diretório de download explícito.

from pathlib import Path

from herbie import Herbie

PRESSURE_FIELDS = (
    r":(?:HGT|TMP|RH|SPFH|UGRD|VGRD):\d+(?:\.\d+)? mb:"
)


def fetch_hrrr_pressure_run(initialization, forecast_hour, cache_dir):
    cache_dir = Path(cache_dir)
    h = Herbie(
        initialization,
        model="hrrr",
        product="prs",
        fxx=forecast_hour,
        priority=["aws", "nomads", "google", "azure"],
        save_dir=cache_dir,
        verbose=False,

…
Perguntas frequentes

O que são 'dados de previsão numérica do tempo'?

São informações detalhadas geradas por computadores que simulam a atmosfera para prever o tempo. Esses dados são usados por meteorologistas para criar previsões.

Por que baixar apenas 'partes' de um arquivo?

Arquivos de previsão do tempo podem ser enormes (gigabytes). Baixar apenas as partes que você precisa economiza tempo, dados e espaço de armazenamento.

O que é GRIB2?

É um formato de arquivo comum usado para armazenar dados meteorológicos. Ele é eficiente, mas pode ser complexo de trabalhar sem ferramentas específicas.

Detalhes

Descrição original do autor

Retrieve numerical weather prediction data from public AWS S3 and HTTP archives using GRIB2 inventories, byte ranges, Herbie, provider fallbacks, and verified caching.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4532
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas