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))
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))
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))
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))
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"
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"
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'] -
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):