Hi Again, I have been working in a sun location system and it seems like is working now. But I have two issues that I hope you can help me solve.
I have a number of functions in this script and I would like to know which is the best way to pass values among them? Here is the script so far: ##################################################################### from math import * # I would like to substitute Lat for the location name def Sol_Pos (Lat, Month, Day, Hour): month_index = Month -1 date_index = Day -1 def J_Day(month_index,date_index): j_day=0 date_val=date_index+1 if (month_index==0): j_day = 0+date_val elif (month_index==1): j_day=31+date_val elif (month_index==2): j_day=59+date_val elif (month_index==3): j_day=90+date_val elif (month_index==4): j_day=120+date_val elif (month_index==5): j_day=151+date_val elif (month_index==6): j_day=181+date_val elif (month_index==7): j_day=212+date_val elif (month_index==8): j_day=243+date_val elif (month_index==9): j_day=273+date_val elif (month_index==10): j_day=304+date_val elif (month_index==11): j_day=334+date_val return j_day def Dec(J_Day): Dec = 23.45 * sin(radians(( j_day + 284.0) * 360/365)) return Dec def H_Ang(Hour): Hour_Angle = 15*(12-Hour) return Hour_Angle def Alt(Lat, Dec, H_Ang): lat_r = radians(Lat) decl_r = radians(Dec) hour_r = radians(H_Ang) sin_alt_r = cos(lat_r)*cos(decl_r)*cos(hour_r)+sin(lat_r)*sin(decl_r) sin2alt = sin_alt_r * sin_alt_r cos_alt_r = sqrt(1 - sin2alt) Alt = degrees(atan(sin_alt_r / cos_alt_r)) return Sol_Alt def Az(Lat, Dec, H_Ang): lat_R = radians(Lat) decl_R = radians(Dec) hour_R = radians(H_Ang) x_azm = sin(hour_R) * cos(decl_R) y_azm = (-(cos(hour_R))*cos(decl_R)*sin(lat_R))+(cos(lat_R)* sin(decl_R)) if Lat > 0: y_azm = y_azm * -1 Azimuth = degrees(atan2(x_azm, y_azm)) return Azimuth #################################################################### And my idea is to give the script a location name, date and hour and it will return the sun position relative to that info. So how can I work with info of this type? 30.30 48.20 Abadan, Iran 45.40 -98.40 Aberdeen Ap, South Dakota - USA 57.10 -2.10 Aberdeen, Scotland 46.90 -123.80 Aberdeen, Washington - USA 5.30 -4.00 Abidjan, Ivory Coasti 32.40 -99.60 Abilene Ap, Texas - USA 5.50 -0.20 Accra, Ghana I know that a dictionary probably is a solution, but as you can imagine formatting this data is going to take a long time, there are too many locations. Is there a solution for this problem? Thanks for your help, Carlos _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor