Source code for potpyri.scripts.archives.download_keck_data

import numpy as np
import sys
import io
import os
from pykoa.koa import Koa 
from astropy.time import Time
from astropy.table import Table
from astropy.table import Column

[docs] def login(cookie=None): if cookie and os.path.isfile(cookie): Koa.login(cookie)
[docs] def date_query(date, instr, form='ipac', base_outdir='.', cookie=None): t = Time(date) outdir = os.path.join(base_outdir, t.datetime.strftime('%Y%m%d')) if not os.path.exists(outdir): os.makedirs(outdir) outfile = os.path.join(outdir, f'{instr}.tbl') Koa.query_date(instr, date, outfile, overwrite=True, format=form, cookiepath=cookie) if os.path.exists(outfile): return(outfile, outdir) else: return(None, None)
[docs] def download_data(recfile, outdir, form='ipac', cookie=None): Koa.download(recfile, form, outdir, cookiepath=cookie)
[docs] def add_options(): import argparse params = argparse.ArgumentParser() params.add_argument('date', help='''Date for which to download data.''') params.add_argument('instrument', help='''Keck instrument to query in archive.''') params.add_argument('--cookie-file', default=None, help='''Provide a cookie file if you are downloading proprietary data.''') params.add_argument('--base-outdir', default=None, help='''The base output directory where the data will be stored.''') args = params.parse_args() return(args)
[docs] def main(): args = add_options() if args.cookie_file is not None: login(args.cookie_file) outfile, outdir = date_query(args.date, args.instrument, cookie=args.cookie_file, base_outdir=args.base_outdir) if outfile is not None: download_data(outfile, outdir, cookie=args.cookie_file)
if __name__=="__main__": main()