Organizacao de dados Netcdf

Bom dia pessoal, Estou tentando extrair variáveis ambientais de arquivos formato netcdf. Até um certo momento consigo separtar em arquivos as Latitudes, Longitudes, time (mes/ano) e a dml (exemplo que mando aqui). Link para baixar os dados do exemplo https://www.dropbox.com/s/66dp4rgei791r52/DML05_12.nc nc <- open.nc("DML05_12.nc", write=TRUE) print.nc(nc) lat<-var.get.nc(nc, "LAT46_103") lon<-var.get.nc(nc, "LONN55_12") time<-var.get.nc(nc, "TIME") dml<-var.get.nc(nc, "MLD") Meu problema é que nao estou conseguindo organizar eles em colunas com seus respectivos valores para cada latitude, longitude, time e dml. o output final deveria ficar assim: lat lon time dml 1 -44.5 -55.5 2 -43.5 -55.5 3 -42.5 -55.5 4 -41.5 -55.5 5 -40.5 -55.5 6 -39.5 -55.5 Agradeço a ajuda desde já Humberto __________________________________________________ Prof. Dr. Humberto Gomes Hazin Universidade Federal Rural de Pernambuco - UFRPE Unidade Acadêmica de Serra Talhada - UAST Coordenador do Curso de Engenharia de Pesca Fazenda Saco, S/N - Caixa Postal 063 CEP 56900-000 Serra Talhada - PE Tel.(87) 3831-2206/3831-1927 Cel.(81) 9158 0564

Humberto, voce pode fazer isso utilizando a pacote ncdf (versao 1.6.6) e a funcao melt do pacote reshape, conforme CMR abaixo. require(ncdf) #‘ncdf’ version 1.6.6 require(reshape) nc <- open.ncdf("DML05_12.nc") nc # [1] "file DML05_12.nc has 4 dimensions:" # [1] "LONN55_12 Size: 68" # [1] "LAT46_103 Size: 58" # [1] "TIME Size: 96" # [1] "bnds Size: 2" # [1] "------------------------" # [1] "file DML05_12.nc has 2 variables:" # [1] "double TIME_bnds[bnds,TIME] Longname:TIME_bnds Missval:1e+30" # [1] "float MLD[LONN55_12,LAT46_103,TIME] Longname:argo mixed layer depth (m) Missval:-999" lat <- get.var.ncdf(nc, "LAT46_103") lon <- get.var.ncdf(nc, "LONN55_12") time <- get.var.ncdf(nc, "TIME") ## array da variavel MLD dml <- get.var.ncdf(nc, "MLD") str(dml) # num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ... ## atribuindo dimnames conforme lon, lat e tempo dimnames(dml)[[1]] <- as.character(lon) dimnames(dml)[[2]] <- as.character(lat) dimnames(dml)[[3]] <- as.character(time) str(dml) #num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ... #- attr(*, "dimnames")=List of 3 #..$ : chr [1:68] "-55.5" "-54.5" "-53.5" "-52.5" ... #..$ : chr [1:58] "-44.5" "-43.5" "-42.5" "-41.5" ... #..$ : chr [1:96] "731962" "731993" "732021" "732052" ... ## melt para reestruturacao dos dados mdml <- melt(dml) head(mdml) # X1 X2 X3 value #1 -55.5 -44.5 731962 25.41 #2 -54.5 -44.5 731962 25.91 #3 -53.5 -44.5 731962 26.42 #4 -52.5 -44.5 731962 26.89 #5 -51.5 -44.5 731962 27.30 #6 -50.5 -44.5 731962 27.63 tail(mdml) # X1 X2 X3 value #378619 6.5 12.5 734853 NA #378620 7.5 12.5 734853 NA #378621 8.5 12.5 734853 NA #378622 9.5 12.5 734853 NA #378623 10.5 12.5 734853 NA #378624 11.5 12.5 734853 NA require(lattice) levelplot(value~X1+X2|factor(X3),data=mdml) 2012/9/30 Humberto Hazin <hghazin@hotmail.com>
Bom dia pessoal,
Estou tentando extrair variáveis ambientais de arquivos formato netcdf. Até um certo momento consigo separtar em arquivos as Latitudes, Longitudes, time (mes/ano) e a dml (exemplo que mando aqui).
Link para baixar os dados do exemplo https://www.dropbox.com/s/66dp4rgei791r52/DML05_12.nc
nc <- open.nc("DML05_12.nc", write=TRUE) print.nc(nc) lat<-var.get.nc(nc, "LAT46_103") lon<-var.get.nc(nc, "LONN55_12") time<-var.get.nc(nc, "TIME") dml<-var.get.nc(nc, "MLD")
Meu problema é que nao estou conseguindo organizar eles em colunas com seus respectivos valores para cada latitude, longitude, time e dml.
o output final deveria ficar assim:
lat lon time dml 1 -44.5 -55.5 2 -43.5 -55.5 3 -42.5 -55.5 4 -41.5 -55.5 5 -40.5 -55.5 6 -39.5 -55.5
Agradeço a ajuda desde já
Humberto
__________________________________________________
Prof. Dr. Humberto Gomes Hazin Universidade Federal Rural de Pernambuco - UFRPE Unidade Acadêmica de Serra Talhada - UAST Coordenador do Curso de Engenharia de Pesca Fazenda Saco, S/N - Caixa Postal 063 CEP 56900-000 Serra Talhada - PE Tel.(87) 3831-2206/3831-1927 Cel.(81) 9158 0564
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- #------------------------------------------------------------------------------# # Jônatan Dupont Tatsch # # Climate and Biosphere Laboratory # # Department of Atmospheric Sciences # # Institute of Astronomy, Geophysics and Atmospheric Sciences # # University of São Paulo # # Rua do Matão, 1226 # # Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090 # # Phone:+55 11 3091-4772, Fax:+55 11 3091-4714 # # http://jonatandupont.weebly.com/index.html # #------------------------------------------------------------------------------#

Jonatan, Muito obrigado! Problema resolvido!!! Porém tenho uma pergunta em relação o "time" que na verdade sao datas mm/dd/yy, contudo aparece como numeros (ex. 731962) como posso fazer para converter-las para datas mesmo ou colocar em colunas dia, mes, ano? Humberto __________________________________________________ Prof. Dr. Humberto Gomes Hazin Universidade Federal Rural de Pernambuco - UFRPE Unidade Acadêmica de Serra Talhada - UAST Coordenador do Curso de Engenharia de Pesca Fazenda Saco, S/N - Caixa Postal 063 CEP 56900-000 Serra Talhada - PE Tel.(87) 3831-2206/3831-1927 Cel.(81) 9158 0564 Date: Sun, 30 Sep 2012 18:58:13 -0300 From: jdtatsch@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Organizacao de dados Netcdf Humberto, voce pode fazer isso utilizando a pacote ncdf (versao 1.6.6) e a funcao melt do pacote reshape, conforme CMR abaixo. require(ncdf) #‘ncdf’ version 1.6.6require(reshape) nc <- open.ncdf("DML05_12.nc")nc# [1] "file DML05_12.nc has 4 dimensions:"# [1] "LONN55_12 Size: 68"# [1] "LAT46_103 Size: 58" # [1] "TIME Size: 96"# [1] "bnds Size: 2"# [1] "------------------------"# [1] "file DML05_12.nc has 2 variables:"# [1] "double TIME_bnds[bnds,TIME] Longname:TIME_bnds Missval:1e+30" # [1] "float MLD[LONN55_12,LAT46_103,TIME] Longname:argo mixed layer depth (m) Missval:-999" lat <- get.var.ncdf(nc, "LAT46_103")lon <- get.var.ncdf(nc, "LONN55_12") time <- get.var.ncdf(nc, "TIME") ## array da variavel MLD dml <- get.var.ncdf(nc, "MLD") str(dml) # num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ... ## atribuindo dimnames conforme lon, lat e tempo dimnames(dml)[[1]] <- as.character(lon) dimnames(dml)[[2]] <- as.character(lat) dimnames(dml)[[3]] <- as.character(time) str(dml) #num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ... #- attr(*, "dimnames")=List of 3 #..$ : chr [1:68] "-55.5" "-54.5" "-53.5" "-52.5" ... #..$ : chr [1:58] "-44.5" "-43.5" "-42.5" "-41.5" ... #..$ : chr [1:96] "731962" "731993" "732021" "732052" ... ## melt para reestruturacao dos dados mdml <- melt(dml) head(mdml) # X1 X2 X3 value #1 -55.5 -44.5 731962 25.41 #2 -54.5 -44.5 731962 25.91 #3 -53.5 -44.5 731962 26.42 #4 -52.5 -44.5 731962 26.89 #5 -51.5 -44.5 731962 27.30 #6 -50.5 -44.5 731962 27.63 tail(mdml) # X1 X2 X3 value #378619 6.5 12.5 734853 NA #378620 7.5 12.5 734853 NA #378621 8.5 12.5 734853 NA #378622 9.5 12.5 734853 NA #378623 10.5 12.5 734853 NA #378624 11.5 12.5 734853 NA require(lattice)levelplot(value~X1+X2|factor(X3),data=mdml) 2012/9/30 Humberto Hazin <hghazin@hotmail.com> Bom dia pessoal, Estou tentando extrair variáveis ambientais de arquivos formato netcdf. Até um certo momento consigo separtar em arquivos as Latitudes, Longitudes, time (mes/ano) e a dml (exemplo que mando aqui). Link para baixar os dados do exemplo https://www.dropbox.com/s/66dp4rgei791r52/DML05_12.nc nc <- open.nc("DML05_12.nc", write=TRUE) print.nc(nc) lat<-var.get.nc(nc, "LAT46_103") lon<-var.get.nc(nc, "LONN55_12") time<-var.get.nc(nc, "TIME") dml<-var.get.nc(nc, "MLD") Meu problema é que nao estou conseguindo organizar eles em colunas com seus respectivos valores para cada latitude, longitude, time e dml. o output final deveria ficar assim: lat lon time dml 1 -44.5 -55.5 2 -43.5 -55.5 3 -42.5 -55.5 4 -41.5 -55.5 5 -40.5 -55.5 6 -39.5 -55.5 Agradeço a ajuda desde já Humberto __________________________________________________ Prof. Dr. Humberto Gomes Hazin Universidade Federal Rural de Pernambuco - UFRPE Unidade Acadêmica de Serra Talhada - UAST Coordenador do Curso de Engenharia de Pesca Fazenda Saco, S/N - Caixa Postal 063 CEP 56900-000 Serra Talhada - PE Tel.(87) 3831-2206/3831-1927 Cel.(81) 9158 0564 _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível. -- #------------------------------------------------------------------------------# # Jônatan Dupont Tatsch # # Climate and Biosphere Laboratory # # Department of Atmospheric Sciences # # Institute of Astronomy, Geophysics and Atmospheric Sciences # # University of São Paulo # # Rua do Matão, 1226 # # Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090 # # Phone:+55 11 3091-4772, Fax:+55 11 3091-4714 # # http://jonatandupont.weebly.com/index.html # #------------------------------------------------------------------------------# _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.

Humberto sugiro que dê uma olhada nesse material do Walmes. http://www.leg.ufpr.br/~walmes/ensino/ce223-2011-01/ce223-2011-01-aula22.R [ ]'s 2012/10/1 Humberto Hazin <hghazin@hotmail.com>
Jonatan,
Muito obrigado! Problema resolvido!!! Porém tenho uma pergunta em relação o "time" que na verdade sao datas mm/dd/yy, contudo aparece como numeros (ex. 731962) como posso fazer para converter-las para datas mesmo ou colocar em colunas dia, mes, ano?
Humberto
__________________________________________________
Prof. Dr. Humberto Gomes Hazin Universidade Federal Rural de Pernambuco - UFRPE Unidade Acadêmica de Serra Talhada - UAST Coordenador do Curso de Engenharia de Pesca Fazenda Saco, S/N - Caixa Postal 063 CEP 56900-000 Serra Talhada - PE Tel.(87) 3831-2206/3831-1927 Cel.(81) 9158 0564
------------------------------ Date: Sun, 30 Sep 2012 18:58:13 -0300 From: jdtatsch@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Organizacao de dados Netcdf
Humberto, voce pode fazer isso utilizando a pacote ncdf (versao 1.6.6) e a funcao melt do pacote reshape, conforme CMR abaixo.
require(ncdf) #‘ncdf’ version 1.6.6 require(reshape)
nc <- open.ncdf("DML05_12.nc") nc # [1] "file DML05_12.nc has 4 dimensions:" # [1] "LONN55_12 Size: 68" # [1] "LAT46_103 Size: 58" # [1] "TIME Size: 96" # [1] "bnds Size: 2" # [1] "------------------------" # [1] "file DML05_12.nc has 2 variables:" # [1] "double TIME_bnds[bnds,TIME] Longname:TIME_bnds Missval:1e+30" # [1] "float MLD[LONN55_12,LAT46_103,TIME] Longname:argo mixed layer depth (m) Missval:-999"
lat <- get.var.ncdf(nc, "LAT46_103") lon <- get.var.ncdf(nc, "LONN55_12") time <- get.var.ncdf(nc, "TIME")
## array da variavel MLD dml <- get.var.ncdf(nc, "MLD") str(dml) # num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ...
## atribuindo dimnames conforme lon, lat e tempo dimnames(dml)[[1]] <- as.character(lon) dimnames(dml)[[2]] <- as.character(lat) dimnames(dml)[[3]] <- as.character(time) str(dml) #num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ... #- attr(*, "dimnames")=List of 3 #..$ : chr [1:68] "-55.5" "-54.5" "-53.5" "-52.5" ... #..$ : chr [1:58] "-44.5" "-43.5" "-42.5" "-41.5" ... #..$ : chr [1:96] "731962" "731993" "732021" "732052" ...
## melt para reestruturacao dos dados mdml <- melt(dml)
head(mdml) # X1 X2 X3 value #1 -55.5 -44.5 731962 25.41 #2 -54.5 -44.5 731962 25.91 #3 -53.5 -44.5 731962 26.42 #4 -52.5 -44.5 731962 26.89 #5 -51.5 -44.5 731962 27.30 #6 -50.5 -44.5 731962 27.63
tail(mdml) # X1 X2 X3 value #378619 6.5 12.5 734853 NA #378620 7.5 12.5 734853 NA #378621 8.5 12.5 734853 NA #378622 9.5 12.5 734853 NA #378623 10.5 12.5 734853 NA #378624 11.5 12.5 734853 NA
require(lattice) levelplot(value~X1+X2|factor(X3),data=mdml)
2012/9/30 Humberto Hazin <hghazin@hotmail.com>
Bom dia pessoal,
Estou tentando extrair variáveis ambientais de arquivos formato netcdf. Até um certo momento consigo separtar em arquivos as Latitudes, Longitudes, time (mes/ano) e a dml (exemplo que mando aqui).
Link para baixar os dados do exemplo https://www.dropbox.com/s/66dp4rgei791r52/DML05_12.nc
nc <- open.nc("DML05_12.nc", write=TRUE) print.nc(nc) lat<-var.get.nc(nc, "LAT46_103") lon<-var.get.nc(nc, "LONN55_12") time<-var.get.nc(nc, "TIME") dml<-var.get.nc(nc, "MLD")
Meu problema é que nao estou conseguindo organizar eles em colunas com seus respectivos valores para cada latitude, longitude, time e dml.
o output final deveria ficar assim:
lat lon time dml 1 -44.5 -55.5 2 -43.5 -55.5 3 -42.5 -55.5 4 -41.5 -55.5 5 -40.5 -55.5 6 -39.5 -55.5
Agradeço a ajuda desde já
Humberto
__________________________________________________
Prof. Dr. Humberto Gomes Hazin Universidade Federal Rural de Pernambuco - UFRPE Unidade Acadêmica de Serra Talhada - UAST Coordenador do Curso de Engenharia de Pesca Fazenda Saco, S/N - Caixa Postal 063
CEP 56900-000 Serra Talhada - PE Tel.(87) 3831-2206/3831-1927 Cel.(81) 9158 0564
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--
#------------------------------------------------------------------------------# # Jônatan Dupont Tatsch # # Climate and Biosphere Laboratory # # Department of Atmospheric Sciences # # Institute of Astronomy, Geophysics and Atmospheric Sciences # # University of São Paulo # # Rua do Matão, 1226 # # Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090 # # Phone:+55 11 3091-4772, Fax:+55 11 3091-4714 # # http://jonatandupont.weebly.com/index.html #
#------------------------------------------------------------------------------#
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- #------------------------------------------------------------------------------# # Jônatan Dupont Tatsch # # Climate and Biosphere Laboratory # # Department of Atmospheric Sciences # # Institute of Astronomy, Geophysics and Atmospheric Sciences # # University of São Paulo # # Rua do Matão, 1226 # # Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090 # # Phone:+55 11 3091-4772, Fax:+55 11 3091-4714 # # http://jonatandupont.weebly.com/index.html # #------------------------------------------------------------------------------#
participantes (2)
-
Humberto Hazin
-
Jônatan