Hola, estoy intentando dibujar la temperatura superficial pero suando voy a crear las matrices me da el siguiente error:
solamente 0's pueden ser mezclados con subscritos negativos
alguien sabe por qué me pasa?.
Gracias de ante mano.
Aquí dejo el script, el error es en el 5º paso:
# Dibujar el mapa de la matriz de viento del Atlántico con contorno de costa (o máscara de tierra) y
# pasarlo a formato tiff. Para ello tienes los archivo "sst.mnmean.nc" y "lsmask.nc":
-------------------------------------------------------------------------------------------------------------
# Pasos previos que siempre debo especificar:
rm(list=ls()) # limpiar/borrar todo lo que se haya guardado previamente de otros trabajos.
library(ncdf) # cargar las librerías/paquetes que vaya a necesitar para elaborar el ejercicio.
setwd("~/Ejercicio 04") # especificar el directorio de trabajo.
# 1º) Abrir el archivo .nc donde se encuentran los datos tomados. En este caso los datos son de temperatura superficial (sst).
A=open.ncdf("sst.mnmean.nc")
BM=open.ncdf("lsmask.nc")
# 2º) Leer las variables con las que vamos a trabajar:
lat=get.var.ncdf(A,"lat")
lon=get.var.ncdf(A,"lon")
tt=get.var.ncdf(A,"time")
sst=get.var.ncdf(A,"sst")
lat.mask=get.var.ncdf(BM,"lat")
lon.mask=get.var.ncdf(BM,"lon")
tt.mask=get.var.ncdf(BM,"time")
mask=get.var.ncdf(BM,"mask")
#3º) Sustituir los valores perdidos:
sst[sst==32757] <- NA
mask[mask==32757] <- NA
# 5º) Crear una matriz (serie temporal):
sst=sst[lon,lat,1] # sólo tomo los datos de lon y lat.
mask=mask[lon.mask,lat.mask] # aquí NO pongo el 1 porque la matriz "mask" sólo tiene 2 dimensiones.