Boa noite pessoal,

 

Estou extraindo de um arquivo ncdf os valores de latitude (lat) longitude( lon)  e temperatura da superfície da agua do mar( SST), entretanto a longitude (lon) ela está na projeção 0 a 360 graus. Minha pergunta é como faço para converter ela para -180 a 180 graus? Segue o script que estou utilizando juntamente com o link dos dados.

Desde já agradeço a ajuda

Humberto

 

          lon

             lat

     data

          sst

               Lon como deveria ser

299.5

10.5

11/30/1981

27.85

 

-60.000

300.5

10.5

11/30/1981

27.96

 

-59.500

301.5

10.5

11/30/1981

28.02

 

-58.500

302.5

10.5

11/30/1981

28.02

 

-57.500

303.5

10.5

11/30/1981

27.97

 

-56.500

304.5

10.5

11/30/1981

27.84

 

-55.500

305.5

10.5

11/30/1981

27.81

 

-54.500

306.5

10.5

11/30/1981

27.78

 

-53.500

307.5

10.5

11/30/1981

27.75

 

-52.500

 

 

Link para acesso dos dados https://www.dropbox.com/s/xnab2g365mduykx/SST_81_14.nc?dl=0

 

Script:

require(ncdf) #'ncdf' versao 1.6.6

require(reshape)

require(chron)

 

###sst

nc <- open.ncdf("SST_81_14.nc")

nc

 

lat <- get.var.ncdf(nc, "lat")

lon <- get.var.ncdf(nc, "lon")

tunits <- att.get.ncdf(nc,"time","units")

 

# print tunits

tunits$value

 

# criar tempo "real" Times

time<- get.var.ncdf(nc,"time")

Time<-chron(time,origin=c(month=1, day=1, year=1900))

 

## array da variavel sst

wm <- get.var.ncdf(nc, "sst")

str(wm)

 

## atribuindo dimnames conforme lon, lat e tempo

dimnames(wm)[[1]] <- as.character(lon)

dimnames(wm)[[2]] <- as.character(lat)

dimnames(wm)[[3]] <- as.character(Time)

str(wm)

 

## melt para reestruturação dos dados

mwm <- melt(wm)

head(mwm)