

INTRODUÇÃO A RECEPÇÃO E PROCESSAMENTO DE DADOS DE SATÉLITE
Contato:
Para questões e sugestões referentes a esta atividade, entre em contato:
Introdução:
Olá pessoal, tudo bem?
Esta é uma atividade complementar ao webinar “Recepção e Processamento de Imagens de Satélite”, apresentado no dia 31 de julho de 2020 às 14:00 BRT.
O objetivo desta atividade é verificar na prática alguns conceitos abordados durante o webinar.
Objetivos a atividade prática:
Ao completar esta atividade, você haverá visto na prática:
- Acesso e download automático no seu computador de dados do satélite GOES-R através do NOAA’s Big Data Project (Amazon, neste caso)
- Processamento e visualização de dados do satélite GOES-R no seu computador utilizando Python
- Conceitos de uso de banda necessária para baixar dados
- Conceitos de poder computacional necessário para processamento de dados de satélite
Obs. 1: Apesar de desejáveis, não são necessários conhecimentos de programação para a realização desta atividade, pois tudo foi desenvolvido para facilitar sua execução automaticamente.
Obs. 2: A atividade pode ser realizada em computadores Windows ou Linux.
Tempo necessário para a realização desta atividade: Aproximadamente 1:30h
No webinar, veremos que existem diversos mecanismos de recepção de dados:

Veremos também que o Python possui diversos módulos para processamento de dados de satélite:

Vamos para a atividade prática! Acesso a dados da nuvem e processamento Python.
PASSO 1: DOWNLOAD DO PACOTE SHOWCAST CLOUD
Faça o download do pacote SHOWCast no seguinte link:
Download SHOWCast_v_2_1_0
O pacote SHOWCast foi desenvolvido para processamento e visualização de dados do Sistema GEONETCast-Americas, porém, como a versão 2.1 possui um módulo de download de dados da nuvem, o SHOWCast pode ser utilizado neste atividade.
Obs: Não é necessário possuir uma estação GEONETCast-Americas para a realização desta atividade.
Extraia o arquivo “zip” no diretório que desejar. Nos exemplos deste procedimento, será extraído no diretório “C:\” em um computador Windows.

Após extração, esta será a estrutura encontrada no diretório SHOWCast:

Este é o conteúdo do diretório SHOWCast que você acabou de extrair:
- Cloud: Arquivos necessários para baixar e visualizar dados da nuvem.
- Colortables: Paleta de cores utilizadas por alguns scripts Python
- Guides: Guias rápidos de produtos
- HTML: A estrutura HTML utilizada para visualizar e animar os produtos
- Installer: Arquivos de instalação SHOWCast
- Legends: As legendas utilizadas em alguns produtos
- Logos: Os logos utilizados nos plots
- Logs: Os arquivos de log para identificar os produtos já processados
- Maps: Os mapas de fundo utilizados pelos plots
- Output: As imagens de saída geradas pelo Python
- Scripts: Os scripts Python utilizados para manipular produtos
- Shapefiles: Os shapefiles utilizados pelos scripts
- Training: Pasta utiizada para treinamentos. Simula um diretório GEONETCast
- Utils: Softwares utilitários utilizado pelo SHOWCast
- SHOWCast.html: Janela principal do SHOWCast
- showcast_start_linux.sh: Utilizado para iniciar o SHOWCast (Linux)
- showcast_start_windows.bat: Utilizado para iniciar o SHOWCast (Windows)
PASSO 2: ABRINDO O SHOWCAST CLOUD PELA PRIMEIRA VEZ
Entre na pasta “Cloud” e dê um duplo clique no SHOWCast_Cloud.html.

A interface SHOWCast Cloud será aberta, e você verá a mensagem “NO DATA AVAILABLE” nos produtos do Menu. Isto ocorre porque ainda não instalamos o sistema de download de produtos da nuvem e processamento de dados automático.

Vamos instalar o sistema de processamento. Não se preocupe, o processo de instalação foi automatizado o máximo possível.
PASSO 3: INSTALANDO O PROCESSAMENTO SHOWCAST CLOUD
Acesse a pasta “Installer” no diretório principal SHOWCast:

Neste diretório temos nossos arquivos de instalação. Dentro dele, você verá uma pasta chamada “Miniconda3” (NÃO É NECESSÁRIO ACESSÁ-LA) e dois outros arquivos, chamados:
- showcast_install_linux.sh: Utilizado para instalar o SHOWCast no Linux
- showcast_install_windows.bat: Utilizado para instalar o SHOWCast no Windows

Se você está usando Windows, dê um duplo clique no arquivo “showcast_install_windows.bat”.
Se você está usando Linux, execute o script “showcast_install_linux.sh” deste modo:
./showcast_install_linux.sh
Em ambos Windows ou Linux, o instalador SHOWCast irá iniciar. Ele tem a mesma estrutura, independente do sistema operacional utilizado:

Primeiro, o instalador perguntará se você deseja instalar o Miniconda, que é basicamente um gerenciador de pacotes e ambientes virtuais Python.
Insira ‘y’ e pressione Enter
Ao aceitar prosseguir, a ferramenta “Miniconda“, necessária para executar o SHOWCast, será automaticamente instalada no diretório principal SHOWCast:
Obs.: Isso levará alguns minutos

Quando a instalação automática do Miniconda finalizar, você verá um novo diretório chamado “Miniconda3” no diretório principal SHOWCast. Neste diretório, todas as bibliotecas Python serão instaladas. NÃO É NECESSÁRIO acessar o diretório Miniconda3.

Após instalar o Miniconda, o instalador irá perguntar se deseja prosseguir com a criação do ambiente virtual SHOWCast (conexão a internet é necessária neste ponto).
Insira ‘y’ e pressione Enter

Ao aceitar prosseguir, o software “conda” que foi instalado no passo anterior será atualizado (se necessário) e o ambiente virtual SHOWCast (onde as bibliotecas Python serão instaladas), será automaticamente criado.
Obs: Isto levará um tempo considerável, dependendo de sua conexão e especificações do seu computador.


Quando (e somente quando) você ver a seguinte mensagem, as ferramentas de processamento SHOWCast foram instaladas com sucesso:

Com isto, finalizamos a instalação do processamento SHOWCast! Vamos configurar o necessário para utilizar o SHOWCast Cloud.
PASSO 4: CONFIGURANDO O PROCESSAMENTO SHOWCAST CLOUD
Neste passo vamos configurar o necessário para utilizar o SHOWCast Cloud.
Primeiro, vamos configurar onde o SHOWCast Cloud guardará os produtos baixados da nuvem.
4.1) CONFIGURANDO ONDE O SHOWCAST CLOUD GUARDARÁ OS DADOS BAIXADOS DA NUVEM
Edite o script localizado em “SHOWCast\Cloud\Scripts\cloud_download_config.py” com seu editor de texto / código favorito. Nas imagens deste procedimento estou utilizando o Notepad++.

Na linha 77, indique o diretório que deseja guardar os dados, separando as pastas como barras duplas:

Ele já vem configurado com o diretório padrão “C://VLAB//Cloud//”. Mude-o caso deseje.
Obs: Não é necessário criar este diretório no seu computador. Caso ele não exista, será criado automaticamente.
Após isso, vamos configurar onde o SHOWCast Cloud quais produtos serão baixados da nuvem.
4.2) CONFIGURANDO QUAIS PRODUTOS O SHOWCAST CLOUD BAIXARÁ DA NUVEM
Entre as linhas 80 e 648, é possível configurar os produtos GOES-R que o SHOWCast Cloud baixará (True) ou não (False) da nuvem, além dos canais, frequência e diretório de armazenamento.
Por padrão, o único produto configurado para download são os canais FULL DISK Nível 2 (já em temperatura de brilho), todos os 16 canais exceto o canal 02 (por o arquivo ser muito grande), a cada 10 minutos, sendo guardados no diretório “C:\VLAB\Cloud\GOES-R-CMI-Imagery\” (em vermelho, o diretório que você tiver configurado no passo anterior)


Como você verá, EXISTEM DEZENAS de produtos GOES-R para selecionar e baixar da nuvem. Nesta primeira atividade, sugiro deixar apenas este que já vem padrão como “True”.
Agora, vamos configurar nossa diferença de horário para o UTC.
4.4) CONFIGURANDO A DIFERENÇA DE HORÁRIO PARA UTC
Os dados do GOES-R são identificados no horário UTC (Tempo universal Coordenado). Precisamos indicar quantas horas o horário configurado no nosso computador está atrás (-) ou na frente do UTC (Tempo universal Coordenado), na linha 753.
No Brasil (horário de Brasília) estamos -3 horas do UTC, então por padrão está configurado -3. Caso seu computador já esteja em UTC, deixe como zero “0”. Caso esteja em outros fusos, ajuste conforme necessário.

Agora, vamos configurar nossa diferença de horário para o UTC.
4.5) CONFIGURANDO QUAL DIRETÓRIO O SHOWCAST MONITORARÁ PARA PROCESSAMENTO
Conforme comentado no início, o pacote SHOWCast foi criado para manipulação e visualização de dados de estações GEONETCast-Americas, sendo que o módulo SHOWCast Cloud é completamente opcional.
Por isso, precisamos indicar onde o SHOWCast buscará automaticamente dados para serem processados pelo Python, seja dados de uma estação GEONETCast-Americas ou dados baixados da Nuvem, conforme estamos fazendo neste exercício.
Edite o script localizado em “SHOWCast\Scripts\showcast_start.py” com seu editor de texto / código favorito. Nas imagens deste procedimento estou utilizando o Notepad++.

Na linha 34, configure o diretório a ser monitorado pelo SHOWCast.
Caso o diretório seja o mesmo do diretório onde o módulo Cloud guardará os dados, o SHOWCast processará os dados da nuvem!

Ele já vem configurado com o diretório padrão “C://VLAB//Cloud//”, o mesmo do módulo Cloud. Mude caso necessário (caso tenha mudado o diretório padrão no módulo Cloud). O importante é deixar tanto o diretório do “SHOWCast\Cloud\Scripts\cloud_download_config.py” quanto o diretório do “SHOWCast\Scripts\showcast_start.py” iguais para este esquema funcionar corretamente.
PASSO 5: ATIVANDO O MÓDULO SHOWCAST CLOUD E O PROCESSAMENTO PYTHON DO SHOWCAST
5.1) ATIVANDO O MÓDULO SHOWCAST CLOUD
Acesse o diretório “SHOWCast\Cloud” e ative o download de dados da nuvem, conforme configurado no passo anterior.
Se estiver usando Windows, de um duplo clique no “cloud_download_start_windows.bat” se estiver usando Linux, execute o script “cloud_download_start_linux.sh”.

Uma nova janela terminal será aberta, com o módulo SHOWCast Cloud, baixando os dados da nuvem.

Exemplo de download de um arquivo da Banda 01 do GOES-R:

Com o tempo, você vai perceber o download de arquivos do GOES-R no diretório que você configurou nos passos anteriores.
Obs: Não tem pasta do canal 02 pois não habilitamos ele na configuração do “SHOWCast\Cloud\Scripts\cloud_download_config.py”

E dentro de cada pasta você verá os arquivos sendo baixados:

Veja que interessante: Na internet aqui de casa, o primeiro arquivo do canal 01 foi baixado as 11:50 BRT (14:50 UTC). Já o segundo arquivo do canal 01 (baixado após todos os arquivos dos demais canais, menos o 02), foi baixado apenas as 12:10 BRT (15:10 UTC).
Vejam que o arquivo das 14:50 UTC não foi baixado!
Ou seja, minha internet NÃO É SUFICIENTE para download de arquivos dentro do ciclo de leitura Full Disk do GOES-R de 10 minutos. Ou seja, sempre estarei com menos arquivos que os disponíveis na nuvem. Interessante, não?
Por isso é interessante configurar o “SHOWCast\Cloud\Scripts\cloud_download_config.py” de acordo com suas possibilidades.
5.2) ATIVANDO O PROCESSAMENTO PYTHON DO SHOWCAST
No diretório principal do SHOWCast, se estiver usando Windows, de um duplo clique no “showcast_start_windows.bat” se estiver usando Linux, execute o script “showcast_start_linux.sh”. Uma nova janela terminal será aberta, com o módulo SHOWCast monitorando e processando os dados baixados.

Exemplo de processamento do canal 01 do GOES-R, Full Disk e Setorizado / Reprojetado:

PASSO 6: VISUALIZANDO OS DADOS PROCESSADOS
Entre na pasta “Cloud” e dê um duplo clique no SHOWCast_Cloud.html.

Os “quicklooks” (miniaturas) começarão a aparecer no menu de visualização (canais 01, 03 e 04 no exemplo abaixo):

E com o tempo, os demais canais começaram a aparecer também.

Em “Visualization Area”, clique em “User Sector” para visualizar dados reprojetados e recortados.

As miniaturas dos dados regionais serão visualizadas.
Obs.: A resolução e região de visualização pode ser configurada no script “SHOWCast\Scripts\showcast_config.py”:

Volte para a janela Full Disk. Agora, clique no nome de um dos produtos (Canal 05 no exemplo abaixo):

A janela de visualização / animação será aberta:
Em “Product”, mude de “Full Disk” para “User Sector”:

Você verá este mesmo produto, no plot regional, reprojetado:

Portanto, neste momento você tem:
- O módulo SHOWCast Cloud baixando dados da nuvem (acima à direita na imagem abaixo)
- O módulo SHOWCast Python processando os dados baixados (abaixo à direita na imagem abaixo)
- A visualização SHOWCast mostrando os dados processados (à esquerda)

Parabéns! Você completou a atividade prática proposta!
Segue abaixo um material complementar:
PASSO 7: CONFIGURANDO COMO O SHOWCAST IRÁ PROCESSAR OS DADOS
7.1) CONFIGURANDO AS RESOLUÇÕES E REGIÕES
Abre o script “showcast_config.py” localizado no diretório “SHOWCast/Scripts” com seu editor de texto / código favorito (no exemplo abaixo estou usando Notepad++. No Linux você pode usar o Gedit, Notepadqq ou outros).
Selecionando os produtos que deseja processar
No script “showcast_config.py”, você pode selecionar quais produtos deseja processar (True) e os quais NÃO deseja processar (False).
Obs: Produtos finalizados com “_fdk” são Full Disks e produtos finalizados com “_sec” são setores definidos pelo usuário.

IMPORTANTE: Quanto maior o número de produtos selecionados, maior o tempo necessário para processar os produtos. Adapte o número de produtos processados de acordo com as possibilidades do seu computador.
Selecionando a resolução dos produtos
Pela configuração padrão, os full disks são gerados com resolução de 8 km e os setores de usuário são gerados com a máxima resolução possível. No script “showcast_config.py” você pode configurar a resolução das imagens geradas, de acordo com as especificações do seu computador.
No script “showcast_config.py”, para a banda 13 do GOES-16 por exemplo, veja onde modificar a resolução:

IMPORTANTE: Quanto maior a resolução, maior o poder de processamento necessário. Adapte as resoluções de acordo com a necessidade e possibilidades do seu computador.
Selecionando a região dos produtos setorizados
Ainda no script “showcast_config.py”, para todos os proutos “USER SECTOR”, você pode selecionar a região para processamento, na variável “extent” (min lon, min lat, max lon, max lat):

IMPORTANTE : Quanto maior a região, maior o poder de processamento necessário. Adapte as regiões de acordo com a necessidade e possibilidades do seu computador.
Salve o arquivo “showcast_config.py”.
7.2) CONFIGURANDO AS LABELS PERSONALIZADAS
É possível adicionar labels customizadas em coordenadas específicas dos plots modificando os arquivos “.INI” encontrados na pasta “SHOWCast/Utils/Labels”. Você pode adicionar quantas labels desejar. Na configuração padrão, o pacote SHOWCast mostra uma label chamada “My GNC-A” localizada no CPTEC (GOES-16 / MSG) e na Cidade do México (GOES-17). Mude as labels conforme desejar.

Abaixo, um exemplo de configuração de um arquivo INI. Você pode adicionar quantas labels desejar, em diferentes coordenadas, com diferentes tamanhos e cores!

Obs: x_offset e y_offset são offsets das labels, em graus, em relação a coordenada configurada.
Na pasta “SHOWCast/Utils/Labels” existe um arquivo “.INI” exemplo chamado “labels_example.ini” com várias labels (capitais de estados brasileiros), para você ter uma ideia de como configurar.

7.3) CONFIGURANDO UM LOGO PERSONALIZADO
Se você colocar seu logo (formato PNG) na pasta “SHOWCast/Logos”, com o nome “my_logo.png”, ele irá aparecer no plot (lado inferior esquerdo, com 10% do tamanho total do plot. O pacote SHOWCast tem o logo do INPE como padrão. Além disso, com simples mudanças nos scripts é possível adicionar mais de um logo aos plots (avise-me se este for o caso).

Agora você possui todas as informações necessárias para explorar o SHOWCast!
PASSO 8: ALGUMAS PERGUNTAS PARA PENSAR
Após um certo tempo processando dados da nuvem e visualizando no SHOWCast Cloud:
1-) Você acha viável receber e processar todos os canais do GOES-16 no seu computador, com resolução máxima, Full Disk, Mesoescala e CONUS?
2-) Estão havendo atrasos no processamento? Algumas imagens sequenciais ficaram sem processar?
3-) Baseado nas respostas anteriores, consegue observar a importância de mecanismos de recepção dedicados como GRB, GNC-A e outros?
