<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Mateus, bom dia!</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Sugiro que você forneça o feedback acerca das sugestões que recebe na lista. Assim, podemos saber qual solução funcionou e o material fica útil pra referência futura. Dentro das suas possibilidades, avalie a possibilidade de postar o script final com a solução que você produziu.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Segue uma ideia pra produzir um arquivo ascii (x, y, z):</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default"><font face="monospace, monospace">### <code r></font></div><div class="gmail_default"><font face="monospace, monospace">### acrescente no seu script!</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default" style=""><div class="gmail_default"><font face="monospace, monospace">map( xlim=c(-100,-10), ylim=c(-60,10))</font></div><div class="gmail_default"><font face="monospace, monospace">map.axes()</font></div><div class="gmail_default"><font face="monospace, monospace">contour(lon, lat, media_ColumnAmountO3, add=T, levels=intervalos, lwd=2, labcex=1.3, col=heat.colors(14) )</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace"># Transpose + flip pra matriz corresponder ao que você vê plotado na tela com contour(), filled.countour()</font></div><div class="gmail_default"><font face="monospace, monospace">tmp <- (t(media_ColumnAmountO3)[ncol(media_ColumnAmountO3):1,])</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace"># Verificando...</font></div><div class="gmail_default"><font face="monospace, monospace">tmp[1:3, 1:4]       # UL</font></div><div class="gmail_default"><font face="monospace, monospace">tmp[1:3, 127:130]   # UR</font></div><div class="gmail_default"><font face="monospace, monospace">tmp[68:70, 1:4]     # LL</font></div><div class="gmail_default"><font face="monospace, monospace">tmp[68:70, 127:130] # LR</font></div><div class="gmail_default"><font face="monospace, monospace">as.vector(tmp[1:3, 1:4]) ### by columns - upper left</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">grid <- expand.grid(x=lon, y=lat)</font></div><div class="gmail_default"><font face="monospace, monospace">head(grid[order(grid$x, rev(grid$y)),]) # by columns</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">teste <- cbind(grid[order(grid$x, rev(grid$y)),], z=as.vector(tmp))</font></div><div class="gmail_default"><font face="monospace, monospace">head(teste, 3)</font></div><div class="gmail_default"><font face="monospace, monospace">#           x   y        z</font></div><div class="gmail_default"><font face="monospace, monospace"># 8971 -119.5 9.5 245.2939</font></div><div class="gmail_default"><font face="monospace, monospace"># 8841 -119.5 8.5 244.0713</font></div><div class="gmail_default"><font face="monospace, monospace"># 8711 -119.5 7.5 242.9422</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">tail(teste, 3)</font></div><div class="gmail_default"><font face="monospace, monospace">#       x     y        z</font></div><div class="gmail_default"><font face="monospace, monospace"># 390 9.5 -57.5 296.8890</font></div><div class="gmail_default"><font face="monospace, monospace"># 260 9.5 -58.5 297.0280</font></div><div class="gmail_default"><font face="monospace, monospace"># 130 9.5 -59.5 296.6809</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">write.table(teste,file="teste.txt",row.names=TRUE, sep="", quote=FALSE)</font></div><div class="gmail_default" style="font-family:verdana,sans-serif">### </code></div></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="arial, helvetica, sans-serif" style="font-size:small"><div style="font-family:'trebuchet ms',sans-serif;display:inline">​</div></font><font face="arial, helvetica, sans-serif" style="font-size:12.8px"><span style="font-size:small">================================================</span><br>Éder Comunello</font><div style="font-size:12.8px"><span style="font-family:arial,helvetica,sans-serif">Agronomist (UEM), MSc in Environ. Sciences (UEM)</span><font face="arial, helvetica, sans-serif"><br></font></div><div style="font-size:12.8px"><div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">DSc in Agricultural Systems Engineering (USP/Esalq)</span><br></div><div><span style="font-size:small">Brazilian Agricultural Research Corporation (</span><font face="arial, helvetica, sans-serif" style="font-size:small">Embrapa)</font></div><div><div><font face="arial, helvetica, sans-serif" style="font-size:small">Dourados, MS, Brazil </font><font face="arial, helvetica, sans-serif" size="2">|<O>|</font></div><div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">================================================</span><br></div></div></div><div style="font-size:small"><font face="arial, helvetica, sans-serif">GEO, </font>-22.2752, -54.8182, 408m<span style="font-family:arial,helvetica,sans-serif"><br></span></div><div style="font-size:12.8px"><span style="font-size:small;font-family:arial,helvetica,sans-serif">UTC-04:00 / DST: UTC-03:00</span></div><div><div><div><br></div><div><br></div></div><div style="font-size:small"><br></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">Em 20 de fevereiro de 2016 23:44, Mateus Dias Nunes <span dir="ltr"><<a href="mailto:nunes.mateusdias@gmail.com" target="_blank">nunes.mateusdias@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div style="font-family:verdana,sans-serif">Olá preciso gerar um arquivo de saída ascii que contenha as informações de lat e lon para este campo meteorológico.</div><div style="font-family:verdana,sans-serif">Já consegui gerar o arquivo ascii, porém ele fica sem as informações de lat (-60S,10N) e lon(-120W,10E)</div><div style="font-family:verdana,sans-serif">abaixo o script.</div><div style="font-family:verdana,sans-serif"><br></div><div><div><font face="verdana, sans-serif">library(maps)</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">library(ncdf4) </font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">  </font></div><div><font face="verdana, sans-serif"> dados <- nc_open('<a href="http://teste.nc" target="_blank">teste.nc</a>')  </font></div><div><br></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">lat <- ncvar_get( dados, 'lat' )</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">lon <- ncvar_get( dados, 'lon' )</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">time <- ncvar_get( dados, 'time' )</font></div><div><br></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"># lendo dados coluna total de Ozônio</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"># dimensoes da variavel ColumnAmountO3</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">dims_ColumnAmountO3 <- dim(ColumnAmountO3)</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"># tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo</font></div><div><br></div><div><font face="verdana, sans-serif">dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )</font></div><div><br></div><div><font face="verdana, sans-serif"># calculando a média e retornado-a em 2D</font></div><div><br></div><div><font face="verdana, sans-serif">media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">#==========================================================================================================</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"># longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }</font></div><div><br></div><div><font face="verdana, sans-serif">plotando mapa da America do Sul</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">map(xlim=c(-90,-30), ylim=c(-60,10))</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">map.axes()              # plotando eixos</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">title( main="Campo médio de Ozônio " )   # título do gráfico</font></div><div><font face="verdana, sans-serif"><br></font></div><div><br></div><div><font face="verdana, sans-serif"># definindo intervalo de 5 Dobson Units (DU)</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )</font></div><div><br></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">#PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3  )</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><div>teste=data.frame(media_ColumnAmountO3)</div><div><br></div><div>write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE)</div></font></div><div style="font-family:verdana,sans-serif"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><font face="tahoma, sans-serif">____________________________________________________________________________</font></div><span class=""><font color="#888888"><font face="tahoma, sans-serif"><div dir="ltr"><font face="tahoma, sans-serif"><br></font></div>MATEUS DIAS NUNES</font><div><div><font face="tahoma, sans-serif">MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET</font></div><div><span style="font-family:tahoma,sans-serif">UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL</span><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif"><span style="background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0)">TELEFONE: <a href="tel:%2B55%20%2853%29%2081125154" value="+555381125154" target="_blank">+55 (53) 81125154</a>           </span>  </span><br>____________________________________________<span style="background-color:rgb(255,255,255)"><span></span></span>________________________________</font></div></div></font></span></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div></div>