Skip to content

Commit

Permalink
Tests with assert().
Browse files Browse the repository at this point in the history
  • Loading branch information
miroslavbroz committed Nov 9, 2023
1 parent 66f233f commit 195c3ae
Show file tree
Hide file tree
Showing 3 changed files with 118 additions and 88 deletions.
64 changes: 37 additions & 27 deletions tests/nosetests/test_interferometry/test_interferometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,43 +6,53 @@
import phoebe
from astropy import units

dir_ = os.path.dirname(os.path.realpath(__file__))
def test_interferometry(verbose=False):

logger = phoebe.logger(clevel='INFO')
#logger = phoebe.logger(clevel='DEBUG')
dir_ = os.path.dirname(os.path.realpath(__file__))

b = phoebe.default_binary()
b = phoebe.default_binary()

times, u, v, wavelengths, vises, sigmas = np.loadtxt(os.path.join(dir_, "Vis.dat"), usecols=[0, 1, 2, 3, 5, 6], unpack=True)
times, u, v, wavelengths, vises, sigmas = np.loadtxt(os.path.join(dir_, "Vis.dat"), usecols=[0, 1, 2, 3, 5, 6], unpack=True)

b.add_dataset('vis', times=times, u=u, v=v, wavelengths=wavelengths, vises=vises, sigmas=sigmas)
b.add_dataset('vis', times=times, u=u, v=v, wavelengths=wavelengths, vises=vises, sigmas=sigmas)

b.set_value('distance', context = 'system', value=100*units.pc)
b.set_value('distance', context = 'system', value=100*units.pc)

b.run_compute()
b.run_compute()

f = open('twigs.txt', 'w')
for twig in b.twigs:
f.write("%s\n" % (twig))
f.close()
f = open('twigs.txt', 'w')
for twig in b.twigs:
f.write("%s\n" % (twig))
f.close()

print("b['vis@vis01@phoebe01@latest@vis@model'] = ", b['vis@vis01@phoebe01@latest@vis@model'])
print("b['times@vis01@phoebe01@latest@vis@model'] = ", b['times@vis01@phoebe01@latest@vis@model'])
print("b['u@vis01@phoebe01@latest@vis@model'] = ", b['u@vis01@phoebe01@latest@vis@model'])
print("b['v@vis01@phoebe01@latest@vis@model'] = ", b['v@vis01@phoebe01@latest@vis@model'])
print("b['wavelengths@vis01@phoebe01@latest@vis@model'] = ", b['wavelengths@vis01@phoebe01@latest@vis@model'])
print("b['vises@vis01@phoebe01@latest@vis@model'] = ", b['vises@vis01@phoebe01@latest@vis@model'])
if verbose:
print("b['vis@vis01@phoebe01@latest@vis@model'] = ", b['vis@vis01@phoebe01@latest@vis@model'])
print("b['times@vis01@phoebe01@latest@vis@model'] = ", b['times@vis01@phoebe01@latest@vis@model'])
print("b['u@vis01@phoebe01@latest@vis@model'] = ", b['u@vis01@phoebe01@latest@vis@model'])
print("b['v@vis01@phoebe01@latest@vis@model'] = ", b['v@vis01@phoebe01@latest@vis@model'])
print("b['wavelengths@vis01@phoebe01@latest@vis@model'] = ", b['wavelengths@vis01@phoebe01@latest@vis@model'])
print("b['vises@vis01@phoebe01@latest@vis@model'] = ", b['vises@vis01@phoebe01@latest@vis@model'])

times = b['times@vis01@phoebe01@latest@vis@model'].value
u = b['u@vis01@phoebe01@latest@vis@model'].value
v = b['v@vis01@phoebe01@latest@vis@model'].value
wavelengths = b['wavelengths@vis01@phoebe01@latest@vis@model'].value
vises = b['vises@vis01@phoebe01@latest@vis@model'].value
times = b['times@vis01@phoebe01@latest@vis@model'].value
u = b['u@vis01@phoebe01@latest@vis@model'].value
v = b['v@vis01@phoebe01@latest@vis@model'].value
wavelengths = b['wavelengths@vis01@phoebe01@latest@vis@model'].value
vises = b['vises@vis01@phoebe01@latest@vis@model'].value

np.savetxt('test_interferometry.out', np.c_[times, u, v, wavelengths, vises], header='times u v wavelenghts vises')
np.savetxt('test_interferometry.out', np.c_[times, u, v, wavelengths, vises], header='times u v wavelenghts vises')

#b.plot(show=True)
#b.plot(x='u', show=True)
#b.plot(x='v', show=True)
#b.plot(show=True)
#b.plot(x='u', show=True)
#b.plot(x='v', show=True)

assert(abs(vises[0] - 9.999823734331741987e-01) < 1.0e-12)
assert(abs(vises[329] - 4.495290293983521257e-02) < 1.0e-12)
assert(abs(vises[330] - 9.999990005798550241e-01) < 1.0e-12)
assert(abs(vises[659] - 8.960520659297093182e-01) < 1.0e-12)

if __name__ == "__main__":
logger = phoebe.logger(clevel='INFO')

test_interferometry(verbose=True)


61 changes: 34 additions & 27 deletions tests/nosetests/test_interferometry2/test_interferometry2.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,43 +6,50 @@
import phoebe
from astropy import units

dir_ = os.path.dirname(os.path.realpath(__file__))
def test_interferometry2(verbose=False):

logger = phoebe.logger(clevel='INFO')
#logger = phoebe.logger(clevel='DEBUG')
dir_ = os.path.dirname(os.path.realpath(__file__))

b = phoebe.default_binary()
b = phoebe.default_binary()

times, u, v, wavelengths, vises, sigmas = np.loadtxt(os.path.join(dir_, "Vis.dat"), usecols=[0, 1, 2, 3, 5, 6], unpack=True)
times, u, v, wavelengths, vises, sigmas = np.loadtxt(os.path.join(dir_, "Vis.dat"), usecols=[0, 1, 2, 3, 5, 6], unpack=True)

b.add_dataset('vis', times=times, u=u, v=v, wavelengths=wavelengths, vises=vises, sigmas=sigmas)
b.add_dataset('vis', times=times, u=u, v=v, wavelengths=wavelengths, vises=vises, sigmas=sigmas)

b.set_value('distance', context = 'system', value=10*units.pc)
b.set_value('distance', context = 'system', value=10*units.pc)

b.run_compute()
b.run_compute()

f = open('twigs.txt', 'w')
for twig in b.twigs:
f.write("%s\n" % (twig))
f.close()
f = open('twigs.txt', 'w')
for twig in b.twigs:
f.write("%s\n" % (twig))
f.close()

print("b['vis@vis01@phoebe01@latest@vis@model'] = ", b['vis@vis01@phoebe01@latest@vis@model'])
print("b['times@vis01@phoebe01@latest@vis@model'] = ", b['times@vis01@phoebe01@latest@vis@model'])
print("b['u@vis01@phoebe01@latest@vis@model'] = ", b['u@vis01@phoebe01@latest@vis@model'])
print("b['v@vis01@phoebe01@latest@vis@model'] = ", b['v@vis01@phoebe01@latest@vis@model'])
print("b['wavelengths@vis01@phoebe01@latest@vis@model'] = ", b['wavelengths@vis01@phoebe01@latest@vis@model'])
print("b['vises@vis01@phoebe01@latest@vis@model'] = ", b['vises@vis01@phoebe01@latest@vis@model'])
print("b['vis@vis01@phoebe01@latest@vis@model'] = ", b['vis@vis01@phoebe01@latest@vis@model'])
print("b['times@vis01@phoebe01@latest@vis@model'] = ", b['times@vis01@phoebe01@latest@vis@model'])
print("b['u@vis01@phoebe01@latest@vis@model'] = ", b['u@vis01@phoebe01@latest@vis@model'])
print("b['v@vis01@phoebe01@latest@vis@model'] = ", b['v@vis01@phoebe01@latest@vis@model'])
print("b['wavelengths@vis01@phoebe01@latest@vis@model'] = ", b['wavelengths@vis01@phoebe01@latest@vis@model'])
print("b['vises@vis01@phoebe01@latest@vis@model'] = ", b['vises@vis01@phoebe01@latest@vis@model'])

times = b['times@vis01@phoebe01@latest@vis@model'].value
u = b['u@vis01@phoebe01@latest@vis@model'].value
v = b['v@vis01@phoebe01@latest@vis@model'].value
wavelengths = b['wavelengths@vis01@phoebe01@latest@vis@model'].value
vises = b['vises@vis01@phoebe01@latest@vis@model'].value
times = b['times@vis01@phoebe01@latest@vis@model'].value
u = b['u@vis01@phoebe01@latest@vis@model'].value
v = b['v@vis01@phoebe01@latest@vis@model'].value
wavelengths = b['wavelengths@vis01@phoebe01@latest@vis@model'].value
vises = b['vises@vis01@phoebe01@latest@vis@model'].value

np.savetxt('test_interferometry2.out', np.c_[times, u, v, wavelengths, vises], header='times u v wavelenghts vises')
np.savetxt('test_interferometry2.out', np.c_[times, u, v, wavelengths, vises], header='times u v wavelenghts vises')

#b.plot(show=True)
#b.plot(x='u', show=True)
#b.plot(x='v', show=True)
#b.plot(show=True)
#b.plot(x='u', show=True)
#b.plot(x='v', show=True)

assert(abs(vises[0] - 9.542236659760809925e-01) < 1.0e-12)
assert(abs(vises[4355] - 1.502342468915347079e-04) < 1.0e-12)

if __name__ == "__main__":
logger = phoebe.logger(clevel='INFO')

test_interferometry2(verbose=True)


81 changes: 47 additions & 34 deletions tests/nosetests/test_xitau_agreement/test_xitau_agreement.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,50 +6,63 @@
import phoebe
from astropy import units

dir_ = os.path.dirname(os.path.realpath(__file__))
def test_xitau_agreement(verbose=False):

#logger = phoebe.logger(clevel='INFO')
#logger = phoebe.logger(clevel='DEBUG')
dir_ = os.path.dirname(os.path.realpath(__file__))

b = phoebe.default_binary()
b = phoebe.default_binary()

times, u, v, wavelengths, vises, sigmas = np.loadtxt(os.path.join(dir_, "Vis.dat"), usecols=[0, 1, 2, 3, 5, 6], unpack=True)
times, u, v, wavelengths, vises, sigmas = np.loadtxt(os.path.join(dir_, "Vis.dat"), usecols=[0, 1, 2, 3, 5, 6], unpack=True)

b.add_dataset('vis', times=times, u=u, v=v, wavelengths=wavelengths, vises=vises, sigmas=sigmas, if_method='integrate')
b.add_dataset('vis', times=times, u=u, v=v, wavelengths=wavelengths, vises=vises, sigmas=sigmas, if_method='integrate')

b.set_value('distance', context = 'system', value=100*units.pc)
b.set_value('distance', context = 'system', value=100*units.pc)

b.run_compute()
b.run_compute()

f = open('twigs.txt', 'w')
for twig in b.twigs:
f.write("%s\n" % (twig))
f.close()
f = open('twigs.txt', 'w')
for twig in b.twigs:
f.write("%s\n" % (twig))
f.close()

#print("b['times@vis01@vis@dataset'] = ", b['times@vis01@vis@dataset'])
#print("b['u@vis01@vis@dataset'] = ", b['u@vis01@vis@dataset'])
#print("b['v@vis01@vis@dataset'] = ", b['v@vis01@vis@dataset'])
#print("b['wavelengths@vis01@vis@dataset'] = ", b['wavelengths@vis01@vis@dataset'])
#print("b['vises@vis01@vis@dataset'] = ", b['vises@vis01@vis@dataset'])
#print("")
#print("b['vis@vis01@phoebe01@latest@vis@model'] = ", b['vis@vis01@phoebe01@latest@vis@model'])
#print("")
#print("b['times@vis01@phoebe01@latest@vis@model'] = ", b['times@vis01@phoebe01@latest@vis@model'])
#print("b['u@vis01@phoebe01@latest@vis@model'] = ", b['u@vis01@phoebe01@latest@vis@model'])
#print("b['v@vis01@phoebe01@latest@vis@model'] = ", b['v@vis01@phoebe01@latest@vis@model'])
#print("b['wavelengths@vis01@phoebe01@latest@vis@model'] = ", b['wavelengths@vis01@phoebe01@latest@vis@model'])
#print("b['vises@vis01@phoebe01@latest@vis@model'] = ", b['vises@vis01@phoebe01@latest@vis@model'])
#print("b['times@vis01@vis@dataset'] = ", b['times@vis01@vis@dataset'])
#print("b['u@vis01@vis@dataset'] = ", b['u@vis01@vis@dataset'])
#print("b['v@vis01@vis@dataset'] = ", b['v@vis01@vis@dataset'])
#print("b['wavelengths@vis01@vis@dataset'] = ", b['wavelengths@vis01@vis@dataset'])
#print("b['vises@vis01@vis@dataset'] = ", b['vises@vis01@vis@dataset'])
#print("")
#print("b['vis@vis01@phoebe01@latest@vis@model'] = ", b['vis@vis01@phoebe01@latest@vis@model'])
#print("")
#print("b['times@vis01@phoebe01@latest@vis@model'] = ", b['times@vis01@phoebe01@latest@vis@model'])
#print("b['u@vis01@phoebe01@latest@vis@model'] = ", b['u@vis01@phoebe01@latest@vis@model'])
#print("b['v@vis01@phoebe01@latest@vis@model'] = ", b['v@vis01@phoebe01@latest@vis@model'])
#print("b['wavelengths@vis01@phoebe01@latest@vis@model'] = ", b['wavelengths@vis01@phoebe01@latest@vis@model'])
#print("b['vises@vis01@phoebe01@latest@vis@model'] = ", b['vises@vis01@phoebe01@latest@vis@model'])

times = b['times@vis01@phoebe01@latest@vis@model'].value
u = b['u@vis01@phoebe01@latest@vis@model'].value
v = b['v@vis01@phoebe01@latest@vis@model'].value
wavelengths = b['wavelengths@vis01@phoebe01@latest@vis@model'].value
vises = b['vises@vis01@phoebe01@latest@vis@model'].value
times = b['times@vis01@phoebe01@latest@vis@model'].value
u = b['u@vis01@phoebe01@latest@vis@model'].value
v = b['v@vis01@phoebe01@latest@vis@model'].value
wavelengths = b['wavelengths@vis01@phoebe01@latest@vis@model'].value
vises = b['vises@vis01@phoebe01@latest@vis@model'].value

np.savetxt('test_xitau_agreement.out', np.c_[times, u, v, wavelengths, vises], header='times u v wavelenghts vises')
np.savetxt('test_xitau_agreement.out', np.c_[times, u, v, wavelengths, vises], header='times u v wavelenghts vises')

#b.plot(show=True)
#b.plot(x='u', marker='.', linestyle='none', show=True)
#b.plot(x='v', marker='.', linestyle='none', show=True)
#b.plot(show=True)
#b.plot(x='u', marker='.', linestyle='none', show=True)
#b.plot(x='v', marker='.', linestyle='none', show=True)

# Note: Approximations are not the same in Xitau and Phoebe!
# integrate vs. simple disk, limb darkening vs. none, ...

# cf. xitau/chi2_VIS.dat
assert(abs(vises[0] - 0.99996665418880559 ) < 1.0e-6)
assert(abs(vises[329] - 7.6945976482721626E-002) < 1.0e-3)
assert(abs(vises[330] - 0.99999882618925284 ) < 1.0e-6)
assert(abs(vises[659] - 0.88179246639196074 ) < 2.0e-2)

if __name__ == "__main__":
logger = phoebe.logger(clevel='INFO')

test_xitau_agreement(verbose=True)


0 comments on commit 195c3ae

Please sign in to comment.