Faxina de Dados do APPEEARS (MODIS/Vegetação)

O APPEEARS (Application for Extracting and Exploring Analysis Ready Samples) é uma plataforma da NASA desenvolvida pela Land Processes Distributed Active Archive Center (LP DAAC) que facilita o acesso e o pré-processamento de dados de sensoriamento remoto, especialmente da coleção MODIS e outros produtos de observação da Terra.

Objetivo
Este pipeline processa dados ecológicos do MODIS extraídos via APPEEARS, contendo métricas essenciais para monitoramento vegetativo:

Variáveis Processadas:
- ET (Evapotranspiração) - EVI (Enhanced Vegetation Index)
- NDVI (Normalized Difference Vegetation Index)
- FPAR (Fraction of Absorbed Photosynthetically Active Radiation) - LAI (Leaf Area Index)

# Carregar bibliotecas
library(tidyverse)
library(dplyr)

# Lista de arquivos
csv_files_list <- list.files("../data-raw/AppEEARS/", 
                       pattern = ".csv", 
                       full.names = TRUE)

# Empilhar arquivos 
appeears_stack <- purrr::map_dfr(csv_files_list, 
                           readr::read_csv)

Abaixo vamos selecionar camadas de interesses, renomear colunas, extraindo o ano e o mês das datas no formato YYYY-MM-DD, filtrar para nos anos que serão analisados e agrupar por lat e lon. Após o agrupamento é calculado a média das variáveis numéricas por mês e ano.

appeears <- appeears_stack |> 
   dplyr::select(Latitude, Longitude, Date, MOD15A2H_061_Lai_500m, MOD15A2H_061_Fpar_500m, 
         MOD13Q1_061__250m_16_days_EVI, MOD13Q1_061__250m_16_days_NDVI, 
         MOD16A2_061_ET_500m) |>
  dplyr::rename(date = Date,
         lat = Latitude,
         lon = Longitude,
         lai = MOD15A2H_061_Lai_500m,
         fpar = MOD15A2H_061_Fpar_500m,
         evi = MOD13Q1_061__250m_16_days_EVI,
         ndvi = MOD13Q1_061__250m_16_days_NDVI,
         et = MOD16A2_061_ET_500m) |> 
  dplyr::mutate(year = lubridate::year(date),
                month = lubridate::month(date))  |> 
  dplyr::filter(
    year >= 2015 & year <= 2023
  ) |> 
  dplyr::group_by(lat, lon, year, month)  |> 
  dplyr::summarise(
    dplyr::across(c(fpar, lai, evi, ndvi, et), 
           ~ mean(., na.rm = TRUE),
           .names = "media_{.col}"),
    n_observacoes = dplyr::n(),
    .groups = 'drop'
  ) |> 
  dplyr::arrange(lat, lon, year, month)
# Valores NA na coluna ET (Dados de 2021 a 2024)

# Visualizar dados
dplyr::glimpse(appeears)
# View(appeears)
# Verificacao de pontos Brasil Central

br_country <- geobr::read_country(showProgress = FALSE)

br_country |> 
  ggplot2::ggplot()+
  ggplot2::geom_sf()+
  ggplot2::geom_point(
    data=appeears |> 
      dplyr::filter(ano == 2018), 
      ggplot2::aes(lon,lat)
  )

appeears |> 
  dplyr::filter(ano == 2017) |> 
  ggplot2::ggplot(ggplot2::aes(lon,lat)) +
  ggplot2::geom_point()
# Gerar arquivo com os dados
# readr::write_rds(appeears, '../data/appeears-modis.rds')