In [1]:
%pylab inline


Populating the interactive namespace from numpy and matplotlib

In [2]:
import pandas as pd
import numpy as np
import astropy.units as u

from starutils.populations import BinaryPopulation, BinaryPopulation_FromH5
from starutils.populations import BGStarPopulation_TRILEGAL
from isochrones.dartmouth import Dartmouth_Isochrone
dar = Dartmouth_Isochrone()

In [3]:
n = 1e4
pri = dar(1*np.ones(n),9.7,0.0, return_df=True)
sec = dar(np.linspace(0.15,1,n),9.7,0, return_df=True)

In [4]:
import scipy.stats as stats
def random_period(N,mu=5.03,sigma=2.28):
    dist = stats.norm(5.03,2.28)
    return 10**dist.rvs(N)

def random_eccentricity(N,a=.697,b=3.3):
    dist = stats.beta(a,b)
    return dist.rvs(N)

In [5]:
from astropy.units import Quantity
import astropy.units as u
binpop = BinaryPopulation(pri,sec, Quantity(1000,'parsec'), period=random_period(n), ecc=random_eccentricity(n))

In [6]:
binpop.orbpop.scatterplot(rmax=1e4)



In [7]:
binpop.apply_trend_constraint(1*u.km/u.s,10*u.yr,overwrite=True)
binpop.set_maxrad(4*u.arcsec)

In [8]:
binpop.constraint_piechart()



In [9]:
binpop.constraints


Out[9]:
{'Max Rsky': <<class 'starutils.constraints.UpperLimit'>: Max Rsky < 4.0 arcsec>,
 'RV monitoring': <<class 'starutils.constraints.JointConstraintOr'>: RV monitoring>}

In [10]:
binpop.save_hdf('testpop.h5')

In [11]:
from starutils.populations import BinaryPopulation_FromH5

In [12]:
binpop2 = BinaryPopulation_FromH5('testpop.h5')

In [13]:
binpop2.orbpop.scatterplot(rmax=1e4)



In [3]:
bgpop = BGStarPopulation_TRILEGAL('test_trilegal.h5',290.0,40.0)


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-3-15ab76458521> in <module>()
----> 1 bgpop = BGStarPopulation_TRILEGAL('test_trilegal.h5',290.0,40.0)

/u/tdm/anaconda/lib/python2.7/site-packages/starutils-0.1-py2.7.egg/starutils/populations.pyc in __init__(self, filename, ra, dec, mags, maxrad, name, **kwargs)
   1091         area = self.trilegal_args['area']*(u.deg)**2
   1092         density = len(stars)/area
-> 1093 
   1094         stars['distmod'] = stars['m-M0']
   1095         stars['distance'] = dfromdm(stars['distmod'])

/u/tdm/anaconda/lib/python2.7/site-packages/starutils-0.1-py2.7.egg/starutils/utils.pyc in dfromdm(dm)
    133 
    134 def dfromdm(dm):
--> 135     if size(dm)>1:
    136         dm = np.atleast_1d(dm)
    137     return 10**(1+dm/5)

NameError: global name 'size' is not defined

In [5]:
ls


demo.ipynb             testbgpop.h5  testpop.h5     test_trilegal.h5
Mdwarf binaries.ipynb  test.h5       test_trilegal  testtrilegalpop.h5

In [8]:
ls -ltr


total 133268
-rw-rw-r--. 1 tdm tdm 26295096 Nov 12 12:26 test.h5
-rw-rw-r--. 1 tdm tdm 29599680 Nov 13 11:54 testbgpop.h5
-rw-rw-r--. 1 tdm tdm 31697480 Nov 13 12:46 testtrilegalpop.h5
-rw-rw-r--. 1 tdm tdm    93750 Dec  8 13:54 Mdwarf binaries.ipynb
-rw-rw-r--. 1 tdm tdm  5811636 Jan 20 10:10 testpop.h5
-rw-rw-r--. 1 tdm tdm 42290352 Jan 20 10:23 test_trilegal.h5
-rw-rw-r--. 1 tdm tdm    96569 Jan 20 10:23 demo.ipynb

In [7]:
rm test_trilegal

In [ ]: