def testPassInOtherQuery(self): """ Test that you can pass OpSim pointings generated from another source into an ObservationMetaDataGenerator and still get ObservationMetaData out """ pointing_list = self.gen.getOpSimRecords(fieldRA=np.degrees(1.370916)) self.assertGreater(len(pointing_list), 1) local_gen = ObservationMetaDataGenerator() obs_list = local_gen.ObservationMetaDataFromPointingArray(pointing_list) self.assertEqual(len(obs_list), len(pointing_list)) for pp in pointing_list: obs = local_gen.ObservationMetaDataFromPointing(pp) self.assertIsInstance(obs, ObservationMetaData)
# set the filename default to a sensible value using the obsHistID if args.outfile is None: args.outfile = phoSimInputFileName(args.visit, prefix='phosim_input', suffix='.txt', location='./') # Set up OpSim database opSimDBPath = os.path.join(args.OpSimDBDir, args.opsimDB) engine = create_engine('sqlite:///' + opSimDBPath) obs_gen = ObservationMetaDataGenerator(database=opSimDBPath) sql_query = 'SELECT * FROM Summary WHERE ObsHistID == {}'.format( args.visit) df = pd.read_sql_query(sql_query, engine) recs = df.to_records() obsMetaDataResults = obs_gen.ObservationMetaDataFromPointingArray(recs) obs_metaData = obsMetaDataResults[0] sn_sed_file_dir = os.path.join(args.seddir, 'spectra_files') availConns = None print('will generate pointing for {0} and write to filename {1}'.format( obs_metaData._OpsimMetaData['obsHistID'], args.outfile)) generateSinglePointing(obs_metaData, availableConns=availConns, sntable='TwinkSN_run3', fname=args.outfile, sn_sed_file_dir=sn_sed_file_dir, db_config=args.db_config, cache_dir=args.cache_dir)