#!/usr/bin/env python 
import os, sys, math
import csv, operator
import subprocess

#Set parameters here

#nameroot = str(sys.argv[1])
database = 1
inpfname = "caninput.csv"
outfname = "canoutput.csv"

# No mods should be needed below this line.

writeFile = open(outfname,"w")

# Open the CSVs
readFile = open(inpfname,"r")

inpfReader = csv.reader(readFile,delimiter=',')
#inpfReader = sorted(inpfReader, key=operator.itemgetter(0))
rowCounter = 0;

for inpfRow in inpfReader:
	comm_state = inpfRow[1][:2]
	comm_city = inpfRow[2][:20]
	writeFile.write(inpfRow[0]+"\t"+comm_state+"\t"+comm_city+"\t"+inpfRow[3]+"\t"+inpfRow[4]+"\t"+inpfRow[5])
	writeFile.write("\t")
	
	lat_deg = float(int(float(inpfRow[4])/10000))
	lat_min = float(int((float(inpfRow[4])-lat_deg*10000)/100))
	lat_sec = float(int(float(inpfRow[4])-lat_deg*10000-lat_min*100))
	lon_deg = float(int(float(inpfRow[5])/10000))
	lon_min = float(int((float(inpfRow[5])-lon_deg*10000)/100))
	lon_sec = float(int(float(inpfRow[5])-lon_deg*10000-lon_min*100))
	latitude = float(lat_deg+(lat_min/60)+(lat_sec/3600))
	longitude = float(lon_deg+(lon_min/60)+(lon_sec/3600))
	
	# Convert coordinates to NAD83 for TVStudy
	runner = os.popen(os.getcwd()+"/dev/ptelev 3 "+str(latitude)+" "+str(longitude))
	coords = runner.readline()
	comma = coords.find(",")
	nad83lat = coords[:comma]
	nad83lon = coords[2+comma:]
	
	#print inpfRow[2]+": +"+str(latitude)+", -"+str(longitude)
	runner = os.popen(os.getcwd()+"/dev/ptelev 1 "+str(nad83lat)+" "+str(nad83lon))
	ghamsl = runner.readline()
	writeFile.write(inpfRow[6]+"\t"+inpfRow[7]+"\t"+inpfRow[8]+"\t"+str(ghamsl))
	writeFile.write("\n")
	rowCounter = rowCounter+1

writeFile.close()
print "Done!  Wrote "+str(rowCounter)+" rows."