"Dataset 'Unity' has no native grid - please set 'unity_grid'." ) # print an announcement if len(WRF_experiments) > 0: print('\n Regridding WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Regridding CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n And Observational Datasets:') print(datasets) print('\n To Grid and Resolution:') for grid, reses in grids.iteritems(): print(' {0:s} {1:s}'.format(grid, printList(reses) if reses else '')) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages # loop over modes for mode in modes: # only climatology mode has periods if mode == 'climatology': periodlist = periods if isinstance(periods, (tuple, list)) else (periods, ) elif mode == 'time-series': periodlist = (None, ) # ignore periods else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode)
# expand datasets and resolutions if datasets is None: datasets = gridded_datasets # print an announcement if len(WRF_experiments) > 0: print('\n Extracting from WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Extracting from CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n Extracting from Observational Datasets:') print(datasets) print('\n According to Station Datasets:') for stntype,datatypes in stations.iteritems(): print(' {0:s} {1:s}'.format(stntype,printList(datatypes))) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages (commands) # loop over modes for mode in modes: # only climatology mode has periods if mode == 'climatology': periodlist = periods elif mode == 'time-series': periodlist = (None,) else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode) # loop over station dataset types ... for stntype,datatypes in stations.iteritems(): # ... and their filetypes
"Dataset 'Unity' has no native grid - please set 'unity_grid'." ) # print an announcement if len(WRF_experiments) > 0: print('\n Extracting from WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Extracting from CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n Extracting from Observational Datasets:') print(datasets) print('\n According to Station Datasets:') for stntype, datatypes in stations.iteritems(): print(' {0:s} {1:s}'.format(stntype, printList(datatypes))) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages (commands) # loop over modes for mode in modes: # only climatology mode has periods if mode == 'climatology': periodlist = [] if periods is None else periods elif mode == 'time-series': periodlist = (None, ) else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode) # loop over station dataset types ...
if 'basins' in shapes: for shp in shapes['basins']: shape_dict[shp] = basins[shp] # print an announcement if len(WRF_experiments) > 0: print('\n Averaging from WRF Datasets ({:s}):'.format(WRF_project)) print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Averaging from CESM Datasets ({:s}):'.format(CESM_project)) print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n Averaging from Observational Datasets:') print(datasets) print('\n Using Shapefiles:') for shptype,shplst in shapes.iteritems(): print(' {0:s} {1:s}'.format(shptype,printList(shplst))) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages (commands) # loop over modes for mode in modes: # only climatology mode has periods if mode == 'climatology': periodlist = periods elif mode == 'time-series': periodlist = (None,) else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode) # observational datasets (grid depends on dataset!) for dataset in datasets: mod = import_module('datasets.{0:s}'.format(dataset))
# expand datasets and resolutions if datasets is None: datasets = gridded_datasets # print an announcement if len(WRF_experiments) > 0: print('\n Regridding WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Regridding CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n And Observational Datasets:') print(datasets) print('\n To Grid and Resolution:') for grid,reses in grids.iteritems(): print(' {0:s} {1:s}'.format(grid,printList(reses) if reses else '')) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages # loop over modes for mode in modes: # only climatology mode has periods if mode == 'climatology': periodlist = periods if isinstance(periods, (tuple,list)) else (periods,) elif mode == 'time-series': periodlist = (None,) # ignore periods else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode) # loop over target grids ...
if datasets is None: datasets = gridded_datasets if unity_grid is None and 'Unity' in datasets: if WRF_project: unity_grid = import_module('projects.{:s}'.format(WRF_project)).unity_grid else: raise DatasetError("Dataset 'Unity' has no native grid - please set 'unity_grid'.") # print an announcement if len(WRF_experiments) > 0: print('\n Exporting WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Exporting CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n And Observational Datasets:') print(datasets) print('\n From Grid/Resolution:\n {:s}'.format(printList(grids))) print('To File Format {:s}'.format(export_arguments['format'])) print('\n Project Designation: {:s}'.format(export_arguments['project'])) if bc_method: print('\n And Observational Datasets:') print(datasets) print('Export Variable List: {:s}'.format(printList(export_arguments['exp_list']))) if export_arguments['lm3']: '\n Converting kg/m^2/s (mm/s) into m^3/m^2/s (m/s)' # check formats (will be iterated over in export function, hence not part of task list) if export_arguments['format'] == 'ASCII_raster': print('Export Folder: {:s}'.format(export_arguments['folder'])) print('File Prefix: {:s}'.format(export_arguments['prefix'])) elif export_arguments['format'].lower() in ('netcdf','netcdf4'): pass else: raise ArgumentError, "Unsupported file format: '{:s}'".format(export_arguments['format'])
CESM_experiments = getExperimentList(CESM_experiments, CESM_project, 'CESM') # expand datasets and resolutions if datasets is None: datasets = gridded_datasets # print an announcement if len(WRF_experiments) > 0: print('\n Exporting WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Exporting CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n And Observational Datasets:') print(datasets) print('\n From Grid/Resolution:\n {:s}'.format(printList(grids))) print('\n To File Formats:') for fileformat, params in formats.iteritems(): print(' {0:s} ({1:s})'.format(fileformat, printList(params) if params else '')) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) # check formats (will be iterated over in export function, hence not part of task list) for fileformat in formats.iterkeys(): if fileformat.lower() not in ('ascii_raster', 'netcdf'): raise ArgumentError, "Unsupported file format: '{:s}'".format( fileformat) ## construct argument list args = [] # list of job packages # loop over modes
## load observations/reference dataset obs_dataset = loadDataset(name=obs_name, mode=obs_mode, **obs_args).load() # print an announcement if len(WRF_experiments) > 0: print('\n Bias-correcting WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Bias-correcting CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n Bias-correcting Other Datasets:') print(datasets) print('\n On Grid/Resolution:\n {:s}'.format(grid)) print('\n Variable List: {:s}'.format( 'All' if varlist is None else printList(varlist))) print('\n Bias-Correction Method: {:s}'.format(bc_method)) print('\n Observationa/Reference Dataset:\n {:s}'.format( obs_dataset if ldebug else obs_dataset.name)) print('\n OVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages # loop over modes for mode in modes: # only climatology mode has periods if mode[-5:] == '-mean': periodlist = periods elif mode == 'climatology': periodlist = periods elif mode == 'time-series': periodlist = (None, ) else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode)
# check and expand CESM experiment list CESM_experiments = getExperimentList(CESM_experiments, CESM_project, 'CESM') # expand datasets and resolutions if datasets is None: datasets = gridded_datasets # print an announcement if len(WRF_experiments) > 0: print('\n Exporting WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Exporting CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n And Observational Datasets:') print(datasets) print('\n From Grid/Resolution:\n {:s}'.format(printList(grids))) print('\n To File Formats:') for fileformat,params in formats.iteritems(): print(' {0:s} ({1:s})'.format(fileformat,printList(params) if params else '')) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) # check formats (will be iterated over in export function, hence not part of task list) for fileformat in formats.iterkeys(): if fileformat.lower() not in ('ascii_raster','netcdf'): raise ArgumentError, "Unsupported file format: '{:s}'".format(fileformat) ## construct argument list args = [] # list of job packages # loop over modes for mode in modes: # only climatology mode has periods
## load observations/reference dataset obs_dataset = loadDataset(name=obs_name, mode=obs_mode, **obs_args).load() # print an announcement if len(WRF_experiments) > 0: print('\n Bias-correcting WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Bias-correcting CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n Bias-correcting Other Datasets:') print(datasets) print('\n On Grid/Resolution:\n {:s}'.format(grid)) print('\n Variable List: {:s}'.format('All' if varlist is None else printList(varlist))) print('\n Bias-Correction Method: {:s}'.format(bc_method)) print('\n Observationa/Reference Dataset:\n {:s}'.format(obs_dataset if ldebug else obs_dataset.name)) print('\n OVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages # loop over modes for mode in modes: # only climatology mode has periods if mode[-5:] == '-mean': periodlist = periods elif mode == 'climatology': periodlist = periods elif mode == 'time-series': periodlist = (None,) else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode)
# check and expand CESM experiment list CESM_experiments = getExperimentList(CESM_experiments, CESM_project, 'CESM') # expand datasets and resolutions if datasets is None: datasets = gridded_datasets # print an announcement if len(WRF_experiments) > 0: print('\n Exporting WRF Datasets:') print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Exporting CESM Datasets:') print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n And Observational Datasets:') print(datasets) print('\n From Grid/Resolution:\n {:s}'.format(printList(grids))) print('To File Format {:s}'.format(export_arguments['format'])) print('\n Project Designation: {:s}'.format(export_arguments['project'])) print('Export Variable List: {:s}'.format(printList(export_arguments['varlist']))) if export_arguments['lm3']: '\n Converting kg/m^2/s (mm/s) into m^3/m^2/s (m/s)' print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) # check formats (will be iterated over in export function, hence not part of task list) if export_arguments['format'] == 'ASCII_raster': print('Export Folder: {:s}'.format(export_arguments['folder'])) print('File Prefix: {:s}'.format(export_arguments['prefix'])) elif export_arguments['format'].lower() in ('netcdf','netcdf4'): pass else: raise ArgumentError, "Unsupported file format: '{:s}'".format(export_arguments['format'])
for shp in shapes['basins']: shape_dict[shp] = basins[shp] # print an announcement if len(WRF_experiments) > 0: print('\n Averaging from WRF Datasets ({:s}):'.format(WRF_project)) print([exp.name for exp in WRF_experiments]) if len(CESM_experiments) > 0: print('\n Averaging from CESM Datasets ({:s}):'.format(CESM_project)) print([exp.name for exp in CESM_experiments]) if len(datasets) > 0: print('\n Averaging from Observational Datasets:') print(datasets) print('\n Using Shapefiles:') for shptype, shplst in shapes.iteritems(): print(' {0:s} {1:s}'.format(shptype, printList(shplst))) print('\nOVERWRITE: {0:s}\n'.format(str(loverwrite))) ## construct argument list args = [] # list of job packages (commands) # loop over modes for mode in modes: # only climatology mode has periods if mode == 'climatology': periodlist = periods elif mode == 'time-series': periodlist = (None, ) else: raise NotImplementedError, "Unrecognized Mode: '{:s}'".format(mode) # observational datasets (grid depends on dataset!) for dataset in datasets: mod = import_module('datasets.{0:s}'.format(dataset))