-ν
B±Oc       s     d  k  Z   d  k Z   d  k Z  d  k Z  d  k Z  d  k Z  d  k Z 	 d  k Z 
 d  k Z  d  k	 Z	  d  k
 Z  d  k i Z  d k T e i Z  e i Z  d d d  Z  d   Z ) d e d  Z t e d  Z  e d	  Z   d
 a d  S(   N(   s   *s    s   tmpc    sO      d |  | t | f }  t | d  }  t d 7a  | | f Sd  S(   Ns   %s/%s_%d.%ss   wi   (   s   dirs   bases   _IDs   exts   fnames   opens   f(   s   dirs   bases   exts   fnames   f(    (    s   __init__.pys   tmpFile s
   c     s     t  i d g   }   t i |  }  ! |  i   } " x6 | D" ]+ } # |  | i	 t i
 j o $ d Sn qC W& d Sd  S(   Ns   interestlist.countyi   i    (   s   dsms   defaultedConfigGets   interestlists   BulletinInfos   loadActiveBulletinss	   bulletinss   keyss   bKeyss   keys   categorys   CAT_WARNING(   s	   bulletinss   keys   bKeyss   interestlist(    (    s   __init__.pys   checkActiveWarnings s   
 	s   usc    s  ) . / d }
 1 d | } 2 d t i   d |  } 5 | t j o@ 8 t	 i
 d | 9 d | : d d ; d	 d
 d d d d
  } n = t |  d j o% > t i i d | f  ? |
 Sn B | t |  d \ } } C t i | d  \ } } D | d } E t i i d | f  G h  } H t i i |  o I t | | |  n K t i i d | f  O | i d  o. P | d }	 Q t i i d | |	 f  n: T d }	 U d | f } V | d 7} W t i i |  Y | i d  o. Z | d } [ t i i d | | f  n: ^ d
 } _ d | f } ` | d 7} a t i i |  c d }
 d |	 d j  o  e t i i d  f d }
 n h t i i d  j d } k | d j  o  l t i i d   m d } n o t i i d!  q |
 | f Sd" S(#   sc  Checks for significant radar returns (precip) in a given image
       list. If a list isn't provided, it will look up the latest images
       on disk. If a list IS provided, then we ignore the ProductName and
       ConfigSet. This method assumes that the imageList passed in only
       contains valid images and is already sorted from OLDEST to NEWEST.i    s(   /twc/data/volatile/images/radar/%s.cuts/s   Config.s   .s   dataPaths   prefixs   suffixs
   *[0-9].tifs   startTimeNdxi   s
   endTimeNdxi   s	   sortIndexs/   checkRadarPrecip: no valid images found for %s.i   s   .tifs   .data.indexs/   checkRadarPrecip: examining radar index file %ss-   checkRadarPrecip: missing radar index file %ss   loopRainDensitys)   checkRadarPrecip: %s loopRainDensity = %di   sE   checkRadarPrecip: Error reading loopRainDensity from index file: %s. s.   Assuming loopRainDensity > 5 (echoes present).s   maxPrecipTypes'   checkRadarPrecip: %s maxPrecipType = %dsC   checkRadarPrecip: Error reading maxPrecipType from index file: %s. s3   Assuming maxPrecipType = 3 (winter colors present).s3   checkRadarPrecip: no rain, so radarReturns set to 0sP   checkRadarPrecip: rain echoes found (loopRainDensity > 5), radarReturns set to 1i   s7   checkRadarPrecip: either 'no precip' or 'rain' detecteds/   checkRadarPrecip: mixed precip or snow detectedN("   s   radarReturnss   locations	   imageRoots   dsms   getConfigVersions   RadarProductNames   productStrings	   imageLists   Nones   dataUtils   getValidFileLists   lens	   twccommons   Logs   warnings	   issuetimes   newestImageDataFileNames   strings   splits   fnames   ftypes	   statsFiles   infos   nsRains   oss   paths   isfiles   execfiles   errors   has_keys   loopRainDensitys   msgs   maxPrecipTypes   winterColors(   s   RadarProductNames   locations	   imageLists	   imageRoots   maxPrecipTypes   nsRains   winterColorss	   statsFiles   productStrings   loopRainDensitys   radarReturnss   ftypes   fnames   msgs   newestImageDataFileNames	   issuetime(    (    s   __init__.pys   checkRadarPrecip) sZ   				!	!			c    s-  t u d } w |  t j o= x t i d  } y | t j o z | Sn { | i }  n } g  } ~ xc |  D~ ]X }  t i	 d | f  }  | t j o)  t i |  }  | i | i  n ql W x7 | D ], }  | t j o  t i |  } n qΥ W t i i d | f   | Sd  S(   Ni    s   Local_CurrentConditionss   obs.%ss   checkCurrentConditionsPrecip=%d(   s	   hasPrecips   obsStationss   Nones   dsms   defaultedConfigGets   obs
   obsStations   obsLists   stns   defaultedGets   obss	   twccommons   DefaultedDatas   obxs   appends   skyConditions   skyCodes
   wxDataUtils   skyConditionHasPrecips   Logs   info(   s   obsStationss   skyCodes   obsLists   stns   obs	   hasPrecips   obxs   obs(    (    s   __init__.pys   checkCurrentConditionsPrecipt s&   		
 	
 	c    sw     d }  |  t j o=  t i d  }  | t j o  | Sn  | i }  n  t i i d   | Sd  S(   Ni    s   Local_TextForecasts(   NO PRECIP FOR YOU! (checkTextForecast=0)(	   s	   hasPrecips   coopIds   Nones   dsms   defaultedConfigGets   fcsts	   twccommons   Logs   info(   s   coopIds   fcsts	   hasPrecip(    (    s   __init__.pys   checkTextForecastPrecip s   	i    (   s   oss   os.paths   twcs   twc.MiscCorbaInterfaces   twc.dsmarshals   twc.psps	   twccommons   twccommon.PluginManagers   typess   strings   domestic.BulletinInfos   domestics   twcWx.dataUtils   dataUtils
   wxDataUtils   domestic.Heuristics	   dsmarshals   dsms   BulletinInfos   tmpFiles   checkActiveWarningss   Nones   checkRadarPrecips   checkCurrentConditionsPrecips   checkTextForecastPrecips   _ID(   s   checkTextForecastPrecips   twcs   tmpFiles
   wxDataUtils   checkCurrentConditionsPrecips   strings   domestics   checkActiveWarningss   dsms	   twccommons   checkRadarPrecips   oss   typess   BulletinInfo(    (    s   __init__.pys   ? s(   
K