Tengo ladrillos rasterizados de la temperatura máxima mensual, la temperatura mínima y la precipitación para varios períodos de tiempo (por ejemplo, de 2090 a 2100, en este ejemplo).
> tmax
class : RasterBrick
dimensions : 3875, 8017, 31065875, 132 (nrow, ncol, ncell, nlayers)
resolution : 0.04490319, 0.04490319 (x, y)
extent : -180.0393, 179.9495, -90.04088, 83.95898 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84
source : Z:/CHELSAcmip5ts_tasmax_ACCESS1-3_rcp85_2090-2100.nc
names : X2090.01.15, X2090.02.15, X2090.03.15, X2090.04.15, X2090.05.15, X2090.06.15, X2090.07.15, X2090.08.15, X2090.09.15, X2090.10.15, X2090.11.15, X2090.12.15, X2091.01.15, X2091.02.15, X2091.03.15, ...
Date : 2090-01-15, 2100-12-15 (min, max)
varname : air_temperature
Necesito (a) crear pilas individuales de rasterización que consistan en 12 capas para cada año del período. Sé que puedo hacer lo siguiente para subconjuntar y guardar los raster individuales:
sub_ras <- subset(tmax, grep("X2090", names(tmax)))
writeRaster(sub_ras, file="tmax2090", format="GTiff")
Pero no estoy seguro de cómo hacer un bucle de esto? Eventualmente necesitaré hacer esto para un ladrillo raster de datos mensuales de 1970 a 2100.
Una vez que tenga mis pilas de rasterización individuales para cada año, tendré que leerlas individualmente en la función biovars para crear variables bioclimáticas para cada año. Para ello, utilizaré mapply de la siguiente manera:
pre = c("/path/pre2090.tif", "/path/pre2091.tif", ..., "/path/prec2100.tif")
tmax = c("/path/tmax2090.tif", "/path/tmax2091.tif", ..., "/path/tmax2100.tif")
tmin = c("/path/tmin2090.tif", "/path/tmin2091.tif", ..., "/path/tmin2100.tif")
output <- mapply(FUN = biovars, pre, tmin, tmax)
¿Me dará esto una trama de biovares para cada año?
¿O alguien tiene una sugerencia más elegante para este proceso?
1 votos
Por favor, utilice un texto con formato de código en lugar de una captura de pantalla.