2024-06-25

CALCULO DEL INDICE DE ARIDEZ DE MARTONNE PARA EL PERIODO 2081-2100

El Índice de aridez de Martonne es un índice bioclimático que permite clasificar la aridez según unos rangos ya definidos; permitiendo plantear una posterior relación con la desertificación presente en el suelo.

Ia = P/(Tm + 10)

Indice de Aridez de Martonne

Simulación del Indice de Martonne bajo un escenario de Cambio Climático

CMIP6

El CMIP (Coupled Model Intercomparison Project) es un proyecto de intercomparación de modelos que buscan la comprensión de los cambios climáticos del pasado, presente y futuro. Mediante evaluaciones de los modelos en el periodo histórico, se establece la viabilidad del uso de los mismos en las simulaciones para proyecciones futuras , lo cual ha ido evolucionando a lo largo de los años en diferentes aspectos climáticos.

GCM

Los Modelos Climáticos Globales, en inglés GCM, son representaciones matemáticas de los principales componentes del sistema climático. Estos componentes son principalmente el atmosférico (gases, nubes, aerosoles, …), el de la superficie terrestre (vegetación, nieve, ríos,…), el oceánico (corrientes, biogeoquímica, …) y el del hielo marino (intercambios de agua y calor aire-mar).

ESCENARIOS

CMIP6 recomienda que cada modelo ejecute, como mínimo, cuatro escenarios englobados en el denominado Tier 1, los cuales representan las imágenes a futuro más generales tal y como se muestra en la figura.

Estos cuatros escenarios proporcionan distintos niveles de forzamiento radiativo y son SSP126, SSP245, SSP370 y SSP585

FIGURA ESCENARIOS

Librerias

require(pacman)
pacman::p_load(raster,rgdal,terra,geodata,tidyverse,openxlsx,rgeos,gtools,
               corrplot,Hmisc,ggplot2,sp,sf,dismo,maptools,usdm,ade4,ape,gbm,ecospat,ncdf4,rnaturalearth)

Limpiar memoria

g <- gc(reset = T)
rm(list = ls())
options(scipen = 999, warn = -1)

FIJAR DIRECTORIO DE TRABAJO

Escribir el directorio que corresponda a sus datos

setwd("C:/Users/Victor/Desktop/MI_26_IND_ARIDEZ")

DESCARGAR VARIABLES CLIMATICAS DESDE WORLDCLIM

  • Package Geodata
  • cmip6_world(model, ssp, time, var, res, path, …)

Temperatura minima Modelo IPSL_CM6A-LR, ssp585, año 2090 (2081-2100)

cmip6_world(
  model="IPSL-CM6A-LR",
  ssp = "585",
  time = "2081-2100",
  var = "tn",
  res = 2.5, 
  path = "tempdir()")

Temperatura maxima Modelo IPSL_CM6A-LR, ssp585, año 2090 (2081-2100)

cmip6_world(
  model="IPSL-CM6A-LR",
  ssp = "585",
  time = "2081-2100",
  var = "tx",
  res = 2.5, 
  path = "tempdir")

Precipitacion Modelo IPSL_CM6A-LR, ssp585, año 2090 (2081-2100)

cmip6_world(
  model="IPSL-CM6A-LR",
  ssp = "585",
  time = "2081-2100",
  var = "pr",
  res = 2.5, 
  path = "tempdir()")

SI GEODATA NO FUNCIONA CARGAR DESDE DISCO DURO

  • Cargar RasterLayer de temperatura minima
tmin <- rast("wc2.1_2.5m_tmin_IPSL-CM6A-LR_ssp585_2081-2100.tif",subds=0)
  • Cargar RasterLayer de temperatura maxima
tmax <- rast("wc2.1_2.5m_tmax_IPSL-CM6A-LR_ssp585_2081-2100.tif", subds=0)
  • Cargar RasterLayer de precipitacion
prec <- rast("wc2.1_2.5m_prec_IPSL-CM6A-LR_ssp585_2081-2100.tif", subds=0)

CARGAR SHAPEFILE DE SUDAMERICA

  • Descargar shapefile de Sudamerica
shp_sud <- ne_countries(continent = "South America")
  • Revisar proyección del vectorial
crs(shp_sud)
  • Revisar tipo de archivo
class(shp_sud)

Graficar vectorial de sudamérica con GGPLOT2

ggplot(data = shp_sud) +
  geom_sf()

CORTAR RASTER DE TEMPERATURA MINIMA CON MASCARA DE SUDAMERICA

  • Crear stack
tmin_stack <- stack(tmin)

CORTAR RASTER DE TEMPERATURA MINIMA CON MASCARA DE SUDAMERICA

  • Cortar stack con mascara de Sudamerica
layers_sud_tmin <- raster::crop(tmin_stack, shp_sud) %>% 
  raster::mask(shp_sud)
  • Graficar
plot(layers_sud_tmin[[1]]) # graficar alguna capa
plot(sud$geometry, add=T)

CORTAR RASTER DE TEMPERATURA MAXIMA CON MASCARA DE SUDAMERICA

  • Crear stack
tmax_stack <- stack(tmax)

CORTAR RASTER DE TEMPERATURA MAXIMA CON MASCARA DE SUDAMERICA

  • Cortar stack con mascara de Sudamerica
layers_sud_tmax <- raster::crop(tmax_stack, shp_sud) %>% 
  raster::mask(shp_sud)
  • Graficar
plot(layers_sud_tmax[[1]]) # graficar alguna capa
plot(sud$geometry, add=T)

CORTAR RASTER DE PRECIPITACION CON MASCARA DE SUDAMERICA

  • Crear stack
prec_stack <- stack(prec)

CORTAR RASTER DE PRECIPITACION CON MASCARA DE SUDAMERICA

  • Cortar stack con mascara de Sudamerica
layers_sud_prec <- raster::crop(prec_stack, shp_sud) %>% 
  raster::mask(shp_sud)
  • Graficar
plot(layers_sud_prec[[1]]) # graficar alguna capa
plot(sud$geometry, add=T)

CALCULO DEL INDICE DE ARIDEZ

  • Calculo de la temperatura media anual
Tmax_prom <- sum(layers_sud_tmax)/12
Tmin_prom <- sum(layers_sud_tmin)/12
Tm <- sum(Tmax_prom + Tmin_prom)/2
  • Graficar
plot(Tm)
plot(sud$geometry, add=T)

Calculo de la precipitacion total anual

P <- sum(layers_sud_prec)
  • Graficar
plot(P)
plot(sud$geometry, add=T)

Indice de aridez

Ia <- P/(Tm + 10)

plot(Ia, main="Indice de Aridez año 2090 - IPSL-CM6A-LR ssp585")
plot(sud$geometry, add=T)
  • Escribir raster resultante en el disco duro y procesar en QGIS
writeRaster(Ia, filename="Ia_2090_IPSL_585", format="GTiff", overwrite=T)