def historic(self): """Load historic data and calculate histogram""" config = ConfigParser() config.read(self.configFile) inputFile = config.get('DataProcess', 'InputFile') if len(os.path.dirname(inputFile)) == 0: inputFile = pjoin(self.inputPath, inputFile) source = config.get('DataProcess', 'Source') timestep = config.getfloat('TrackGenerator', 'Timestep') interpHistFile = pjoin(self.inputPath, "interp_tracks.csv") try: tracks = interpolateTracks.parseTracks(self.configFile, inputFile, source, timestep, interpHistFile, 'linear') except (TypeError, IOError, ValueError): log.critical("Cannot load historical track file: {0}".format(inputFile)) raise else: startYr = 9999 endYr = 0 for t in tracks: startYr = min(startYr, min(t.Year)) endYr = max(endYr, max(t.Year)) numYears = endYr - startYr self.hist = self.calculate(tracks) / numYears
def historic(self): """Calculate historical rates of longitude crossing""" log.info("Processing historical tracks for longitude crossings") config = ConfigParser() config.read(self.configFile) inputFile = config.get("DataProcess", "InputFile") source = config.get("DataProcess", "Source") timestep = config.getfloat("TrackGenerator", "Timestep") if len(os.path.dirname(inputFile)) == 0: inputFile = pjoin(self.inputPath, inputFile) try: tracks = interpolateTracks.parseTracks( self.configFile, inputFile, source, timestep, interpolation_type="linear" ) except (TypeError, IOError, ValueError): log.critical("Cannot load historical track file: {0}".format(inputFile)) raise else: self.lonCrossingHist, self.lonCrossingEWHist, self.lonCrossingWEHist = self.findCrossings(tracks) return