Пример #1
0
 def getHrsInDayTime(self, start, end):
     "Split up given time range by PTCS day and night time hours."
     dur = TimeAgent.dtDiffHrs(start, end)
     startDate = date(start.year, start.month, start.day)
     #rise, set = self.sun.getRiseSet(date1)
     # cast a wide net: compute the rise and set times for any days
     # that might be covered by the given time range
     days = (end - start).days + 2
     dayTimes = []
     for day in range(days):
         dt = startDate + timedelta(days = day)
         dayTimes.append(self.sun.getPTCSRiseSet(dt))
     # where does our given time range intersect with day time?    
     ints = AnalogSet.intersects([dayTimes, [(start, end)]])
     if len(ints) > 0:
         # some day time
         day = 0.0
         for intersection in ints:
             td = intersection[1] - intersection[0]
             day += TimeAgent.timedelta2frachours(td)
         # the rest must be night time    
         night = abs(dur - day) 
     else:
         # our range is all night time.
         day = 0.0
         night = dur 
     return (day, night)
Пример #2
0
 def getHrsInGC(self, start, end):
     "Split up given time range by Galactic Center overlap."
     dur = TimeAgent.dtDiffHrs(start, end)
     # convert local time range to LST range
     lstStart = sla.Absolute2RelativeLST(start)
     lstEnd = sla.Absolute2RelativeLST(end)
     # be simplistic about the overalp
     if lstEnd < lstStart:
         lstEnd += 24.0
     
     gcHrs, nonGcHrs = self.findOverlap((lstStart, lstEnd), self.gcHrs, dur)
     return (gcHrs, nonGcHrs)