#!/usr/bin/python
# -*- coding: utf-8 -*- 
import math
def make_fm(feed_me_name,inputdata,fit_params):
  f = open(feed_me_name, 'w')
  f.write('==============================================================================='+ '\n')
  f.write('# IMAGE and GALFIT CONTROL PARAMETERS'+ '\n')
  f.write('A) '+inputdata['input_fits']+ '\n')
  f.write('B) '+inputdata['output_fits']+ '\n')
  f.write('C) err.fits \n')
  f.write('D) '+inputdata['psf_fits']+ '\n')
  f.write('E) 1 \n')
  f.write('F) '+inputdata['mask_fits']+ '\n')
  f.write('G) ../../../constraints \n')
  f.write('H) '+str(inputdata['xmin'])+' '+str(inputdata['xmax'])+' '+str(inputdata['ymin'])+' '+str(inputdata['ymax'])+'\n')
  f.write('I) '+str(inputdata['x_conv'])+' '+str(inputdata['y_conv'])+'\n')
  f.write('J) '+str(inputdata['zero_point'])+'\n')
  f.write('K) '+str(inputdata['s_x'])+' '+str(inputdata['s_y'])+'\n')
  f.write('O) regular  \n')
  f.write('P) 0  \n')

  for params in fit_params:
    f.write('0) '+params['fit_type']+'   \n')
    f.write('1) '+str(params['x_c'])+'  '+str(params['y_c'])+'  '+str(params['x_c_ch'])+'  '+str(params['y_c_ch'])+'  \n')
    f.write('3) '+str(params['int_mag'])+' '+str(params['int_mag_ch'])+'   \n')
    f.write('4) '+str(params['re'])+' '+str(params['re_ch'])+'   \n')
    if params['fit_type'] == 'sersic':
      f.write('5) '+str(params['s_ind'])+' '+str(params['s_ind_ch'])+'   \n')   
    f.write('9) '+str(params['ax_ratio'])+' '+str(params['ax_ratio_ch'])+'   \n')
    f.write('10) '+str(params['pa'])+' '+str(params['pa_ch'])+'   \n')
  
  
  f.write(' 0) sky \n')
  f.write('1) 0.77       1  \n')
  f.write('2) 0.000      1       # dsky/dx (sky gradient in x) \n')
  f.write('3) 0.000      1       # dsky/dy (sky gradient in y) \n')
  f.write('Z) 0                  #  Skip this model in output image?  (yes=1, no=0) \n')

  f.close()



