New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Class to estimate magnetization diretion of dipoles #87

Merged
merged 25 commits into from Jan 30, 2014

Conversation

Projects
None yet
2 participants
@birocoles
Member

birocoles commented Jan 28, 2014

The DipoleMagDir class estimates the magnetization vector
of dipolar bodies with known center. The estimate is
obtained by from total field anomaly.

TODO:

Since this is the first new feature, you'll need to update some things on doc/changelog.rst:

Add a new section for version 0.3:

Version 0.3
---------------

**Release date**: 

**Changes**:

Then after that you can make an entry describing your change.

birocoles added some commits Jan 28, 2014

Class to estimate magnetization diretion of dipoles
The DipoleMagDir class estimates the magnetization vector
of dipolar bodies with known center. The estimate is
obtained by from total field anomly.
@birocoles

This comment has been minimized.

Member

birocoles commented Jan 29, 2014

@leouieda

Cara, não to conseguindo entender porque o doc test da magdir ta falhando. Você poderia me ajudar com isso?

@leouieda

This comment has been minimized.

Member

leouieda commented Jan 29, 2014

Veja as mensagens de erro:

Failed example:
solver.p_
Expected nothing
Got:
array([ 2325.82553937, -410.10579501, -859.59037572, 1667.34110869, -1399.06530934, 1256.63706144])

O que tá dizendo ai é que na linha que diz:

>>> solver.p_

Você esperava que não desse nada (não colocou nenhum valor de saida embaixo dessa linha).
E quando ele roda o que aparece é o vetor de parametros (solver.p_).

Nos doctests, o que vem numa linha sem >>> é a saída esperada do que tem acima. Por isso que tem o True abaixo de:

>>> numpy.allclose(estimate_true, solver.estimate_, rtol=0.001, atol=0.001)
True

Ele roda a linha com >>> e compara com o que tem abaixo. Quando ele roda solver.p_, ele obtem um array e compara com o que você diz que tinha que dar (nada). Por isso dá erro.

@leouieda

This comment has been minimized.

Member

leouieda commented Jan 29, 2014

Coisas para tomar cuidado:

  1. Nunca use tabs. Sempre 4 espaços. Configure o editor que tá usando para colocar 4 espaços quando aperta o tab. Se ele não fizer isso, mude de editor. Cachorrinhos são assassinados toda vez que alguém usa tabs.
  2. Não deixe as linhas passarem de 80 characteres.
  3. Em geral, siga a PEP8 http://www.python.org/dev/peps/pep-0008/
@birocoles

This comment has been minimized.

Member

birocoles commented Jan 29, 2014

@leouieda

Acho que terminei quase tudo

@birocoles

This comment has been minimized.

Member

birocoles commented Jan 29, 2014

@leouieda

Aparentemente, o problema do doc test foi resolvido.

@leouieda

This comment has been minimized.

Member

leouieda commented Jan 29, 2014

@birocoles O Travis tá dando erro ainda e aqui também. Isso é merda da diferença na aritmética para o Windows e linux eu acho. O Travis roda no ubuntu e tá dando o mesmo que aqui. Acho que o mais esperto a fazer é imprimir no doctest só algumas casas de precisão (tipo 3-5). Algo assim:

>>> for e in solver.estimate_:
...     print "%.4f %.4f %.4f" % (e[0], e[1], e[2])
2513.2741 -20.0000 -10.0000
2513.2741 30.0000 -40.0000

Ao invés de colocar solves.estimate_[0] que imprime tudo.

@birocoles

This comment has been minimized.

Member

birocoles commented Jan 30, 2014

@leouieda

Eu vi que as diferenças numéricas ocorrem após a décima casa decimal. Nesse caso, eu imprimi os resultados como %.10f.

@birocoles

This comment has been minimized.

Member

birocoles commented Jan 30, 2014

@leouieda

Aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!!!!!!

@leouieda

This comment has been minimized.

Member

leouieda commented Jan 30, 2014

@birocoles quase pronto! Compilei a documentação aqui e o sphinx tá dando um erro. Ele é meio chato. No arquivo gravmag.magdir.rst, os == abaixo do título tem que ser do tamanho ou maior que o título. Ou seja, taca mais = ali.

Outra coisa, coloque o link do Pull Request no changelog, como tá nos abaixo. O link desse é https://github.com/leouieda/fatiando/pull/87

Acho que aí já tá tudo pronto. Documentado, testado e revisado. Perfeito.

@leouieda

This comment has been minimized.

Member

leouieda commented Jan 30, 2014

@birocoles rodei aqui e tá tudo passando. Vai adicionar mais algo ou posso integrar?

@birocoles

This comment has been minimized.

Member

birocoles commented Jan 30, 2014

@leouieda
Pode integrar!

leouieda added a commit that referenced this pull request Jan 30, 2014

Merge pull request #87 from birocoles/DipoleMagDir-class
Class to estimate magnetization diretion of dipoles

@leouieda leouieda merged commit 02ee9cc into fatiando:master Jan 30, 2014

1 check passed

default The Travis CI build passed
Details
@leouieda

This comment has been minimized.

Member

leouieda commented Jan 30, 2014

@birocoles feito!

@birocoles birocoles deleted the birocoles:DipoleMagDir-class branch Jan 31, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment