ncset.close() dataset.close() # print dataset before print(dataset) print('') elif mode == 'average_timeseries': # load source periodstr = 'Climatology' if period is None else '{0:4d}-{1:4d}'.format(*period) print('\n\n *** Processing Resolution %s from %s *** \n\n'%(res,periodstr)) if period is None: source = loadGPCC_LTM(varlist=None,resolution=res) # ['stations','precip'] else: source = loadGPCC_TS(varlist=None,resolution=res) source = source(time=timeSlice(period)) #source.load() print(source) print('\n') # prepare sink gridstr = res if grid == 'GPCC' else grid filename = getFileName(grid=gridstr, period=period, name='GPCC', filepattern=avgfile) if os.path.exists(avgfolder+filename): os.remove(avgfolder+filename) atts =dict(period=periodstr, name='GPCC', title='GPCC Climatology') sink = DatasetNetCDF(name='GPCC Climatology', folder=avgfolder, filelist=[filename], atts=source.atts, mode='w') # sink = addGDALtoDataset(sink, griddef=source.griddef) # initialize processing CPU = CentralProcessingUnit(source, sink, tmp=True)
print('') elif mode == 'average_timeseries': # load source periodstr = 'Climatology' if period is None else '{0:4d}-{1:4d}'.format( *period) print( '\n\n *** Processing Resolution %s from %s *** \n\n' % (res, periodstr)) if period is None: source = loadGPCC_LTM(varlist=None, resolution=res) # ['stations','precip'] else: source = loadGPCC_TS(varlist=None, resolution=res) source = source(time=timeSlice(period)) #source.load() print(source) print('\n') # prepare sink gridstr = res if grid == 'GPCC' else grid filename = getFileName(grid=gridstr, period=period, name='GPCC', filepattern=avgfile) if os.path.exists(avgfolder + filename): os.remove(avgfolder + filename) atts = dict(period=periodstr, name='GPCC', title='GPCC Climatology')
print(dataset) print('') print(dataset.time) print(dataset.time.coord) assert dataset.time.coord[78*12] == 0 # Jan 1979 elif mode == 'average_timeseries': # load source periodstr = '%4i-%4i'%period print('\n') print(' *** Processing Time-series from %s *** '%(periodstr,)) print('\n') source = loadCRU_TS() source = source(time=timeSlice(period)) # only get relevant time-slice print(source) assert period[0] != 1979 or source.time.coord[0] == 0 assert len(source.time) == (period[1]-period[0])*12 print('\n') # prepare sink filename = avgfile.format('','_'+periodstr,) if os.path.exists(avgfolder+filename): os.remove(avgfolder+filename) sink = DatasetNetCDF(name='CRU Climatology', folder=avgfolder, filelist=[filename], atts=source.atts, mode='w') sink.atts.period = periodstr # determine averaging interval offset = source.time.getIndex(period[0]-1979)/12 # origin of monthly time-series is at January 1979 # initialize processing # CPU = CentralProcessingUnit(source, sink, varlist=['wetfrq']) CPU = CentralProcessingUnit(source, sink)
print(dataset) print('') print(dataset.time) print(dataset.time.coord) assert dataset.time.coord[78 * 12] == 0 # Jan 1979 elif mode == 'average_timeseries': # load source periodstr = '%4i-%4i' % period print('\n') print(' *** Processing Time-series from %s *** ' % (periodstr, )) print('\n') source = loadCRU_TS() source = source(time=timeSlice(period)) # only get relevant time-slice print(source) assert period[0] != 1979 or source.time.coord[0] == 0 assert len(source.time) == (period[1] - period[0]) * 12 print('\n') # prepare sink filename = avgfile.format( '', '_' + periodstr, ) if os.path.exists(avgfolder + filename): os.remove(avgfolder + filename) sink = DatasetNetCDF(name='CRU Climatology', folder=avgfolder, filelist=[filename], atts=source.atts,