[R-br] Diferenças entre sistemas operacionais (geoR)

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP

_______________________________________________
R-br mailing list
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Para esmagar esse bug, pode-se setar uma semente específica em ambos os SO e ver se aí há alguma diferença nos resultados.

On Thu, Oct 4, 2018 at 5:45 PM Thiago V. dos Santos via R-br <[hidden email]> wrote:
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Mande um email para o autor

Ele é da ufpr. Acredito que ele seja membro dessa lista .

att

On Oct 4 2018, at 6:00 pm, Cesar Rabak via R-br <[hidden email]> wrote:

Para esmagar esse bug, pode-se setar uma semente específica em ambos os SO e ver se aí há alguma diferença nos resultados.

On Thu, Oct 4, 2018 at 5:45 PM Thiago V. dos Santos via R-br <[hidden email]> wrote:
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
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
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
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
In reply to this post by R-br mailing list
Não sei se existe um gerador de números aleatórios dentro da função, mas estou passando pra ela todos os parâmetros já pré definidos antes dela ser chamada.
Vou colocar um set.sead() no início do código, conforme sugestão do César para então comparar os valores gerados nos diferentes sistemas operacionais e ver o que acontece.

Em qui, 4 de out de 2018 17:45, Thiago V. dos Santos <[hidden email]> escreveu:
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Boa noite Paulo, como vai?

Agradeço desde já pela atenção.
Tentei remover ao máximo as partes que não afetam na função e anexei o script no arquivo texto que segue.

Att

Em qui, 4 de out de 2018 19:23, Paulo Justiniano Ribeiro Junior <[hidden email]> escreveu:
Olá!

krige.conv() só utiliza simulações caso seja indicado em output.options 
o número de simulações da distribuição preditiva.
Neste caso são geradas simulações.
As simulações só são geradas se:
1. especificado explicitamente 
2. se for utilizada alguma transformação com lambda diferente de 0, 1/2

O seu exemplo se enquadra em algum caso?

A msg tb indica que voce colocou algum em micro.scale e seria bom saber o que deseja com isto. 

Se dados e códigos são grande Envie  o comando completo da chamada da krige.conv() para vermos as opções

P.J.





From: "Yury Duarte" <[hidden email]>
To: "Thiago V. dos Santos" <[hidden email]>
Cc: "a lista Brasileira oficial de discussão do programa R." <[hidden email]>, [hidden email], "p diggle" <[hidden email]>
Sent: Thursday, 4 October, 2018 6:08:32 PM
Subject: Re: [R-br] Diferenças entre sistemas operacionais (geoR)

Não sei se existe um gerador de números aleatórios dentro da função, mas estou passando pra ela todos os parâmetros já pré definidos antes dela ser chamada.
Vou colocar um set.sead() no início do código, conforme sugestão do César para então comparar os valores gerados nos diferentes sistemas operacionais e ver o que acontece.

Em qui, 4 de out de 2018 17:45, Thiago V. dos Santos <[hidden email]> escreveu:
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.

teste.txt (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Apenas por curiosidade: essa duvida teve algum desdobramento?

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 7:12:29 PM EDT, Yury Duarte <[hidden email]> wrote:


Boa noite Paulo, como vai?

Agradeço desde já pela atenção.
Tentei remover ao máximo as partes que não afetam na função e anexei o script no arquivo texto que segue.

Att

Em qui, 4 de out de 2018 19:23, Paulo Justiniano Ribeiro Junior <[hidden email]> escreveu:
Olá!

krige.conv() só utiliza simulações caso seja indicado em output.options 
o número de simulações da distribuição preditiva.
Neste caso são geradas simulações.
As simulações só são geradas se:
1. especificado explicitamente 
2. se for utilizada alguma transformação com lambda diferente de 0, 1/2

O seu exemplo se enquadra em algum caso?

A msg tb indica que voce colocou algum em micro.scale e seria bom saber o que deseja com isto. 

Se dados e códigos são grande Envie  o comando completo da chamada da krige.conv() para vermos as opções

P.J.





From: "Yury Duarte" <[hidden email]>
To: "Thiago V. dos Santos" <[hidden email]>
Cc: "a lista Brasileira oficial de discussão do programa R." <[hidden email]>, [hidden email], "p diggle" <[hidden email]>
Sent: Thursday, 4 October, 2018 6:08:32 PM
Subject: Re: [R-br] Diferenças entre sistemas operacionais (geoR)

Não sei se existe um gerador de números aleatórios dentro da função, mas estou passando pra ela todos os parâmetros já pré definidos antes dela ser chamada.
Vou colocar um set.sead() no início do código, conforme sugestão do César para então comparar os valores gerados nos diferentes sistemas operacionais e ver o que acontece.

Em qui, 4 de out de 2018 17:45, Thiago V. dos Santos <[hidden email]> escreveu:
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Diferenças entre sistemas operacionais (geoR)

R-br mailing list
Olá Thiago, como vai?

Desculpe pela demora na resposta. Mas não houve nenhum desdobramento na discussão.
Acabei optando por utilizar outra estratégia para resolver o problema. Utilizando a função krige, independente do sistema operacional utilizado, os resultados das saidas foram os mesmo. Anexei o código abaixo, caso queira dar uma olhada.

Abraços

#-----Gera uma malha de pontos raster-----#
gerar_grade_de_pontos_dentro_do_talhao = function(tamanho_pixel_em_m,
                                                  shapefile_contorno_do_talhao,
                                                  distancia){
  
  print('gerar_grade_de_pontos_dentro_do_talhao')
  extensao_do_talhao = data.frame(bbox(shapefile_contorno_do_talhao_original))
  
  datum_utm = proj4string(shapefile_contorno_do_talhao)
  
  grade = expand.grid(x = seq(from = extensao_do_talhao[1, 1],
                              to = extensao_do_talhao[1, 2],
                              by = tamanho_pixel_em_m),
                      y = seq(from = extensao_do_talhao[2, 1],
                              to = extensao_do_talhao[2, 2],
                              by = tamanho_pixel_em_m))
  
  coordinates(grade) = ~x + y
  proj4string(grade) = CRS(datum_utm)
  
  buffer_do_talhao = ativar_buffer(shapefile_contorno_do_talhao, #'ativar_buffer' eh uma funcao
                                   TRUE,
                                   datum_utm,
                                   distancia)
  
  grade_dentro_do_talhao = crop(grade, buffer_do_talhao)
  
  gridded(grade_dentro_do_talhao) = TRUE
  fullgrid(grade_dentro_do_talhao) = TRUE
  
  
  return(grade_dentro_do_talhao)
}

#-----Gera o grid para receber os valores interpolados-----#
    grid_talhao = gerar_grade_de_pontos_dentro_do_talhao(20,
                                                         shapefile_contorno_do_talhao_original,
                                                         0)
  
    #-----Krigagem-----#
    variograma = variogram( layer ~ 1, shapefile_pontos_ndvi, cutoff = 50000, width = 30 )
    plot(variograma)
    maxima_semivariancia = max(variograma$gamma)
    maximo_alcance = variograma[which(variograma$gamma==maxima_semivariancia),2]
    modelo = vgm( maxima_semivariancia, "Sph", maximo_alcance, nug = 0)
    krigagem_ordinaria = krige(layer ~ 1, shapefile_pontos_ndvi, grid_talhao, model = modelo, nmax=9);
    #-----descomentar a linha abaixo caso queira ver o plot-----#
    #print( sp::spplot(OK["var1.pred"], xlab="(NDVI)"), split=c( 1, 1, 2, 1 ), more=T )
    
    coordenadas_raster = raster(grid_talhao, 20)
    coordenadas = rasterToPoints(coordenadas_raster, spatial = FALSE)
    
    fim = data.frame(coordenadas[,1], coordenadas[,2], krigagem_ordinaria$var1.pred)
    coordenadas = data.frame(coordenadas[,1], coordenadas[,2])
    coordenadas = coordinates(coordenadas)
    dados = data.frame(fim$krigagem_ordinaria.var1.pred)
    #-----Descomentar linha abaixo para salvar o dataframe em .txt das interpolacoes e suas coordenadas-----#
    #write.table(fim, paste0(raiz, i, '_', 'teste_grid.txt'), sep = ',', row.names = F)
    
    shp_final = SpatialPointsDataFrame(coords = coordenadas, data = dados)
    shp_final = intersect(shp_final, shapefile_contorno_do_talhao_original)

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP


Em ter, 16 de out de 2018 às 18:45, Thiago V. dos Santos <[hidden email]> escreveu:
Apenas por curiosidade: essa duvida teve algum desdobramento?

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 7:12:29 PM EDT, Yury Duarte <[hidden email]> wrote:


Boa noite Paulo, como vai?

Agradeço desde já pela atenção.
Tentei remover ao máximo as partes que não afetam na função e anexei o script no arquivo texto que segue.

Att

Em qui, 4 de out de 2018 19:23, Paulo Justiniano Ribeiro Junior <[hidden email]> escreveu:
Olá!

krige.conv() só utiliza simulações caso seja indicado em output.options 
o número de simulações da distribuição preditiva.
Neste caso são geradas simulações.
As simulações só são geradas se:
1. especificado explicitamente 
2. se for utilizada alguma transformação com lambda diferente de 0, 1/2

O seu exemplo se enquadra em algum caso?

A msg tb indica que voce colocou algum em micro.scale e seria bom saber o que deseja com isto. 

Se dados e códigos são grande Envie  o comando completo da chamada da krige.conv() para vermos as opções

P.J.





From: "Yury Duarte" <[hidden email]>
To: "Thiago V. dos Santos" <[hidden email]>
Cc: "a lista Brasileira oficial de discussão do programa R." <[hidden email]>, [hidden email], "p diggle" <[hidden email]>
Sent: Thursday, 4 October, 2018 6:08:32 PM
Subject: Re: [R-br] Diferenças entre sistemas operacionais (geoR)

Não sei se existe um gerador de números aleatórios dentro da função, mas estou passando pra ela todos os parâmetros já pré definidos antes dela ser chamada.
Vou colocar um set.sead() no início do código, conforme sugestão do César para então comparar os valores gerados nos diferentes sistemas operacionais e ver o que acontece.

Em qui, 4 de out de 2018 17:45, Thiago V. dos Santos <[hidden email]> escreveu:
Da maneira que eu vejo, a unica explicacao plausivel seria se a krige.conv usasse um algoritmo gerador de numeros aleatorios. Caso voce tenha experiencia com esmagamento de bugs, vc pode conferir isso no codigo dela. Ou entao esperar o feedback dos autores.

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 4:39:08 PM EDT, Yury Duarte <[hidden email]> wrote:


Sim, Thiago. 
Até o último passo os resultados são iguais. A mesma grade com o mesmo número de pontos é gerada. As mesmas informações são passadas como parâmetro para a função, mas os resultados não batem. 
Nem mesmo em casos onde a função não quebra, os valores gerados no Ubuntu não batem com os valores gerados em Windows. Isso está me intrigando muito.

Em qui, 4 de out de 2018 17:23, Thiago V. dos Santos <[hidden email]> escreveu:
Nao deveria ser assim.

O seu codigo produz resultados identicos ate o momento em que voce roda a krige.conv?

Em caso positivo, acho que seria uma boa ideia reportar esse erro ao Paulo ([hidden email]) ou ao Peter ([hidden email]).

Greetings,
 -- Thiago V. dos Santos

Postdoctoral Research Fellow
Department of Climate and Space Science and Engineering
University of Michigan


On Thursday, October 4, 2018, 3:42:35 PM EDT, Yury Duarte via R-br <[hidden email]> wrote:


Boa tarde a todos os coleas!

Fiz um código simples para interpolar valores que tenho em uma grade que construo dentro do próprio código. Para isso, estou utilizando um modelo esférico de interpolação por krigagem através da função krige.conv().
Estou achando muito estranho o fato de que, quando rodo o script em ambiente Windows, não tenho problemas e meu script gera as saídas exatamente como o esperado, entretanto, quando rodo o mesmo script (com o mesmo banco de dados) em ambiente Linux (Ubuntu), a função krige.conv() corrompe e o erro gerado é: 
krige.control: micro.scale must be in the interval [0, nugget]

Não encontrei nada em outros fóruns que pudesse me ajudar para explicar isso.
Caso alguém tenha interesse em testar exatamente o mesmo conjunto de dados que estou utilizando, informem que passo um link no google drive, já que o código e os dados de entrada são grandes demais para serem anexados no corpo do e-mail/nos anexos.

Desde já, agradeço a atenção e a ajuda de todos!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.