Module crepyscule_test
[hide private]
[frames] | no frames]

Source Code for Module crepyscule_test

  1  #!/usr/bin/env python 
  2  # -*- coding: iso-8859-1 -*- 
  3   
  4  # Copyright 2005,2008  Miguel Tremblay 
  5   
  6  # This program is free software; you can redistribute it and/or modify 
  7  # it under the terms of the GNU General Public License as published by 
  8  # the Free Software Foundation; either version 3 of the License, or 
  9  # (at your option) any later version. 
 10   
 11  # This program is distributed in the hope that it will be useful, 
 12  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
 13  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 14  # GNU General Public License for more details. 
 15   
 16  # You should have received a copy of the GNU General Public License 
 17  # along with this program; if not see  <http://www.gnu.org/licenses/>. 
 18  ############################################################################ 
 19   
 20  """ 
 21  Package to test the different function of the crepyscule packcage. 
 22   
 23  Project home page is U{http://ptaff.ca/crepyscule/} 
 24   
 25   - Name:        crepyscule_test.py 
 26   - Author:      U{Miguel Tremblay<http://ptaff.ca/miguel/>} 
 27   - Date:        February 18th 2008        
 28  """ 
 29   
 30  import crepyscule 
 31   
 32  import time 
 33   
 34  # Dates (2008, 6, 18), (2008, 3, 9), (2008, 11, 2) 
 35  lCtime = [1213815927, 1205079414, 1225642614] 
 36  fUTC = 5.0 
 37  lSummerTime = ["", "US"] 
 38  fUTC = -5.0 
 39   
 40  # Places [(montreal)] 
 41  lLatLon = [(45.4667, -73.75)] 
 42  fLat2 = 40.75 
 43  fLon2 = -73.99 
 44   
 45  for sSummerTime in lSummerTime: 
 46      for ctime in lCtime: 
 47          print "Check for time", time.localtime(ctime) 
 48          for (fLat, fLon) in lLatLon: 
 49              print "----" 
 50              print "Sunrise/sunset" 
 51              print "get_sunrise_day(%d, %0.2f, %0.2f, %0.2f, %s)" %\ 
 52                    (ctime, fLat, fLon, fUTC, sSummerTime) 
 53              fSunrise = crepyscule.get_sunrise_day(ctime, fLat, fLon, \ 
 54                                                    fUTC, sSummerTime) 
 55              if fSunrise != None: 
 56                  print "OK", fSunrise 
 57              print "get_sunset_day(%d, %0.2f, %0.2f, %0.2f, %s)" %\ 
 58                    (ctime, fLat, fLon, fUTC, sSummerTime) 
 59              fSunset = crepyscule.get_sunset_day(ctime, fLat, fLon, \ 
 60                                                  fUTC, sSummerTime) 
 61              if fSunset != None: 
 62                  print "OK", fSunset 
 63                  print "get_sunrise_as_dict(%d, %0.2f, %0.2f, %0.2f, %s)" %\ 
 64                        (ctime, fLat, fLon, fUTC, sSummerTime) 
 65              dSunrise = crepyscule.get_sunrise_as_dict(ctime, fLat, fLon, \ 
 66                                                        fUTC, sSummerTime) 
 67              if dSunrise != None: 
 68                  print "OK", dSunrise.values()[0] 
 69              print "get_sunset_as_dict(%d, %0.2f, %0.2f, %0.2f, %s)" %\ 
 70                    (ctime, fLat, fLon,fUTC, sSummerTime) 
 71              dSunset = crepyscule.get_sunset_as_dict(ctime, fLat, fLon, \ 
 72                                                      fUTC, sSummerTime) 
 73              if dSunset is not None: 
 74                  print "OK", dSunset.values()[0] 
 75              print "get_sunrise_sunset_as_csv(%d, %0.2f, %0.2f, %0.2f, %s)" %\ 
 76                    (ctime, fLat, fLon, fUTC, sSummerTime) 
 77              lSunriseSunset = crepyscule.get_sunrise_sunset_as_csv\ 
 78                               (ctime, fLat, fLon, \ 
 79                                fUTC, sSummerTime) 
 80              if lSunriseSunset is not None: 
 81                  print "OK" 
 82                  print lSunriseSunset[0] 
 83                  print lSunriseSunset[1] 
 84              print "get_sunrise_sunset_as_csv(%d, %0.2f, %0.2f, %0.2f, %s , %0.2f, %0.2f)" %\ 
 85                    (ctime, fLat, fLon, fUTC, sSummerTime, fLat2, fLon2) 
 86              lSunriseSunset2 = crepyscule.get_sunrise_sunset_as_csv\ 
 87                               (ctime, fLat, fLon, \ 
 88                                fUTC, sSummerTime, fLat2, fLon2) 
 89              if lSunriseSunset2 is not None: 
 90                  print "OK" 
 91                  print lSunriseSunset2[0] 
 92                  print lSunriseSunset2[1] 
 93   
 94              # Check only the first time. No use for summer time code. 
 95              if sSummerTime != "": 
 96                  break 
 97              print "----" 
 98              print "Sun altitude" 
 99              print "get_sun_altitude_day(%d, %0.2f)" % (ctime, fLat) 
100              fAltitude = crepyscule.get_sun_altitude_day(ctime, fLat) 
101              if fAltitude is not None: 
102                  print "OK", fAltitude 
103              print "get_sun_altitude_as_dict(%d, %0.2f)" % (ctime, fLat) 
104              dAltitude = crepyscule.get_sun_altitude_as_dict(ctime, fLat) 
105              if dAltitude is not None: 
106                  print "OK", dAltitude.values()[0] 
107              print "get_sun_altitude_as_csv(%d, %0.2f)" % (ctime, fLat) 
108              lSunAltitude = crepyscule.get_sun_altitude_as_csv(ctime, fLat) 
109              if lSunAltitude is not None: 
110                  print "OK" 
111                  print lSunAltitude[0] 
112                  print lSunAltitude[1] 
113              print "get_sun_altitude_as_csv(%d, %0.2f, %0.2f)" % \ 
114                    (ctime, fLat, fLat2) 
115              lSunAltitude2 = crepyscule.get_sun_altitude_as_csv(ctime,\ 
116                                                                 fLat, fLat2) 
117              if lSunAltitude2 is not None: 
118                  print "OK" 
119                  print lSunAltitude2[0] 
120                  print lSunAltitude2[1] 
121              print "----" 
122              print "Daylight variation" 
123              print "get_daylight_variation_day(%d, %0.2f)" % (ctime, fLat) 
124              fVariation = crepyscule.get_daylight_variation_day(ctime, fLat) 
125              if fVariation is not None: 
126                  print "OK", fVariation 
127              print "get_daylight_variation_as_dict(%d, %0.2f)" % (ctime, fLat) 
128              dVariation = crepyscule.get_daylight_variation_as_dict(ctime, fLat) 
129              if dVariation is not None: 
130                  print "OK", dVariation.values()[0] 
131              print "get_daylight_variation_as_csv(%d, %0.2f)" % (ctime, fLat) 
132              lDaylightVariation = crepyscule.\ 
133                                   get_daylight_variation_as_csv(ctime, fLat) 
134              if lDaylightVariation is not None: 
135                  print "OK" 
136                  print lDaylightVariation[0] 
137                  print lDaylightVariation[1] 
138              print "get_daylight_variation_as_csv(%d, %0.2f, %0.2f)" %\ 
139                    (ctime, fLat, fLat2) 
140              lDaylightVariation2 = crepyscule.\ 
141                                    get_daylight_variation_as_csv(ctime,\ 
142                                                                  fLat, fLat2) 
143              if lDaylightVariation2 is not None: 
144                  print "OK" 
145                  print lDaylightVariation2[0] 
146                  print lDaylightVariation2[1] 
147              print "----" 
148              print "Solar flux" 
149              print "get_max_sf_day(%d, %0.2f)" % (ctime, fLat) 
150              fSF = crepyscule.get_max_sf_day(ctime, fLat) 
151              if fSF is not None: 
152                  print "OK", fSF 
153              print "get_max_sf_as_dict(%d, %0.2f)" % (ctime, fLat) 
154              dSF = crepyscule.get_max_sf_as_dict(ctime, fLat) 
155              if dSF is not None: 
156                  print "OK", dSF.values()[0] 
157              print "get_max_sf_as_csv(%d, %0.2f)" % (ctime, fLat) 
158              lSF = crepyscule.get_max_sf_as_csv(ctime, fLat) 
159              if lSF is not None: 
160                  print "OK" 
161                  print lSF[0] 
162                  print lSF[1] 
163              print "get_max_sf_as_csv(%d, %0.2f, %0.2f)" % (ctime, fLat, fLat2) 
164              lSF2 = crepyscule.get_max_sf_as_csv(ctime, fLat, fLat2) 
165              if lSF2 is not None: 
166                  print "OK" 
167                  print lSF2[0] 
168                  print lSF2[1] 
169