#!/opt/anaconda1anaconda2anaconda3/bin/python

import argparse


import atmosphy.initialize as initialize
import atmosphy.interpolate as ainterp
import atmosphy.fileio as fileio

usage="Usage: %prog teff logg feh [options]"

parser=argparse.ArgumentParser(description='Interpolate stellar atmospheres for usage in spectrum synthesis codes like MOOG.')
#parser = OptionParser(usage=usage)
parser.add_argument("teff",
					help="Effective Temperature\
					 of the required model",
					 type=float)

parser.add_argument("logg",
					help="Surface Gravity (log(g))\
					 of the required model",
					 type=float)

parser.add_argument("feh",
					help="Metallicity [Fe/H]\
					 of the required model",
					 type=float)
					 
parser.add_argument("-k","--microturb",
					help="Micro turbulence \
					in km/s default = %(default).1f",
					 type=float,
					 dest='k',
					 default=2.0)
					 
parser.add_argument("-a","--alpha",
					help="Enhancement with \
					 alpha elements (e.g. C,N,O) \
					 default = %(default).1f",
					 type=float,
					 dest='alpha',
					 default=0.0)


parser.add_argument("--modelgrid",
                    help="Name of modelgrid default = %(default)s",
                    default="kurucz",
                    type=str)
                    
parser.add_argument("-o", "--outfile",
                    help="Name of modelgrid default = %(default)s",
                    default=None,
                    type=str,
                    dest='fname')

if __name__ == '__main__':
    args = parser.parse_args()
    if args.modelgrid not in fileio.installedModels():
        print "Modelgrid %s not available. Please install the following way:\n" % args.modelgrid
        print "atmosphy_getgrid %s\n\n" % args.modelgrid
        
    deck = ainterp.interpModelGrid(args.modelgrid, args.teff, args.logg, args.feh, args.k, args.alpha)
    
    if args.fname == None:
        fname = 't%dg%.2fm%.2fk%.2fa%.2f.model'%(args.teff, args.logg, args.feh, args.k, args.alpha)
    else:
        fname = args.fname
    
    formattedDeck = fileio.formatMOOG(args.teff, args.logg, args.feh, deck)

    file(fname, 'w').write(formattedDeck)
    
                    
					 
