Example #1
0
                "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)
Example #2
0
  # 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
Example #3
0
                "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 ...
Example #4
0
  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))
Example #5
0
  # 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 ...
Example #6
0
   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'])
Example #7
0
    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
Example #8
0
    ## 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)
Example #9
0
 # 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    
Example #10
0
  ## 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)
Example #11
0
 # 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'])
   
Example #12
0
  ## 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)
Example #13
0
        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))