Ejemplo n.º 1
0
 def test_obsnum_increment(self):
     dt = self.length
     jds = n.arange(0,10)*dt+self.jd
     obsnums=[]
     for jd in jds:
         obsnums.append(jdpol2obsnum(jd,self.pol,dt))
     delta = n.diff(obsnums)
     for d in delta:
         self.assertEqual(d,1)
     obsnum = self.dbi.add_observation(self.jd,self.pol,self.filename,self.host,length=self.length)
     self.assertEqual(obsnum,jdpol2obsnum(self.jd,self.pol,self.length))
Ejemplo n.º 2
0
 def test_obsnum_increment(self):
     dt = self.length
     jds = n.arange(0, 10) * dt + self.jd
     obsnums = []
     for jd in jds:
         obsnums.append(jdpol2obsnum(jd, self.pol, dt))
     delta = n.diff(obsnums)
     for d in delta:
         self.assertEqual(d, 1)
     obsnum = self.dbi.add_observation(self.jd,
                                       self.pol,
                                       self.filename,
                                       self.host,
                                       length=self.length)
     self.assertEqual(obsnum, jdpol2obsnum(self.jd, self.pol, self.length))
Ejemplo n.º 3
0
 def test_add_observation(self):
     """
     use the dbi to create a record.
     basically tests the same as test_Observation_and_file
     but with the dbi wrapper
     """
     obsnum = self.dbi.add_observation(
                 self.jd,self.pol,self.filename,self.host,length=self.length)
     OBS = self.session.query(Observation).filter(Observation.obsnum==obsnum).one()
     self.assertEqual(float(OBS.julian_date),self.jd)
     self.assertEqual(OBS.obsnum,jdpol2obsnum(self.jd,self.pol,self.length))
Ejemplo n.º 4
0
 def test_add_observation(self):
     """
     use the dbi to create a record.
     basically tests the same as test_Observation_and_file
     but with the dbi wrapper
     """
     obsnum = self.dbi.add_observation(self.jd,
                                       self.pol,
                                       self.filename,
                                       self.host,
                                       length=self.length)
     OBS = self.session.query(Observation).filter(
         Observation.obsnum == obsnum).one()
     self.assertEqual(float(OBS.julian_date), self.jd)
     self.assertEqual(OBS.obsnum,
                      jdpol2obsnum(self.jd, self.pol, self.length))
Ejemplo n.º 5
0
pols = []
jds = []
for filename in args:
    pols.append(file2pol(filename))
    jds.append(float(file2jd(filename)))
jds = n.array(jds)
nights = list(set(jds.astype(n.int)))
if not opts.length is None:
    djd = opts.length / 60. / 24
else:
    jds_onepol = n.sort([
        jd for i, jd in enumerate(jds)
        if pols[i] == pols[0] and jd.astype(int) == nights[0]
    ])
    djd = n.mean(n.diff(jds_onepol))
    print "setting length to ", djd, ' days'

site_name = 'Karoo'
store_name = 'pot2_data1'
for filename in args:
    jd = float(file2jd(filename))
    pol = file2pol(filename)
    fname = dirfilename(filename)
    obsnum = jdpol2obsnum(jd, pol, djd)
    print jd, pol, djd, obsnum
    hera_librarian.create_observation(site_name, obsnum, jd, pol, djd)
    hera_librarian.create_file(site_name, store_name, fname, "uv", obsnum, -1,
                               '')

print "done"
Ejemplo n.º 6
0
jds = []
for filename in args:
    pols.append(file2pol(filename))
    jds.append(float(file2jd(filename)))
jds = n.array(jds)
nights = list(set(jds.astype(n.int)))
if not opts.length is None:
    djd =  opts.length/60./24
else:
    jds_onepol = n.sort([jd for i,jd in enumerate(jds) if pols[i]==pols[0] and jd.astype(int)==nights[0]])
    djd = n.mean(n.diff(jds_onepol))
    print "setting length to ",djd,' days'

def check (json):
    if json.get ('success', True):
        return

    print >>sys.stderr, 'operation failed:', json.get ('message', '(no message was provided!)')


for filename in args:
    jd = float(file2jd(filename))
    pol = file2pol(filename)
    fname = dirfilename(filename)
    obsnum = jdpol2obsnum(jd, pol, djd)
    print jd, pol, djd, obsnum
    check (hera_librarian.create_observation(opts.site, obsnum, jd, pol, djd))
    check (hera_librarian.create_file(opts.site, opts.store, fname, "uv", obsnum, -1, ''))

print "done"
Ejemplo n.º 7
0
for night in nights:
    print "adding night", night
    obsinfo = []
    nightfiles = [
        filename for filename in args if int(float(file2jd(filename))) == night
    ]
    print len(nightfiles)
    for pol in pols:
        files = [
            filename for filename in nightfiles if file2pol(filename) == pol
        ]  #filter off all pols but the one I'm currently working on
        files.sort()
        for i, filename in enumerate(files):
            try:
                dbi.get_obs(
                    jdpol2obsnum(float(file2jd(filename)), file2pol(filename),
                                 djd))
                if opts.overwrite:
                    raise (StandardError)
                print filename, "found in db, skipping"
            except:
                obsinfo.append({
                    'julian_date': float(file2jd(filename)),
                    'pol': file2pol(filename),
                    'host': gethostname(),
                    'filename': filename,
                    'length': djd  #note the db likes jd for all time units
                })
    for i, obs in enumerate(obsinfo):
        filename = obs['filename']
        if i != 0:
            if n.abs(obsinfo[i - 1]['julian_date'] -
Ejemplo n.º 8
0
    djd = n.mean(n.diff(jds_onepol))
    print "setting length to ",djd,' days'
pols = list(set(pols))#these are the pols I have to iterate over
print "found the following pols",pols
print "found the following nights",nights
for night in nights:
    print "adding night" ,night
    obsinfo = []
    nightfiles = [filename for filename in args if int(float(file2jd(filename)))==night]
    print len(nightfiles)
    for pol in pols:
        files = [filename for filename in nightfiles if file2pol(filename)==pol]#filter off all pols but the one I'm currently working on
        files.sort()
        for i,filename in enumerate(files):
            try:
                dbi.get_obs(jdpol2obsnum(float(file2jd(filename)),file2pol(filename),djd))
                if opts.overwrite:
                    raise(StandardError)
                print filename, "found in db, skipping"
            except:
                obsinfo.append({
                    'julian_date' : float(file2jd(filename)),
                    'pol'     :     file2pol(filename),
                    'host' :        gethostname(),
                    'filename' :    filename,
                    'length'  :     djd #note the db likes jd for all time units
                        })
    for i,obs in enumerate(obsinfo):
        filename = obs['filename']
        if i!=0:
            if n.abs(obsinfo[i-1]['julian_date']-obs['julian_date'])<(djd*1.2):