Full text
CIÊNCIA DE DADOS APLICADA ÀS MUDANÇAS CLIMÁTICAS: ANÁLISE PRÁTICA DE DADOS CMIP6 COM CDO E PYTHON Minicurso - 18°SCIENTEX Laboratório de Meteorologia LABMET/UNIVASF Ministrante: Dr. Emerson D. Oliveira
Conteúdo programático •Introdução. •Modelos climáticos. •Dados climáticos. •Introdução ao Climate Data Operator (CDO). •Plataforma ESGF. •Manipulação de dados CMIP6 •Python e dados climáticos.
Introdução •Oar atmosférico é uma mistura de gases e vapores que envolve a Terra como uma delicada película azul. •Aproximadamente metade de toda a massa atmosférica se concentra abaixo de 5,5 km de altitude —o que corresponde a apenas 0,014% do perímetro do Equador. •Em missões espaciais, astronautas descrevem o chamado Overview Effect, uma profunda transformação de percepção ao observarem do espaço o quão fina e frágil é essa camada que abriga toda a vida conhecida. •Toda atividade biológica na Terra depende dessa fina membrana protetora que filtra, regula e conecta. •Na atmosfera não há fronteiras políticas —fenômenos que ocorrem neste exato momento do outro lado do planeta podem estar ligados aos que vivenciamos aqui, revelando o caráter verdadeiramente global e interdependente do sistema terrestre.
Introdução •A queima de combustíveis fósseis, o desmatamento e agricultura intensiva elevaram o CO₂ de ~280 ppm (pré-industrial) para >420 ppm (Emissões de Gases de Efeito Estufa - GEE). •A temperatura média global aumentou cerca de +1,2 °C desde 1880, acompanhando a elevação dos GEE atmosféricos. •O Monitoramento contínuo do CO₂ desde 1958 mostra crescimento constante e sazonalidade natural sobreposta ao aumento antropogênico. •As erupções vulcânicas (resfriamento temporário por aerossóis) e variações solares (ciclos de 11 anos) não explicam a tendência de aquecimento de longo prazo. •Embora oscilações climáticas (El Niño/La Niña) causem variações interanuais na temperatura global, a tendência de aquecimento permanece dominante. •As mudanças climáticas estão aumentando a frequência das ondas de calor, secas, enchentes e eventos extremos afetam agricultura, saúde e infraestrutura urbana.
Introdução Cenários socioeconômicos do CMIP6 SSP = Shared Socioeconomic Pathways (SSP) •SSP1–Sustentabilidade (“Caminho Verde”) •Cooperação internacional, redução das desigualdades. •Rápida transição tecnológica limpa e uso eficiente de recursos. •Baixas emissões e mitigação climática efetiva. •SSP2–Caminho intermediário (“Business as Usual”) •Continuidade das tendências atuais. •Progresso tecnológico e cooperação moderados. •Emissões e aquecimento intermediários. •SSP3–Rivalidade regional (“Caminho Fragmentado”) •Fortes tensões geopolíticas e nacionalismo. •Pouca cooperação internacional, baixo investimento em tecnologia limpa. •Altas emissões e vulnerabilidade social elevada. •SSP5–Desenvolvimento orientado a combustíveis fósseis (“Caminho do Crescimento Rápido”) •Forte crescimento econômico impulsionado por energia fóssil. •Alta inovação tecnológica, mas com foco em produtividade e não em sustentabilidade. •Altíssimas emissões e intenso aquecimento global.
Introdução •Eventos Extremos: Tornados causam devastação em Rio Bonito - PR.
Introdução •Eventos Extremos Enchente de grandes proporções em Dubai (2024).
Introdução •A grande Seca de 1877-1879. •O nordeste brasileiro poderá ser fortemente impactado pelas mudanças climáticas, enfrentando secas mais prolongadas e frequentes. Retirantes: Portinari (1944). Extensão das áreas afetadas pela seca de 1877-1879. Representação do El Niño.
Modelos climáticos Coupled Model Intercomparison Project (CMIP) •Trata-se de um projeto internacional que visa comparar diferentes modelos climáticos acoplados (que incluem atmosferas, oceanos, gelo e outros sistemas da Terra) para melhorar as projeções climáticas e entender melhor o comportamento do clima global em diferentes cenários. A fase 6 (CMIP6) é a mais recente, sucedendo a fase anterior (CMIP5). •AMIP (Atmospheric Model Intercomparison Project) •O objetivo do AMIP é comparar modelos atmosféricos para entender o comportamento da atmosfera e suas interações com outros componentes do sistema climático. O foco é exclusivo na modelagem da atmosfera, sem incluir interações com oceanos ou outros sistemas. •PMIP (Paleoclimate Modelling Intercomparison Project) •O objetivo do PMIP é estudar o clima do passado, usando modelos para simular condições climáticas de diferentes períodos históricos (como o Último Máximo Glacial ou o período do Holoceno). O foco principal é reconstituir cenários climáticos antigos para compreender melhor as mudanças climáticas naturais e as respostas do sistema climático.
Dados climáticos Década Formato predominante Contexto e motivação 1970s –1980s Binário e GRIB1 Computadores com pouca memória; foco em compactação e rapidez de leitura. 1990s GRIB1 e NetCDF3 Expansão da modelagem climática global ; necessidade de intercâmbio entre centros. 2000s GRIB2 , HDF4, NetCDF4 Aumento das resoluções e variáveis → compressão e metadados mais ricos. 2010s –2020s HDF5 , NetCDF4, Zarr Volume massivo de dados (PBs). Suporte a paralelismo, cloud e metadados detalhados. Futuro Zarr , Parquet, Cloud-native formats Eficiência no acesso remoto e integração com plataformas de ciência de dados.
Dados climáticos Formato Uso principal Observação BUFR Dados de observação (radares, sondagens, satélites) Similar ao GRIB, mas voltado a observações. CSV / TXT Saídas simplificadas ou exportação para análises estatísticas Fáceis de ler, mas grandes e lentos. GeoTIFF Dados geoespaciais (imagens de satélite, topografia) Mantém coordenadas geográficas. Zarr / Parquet Formatos modernos (baseados em nuvem) Usados para Big Data e processamento paralelo (p.ex. Pangeo, xarray).
Dados climáticos Exemplo prático com BINARIO e TXT •O Laboratório de Meteorologia (LabMet) desenvolveu e registrou em 2022 o programa Daily Insolation (DINSOL), uma ferramenta capaz de calcular a radiação solar extraterrestre a partir de mudanças nos parâmetros orbitais da Terra, os chamados ciclos de Milankovitch. O DINSOL será útil para o minicurso em função das suas saídas de dados, que são em formato “BIN” e“TXT”. •A cada execução do DINSOL, novos arquivos de dados são criados, sendo os arquivos binários denominados “solar.radiation”e“radiation”, enquanto os arquivos TXT são “insolation.txt” e“summary.txt”. Por enquanto, vamos recorrer as ferramentas de visualização de dados as quais o DINSOL já disponibiliza scripts customizados, sendo elas o “Grid Analysis and Display System (GrADS)” e a linguagem R.
Introdução ao Climate Data Operator (CDO) Breve descrição •O CDO é um extenso conjunto de ferramentas para trabalhar com dados de modelos climáticos e de previsão numérica do tempo (NWP). •São suportados como formatos de entrada e saída (IO-formats) os arquivos NetCDF 3/4, GRIB 1/2 (incluindo compressões SZIP/AEC e JPEG), além de EXTRA, SERVICE e IEG. •Além disso, o CDO pode ser usado para analisar qualquer tipo de dado em grade, mesmo que não esteja relacionado à ciência do clima. •O CDO possui requisitos de memória muito baixos e é capaz de processar arquivos maiores do que a memória física disponível.
Introdução ao Climate Data Operator (CDO) Instalação •O CDO pode ser instalado facilmente a partir dos repositórios de algumas distribuições Linux. No Ubuntu, por exemplo, executamos a seguinte linha de comando: sudo apt install cdo –y •Certifique-se de que o seu sistema operacional está atualizado antes de instalar qualquer programa. •Antes de iniciar a parte prática do minicurso, irei conferir se todos os participantes conseguiram instalar corretamente os programas necessários (CDO, Python, PIP etc). Também vou me certificar que todos já baixaram os dados que serão utilizados neste minicurso.
Introdução ao Climate Data Operator (CDO) Exemplos com dados do DINSOL •Convertendo um arquivo binário em NETCDF com o CDO. Aqui, o usuário deve utilizar a linha de comando abaixo: cdo –f nc import_binary input-descriptor-filename.ctl output-filename.nc Abaixo temos um printscreen do terminal do Ubuntu fazendo as conversões de arquivos binários para NETCDF:
Introdução ao Climate Data Operator (CDO) Exemplos com dados do DINSOL •Agora que convertemos para o formato NETCDF vamos aprender alguns comandos que nos permitem obter informações sobre o arquivo em questão. cdo –sinfov filename.nc cdo –info filename.nc cdo showvar filename.nc cdo showname filename.nc cdo showlevel filename.nc cdo showgrid filename.nc
Introdução ao Climate Data Operator (CDO) Exemplos com dados do PlaSim •Agora vamos executar os comandos aprendidos no slide anterior nos dados gerados pelo modelo Planet Simulator (PlaSim). cdo –sinfov filename.nc cdo –info filename.nc cdo showvar filename.nc cdo showname filename.nc cdo showlevel filename.nc cdo showgrid filename.nc
Introdução ao Climate Data Operator (CDO) Exemplos com dados do PlaSim •O arquivo NETCDF gerado pelo PlaSim representa uma série temporal contendo médias mensais para um período de 10 anos de simulação. No nosso próximo exemplo, vamos gerar a média anual para esse período: cdo yearmean data1.nc data_anual.nc Abaixo temos um printscreen do terminal do Ubuntu exibindo qual deveria ser a saída observada em seu computador.
Introdução ao Climate Data Operator (CDO) Exemplos com dados do PlaSim •Extraindo uma variável: cdo selname,ta data_anual.nc ta_anual.nc Abaixo temos um printscreen do terminal do Ubuntu exibindo qual deveria ser a saída observada em seu computador.
Plataforma ESGF Earth System Grid Federation (ESGF) •Após realizar o cadastro na ESGF poderemos selecionar as variáveis, modelos, experimentos entre outros atributos dos dados desejados. Assim, uma vez selecionados, clicamos em “Search” e a plataforma nos apresentará o resultado da busca. •Após escolher podemos obter os scripts que nos permitem baixar os dados, entretanto, para otimizar o minicurso, adotaremos apenas os dados que foram disponibilizados previamente ao minicurso. Link: https://esgf-node.ipsl.upmc.fr/search/cmip6-ipsl/
Plataforma ESGF Earth System Grid Federation (ESGF) •Abaixo o printscreen demonstra como seria a execução dos scripts responsáveis pelo download dos dados do CMIP6, neste exemplo vamos baixar o dado de temperatura da superfície (ts). Entre com o seu ESGF OpenID e digite sua senha conforme as imagens:
Manipulação de dados CMIP6 Exemplos práticos •Entre os dados CMIP6 que foram disponibilizados previamente ao minicurso, estão os dados de temperatura superficial do modelo HadGEM3. Cabe salientar que os dados estão separados em dois arquivos NC divididos pelo período de tempo projetado (2015-2100). •Antes de aprendermos como unir estes dados em um único arquivo, vamos conferir a consistência dos dados utilizando o GrADs. •Vocês devem ter obtido uma mensagem de erro como a do printscreen ao lado, mas calma, não se desesperem, o GrADs costuma apresentar estes erros quando a formatação de calendário do arquivo de dados não está padronizada. •Para padronizar os dados CMIP6 que apresentarem este erro podemos recorrer ao CDO através da seguinte linha de comando: cdo setcalendar,standard input-file.nc output-file.nc
Manipulação de dados CMIP6 Exemplos práticos •Após padronizar o calendário e conferir a consistência dos dados com o GrADs, vamos usar uma função do CDO para juntar os dois arquivos (já padronizados) em um único arquivo netcdf. Para tanto, utilizaremos a função mergetime, tal qual alinha de comando abaixo: cdo mergetime input-file.nc output-file.nc
Manipulação de dados CMIP6 Exemplos práticos •Agora vamos analisar o caso dos dados projetados pelo modelo EC-EARTH3, que já são baixados com uma formatação de calendário padrão, permitindo a checagem visual com o GrADs diretamente. Entretanto, temos aqui um novo desafio, a série de dados foi disponibilizada em arquivos contendo médias mensais (janeiro a fevereiro) divididas para cada ano, conforme o prinstscreen abaixo. •Notem que seria improdutivo a conferência dos 86 arquivos individualmente, contudo, ao adotarmos a função mergetime com * o CDO poderá ordenar a junção automaticamente: cdo mergetime ts_Amon_EC-Earth3_ssp585_r1i1p1f1_gr_*.nc ts_merged_2015-2100.nc
Manipulação de dados CMIP6 Exemplos práticos •Agora com um único arquivo podemos analisar a consistência dos dados através do GrADs diretamente:
Manipulação de dados CMIP6 Exemplos práticos •Conforme foi discutido no início deste minicurso, para atenuar o efeito dos vieses individuais de cada modelo climático, os pesquisadores precisam recorrer a técnica de Ensemble,que consiste na criação de médias dos mesmos cenários simulados a partir de diferentes modelos (criando um único e novo arquivo). Neste sentido, o CDO possui uma função bastante útil para cumprir tal tarefa, que no nosso exemplo irá se restringir a apenas dois modelos (EC-EARTH3 e HadGEM3). Abaixo está um exemplo de como devemos executar essa função: cdo ensmean ec-earth3/ts_merged_2015-2100.nc hadgem/ts_merged_2015-2100.nc ensemble/ts_ensemble_2015-2100.nc •Notem que ao executarmos a linha de comando acima será exibida a seguinte mensagem de erro: •Os arquivos utilizados possuem uma resolução horizontal diferente, impedindo a realização do cálculo da média (ensemble) corretamente. •No próximo slide veremos como contornar esse erro utilizando o próprio CDO.
Manipulação de dados CMIP6 Exemplos práticos •Enquanto o modelo HadGEM3 possui uma grade horizontal de 192x144 pontos o modelo EC-EARTH3 trabalha com uma grade de 512x256 pontos. Portanto, teremos que definir uma resolução espacial (pontos de grade) padrão para ambos os modelos, o que pode ser gerado se adotarmos uma técnica de interpolação espacial de dados. Para nossa sorte, o CDO possui funções com diferentes técnicas de interpolação de dados. Na função a seguir, o CDO toma com referência a grade de um dado arquivo para interpolar o segundo a partir da grade de referência. Abaixo, temos um exemplo de comando em CDO que realiza a técnica de interpolação bilinear. cdo remapbil,ts_merged_2015-2100.nc ../ec-earth3/ts_merged_2015-2100.nc ../ec-earth3/ts_merged_2015-2100_192x144.nc •Notem que ao executarmos a linha de comando acima devemos obter como resultado algo como o printscreen abaixo: •Cabe notar também que o comando deve ser executado no mesmo diretório do arquivo cuja grade será nossa referência, neste caso o hadgem. •Em situações assim, é sensato aplicarmos a interpolação para reduzir a resolução do modelo com maior número de pontos de grade.
Manipulação de dados CMIP6 Exemplos práticos •Pronto, agora vamos finalmente conseguir aplicar a técnica de ensemble nos dados dos modelos do CMIP6, tal como a linha de comando abaixo: cdo ensmean ec-earth3/ts_merged_2015-2100_192x144.nc hadgem/ts_merged_2015-2100.nc ensemble/ts_ensemble_2015-2100.nc •Se todos os passos anteriores foram executados corretamente o arquivo ts_ensemble_2015-2100.nc terá sido gerado no diretório ensemble, conforme o printscreen abaixo:
Python e dados climáticos Instalando o Python e alguns pacotes •Utilize a linha de comando abaixo para instalar o Python3: sudo apt install python3 •Para instalar os pacotes que utilizaremos execute os comandos: sudo apt install python3-xarray python3-netcdf4 sudo apt install python3-matplotlib python3-numpy sudo apt install python3-pandas python3-cartopy
Python e dados climáticos Selecionando uma região com o CDO •Neste exemplo vamos recorrer ao CDO através da função sellonlatbox, que nos possibilita selecionar e extrair a matriz de dados de um região (a partir da matriz original) para um novo arquivo NC. Abaixo temos exemplos para região da América do Sul considerando longitude padronizada entre -180° e 180°, e, entre 0 e 360°. cdo sellonlatbox, -85,-30,-60,15 input.nc output_sa.nc cdo sellonlatbox, 275,330,-60,15 input.nc output_sa.nc
Python e dados climáticos Script 7: Plot simples - América do Sul •Neste último exemplo vamos utilizar o arquivo ensemble gerado a partir dos dados do CMIP6 com a delimitação regional realizada no slide anterior python3 exemplo7.py
Síntese do minicurso •Os participantes viram como: •Ferramentas computacionais costumam ser usadas em ciência de dados climáticos. •Os dados gerados por modelos climáticos são estruturados. •Baixar cenários projetados do CMIP6 através da plataforma ESGF. •Manipular dados climáticos de maneira simplificada utilizando o CDO. •Plotar mapas utilizando a linguagem Python e o GrADs.
Fim A Terra fornece o suficiente para satisfazer as necessidades de cada homem, mas não a sua ganância. Até a Próxima! Mahatma Gandhi