コード例 #1
0
ファイル: run_RCMES.py プロジェクト: maheshguru/climate
def load_datasets_from_config(extra_opts, *loader_opts):
    '''
    Generic dataset loading function.
    '''
    for opt in loader_opts:
        loader_name = opt['loader_name']
        if loader_name == 'esgf':
            if extra_opts['password'] is None:
                extra_opts['username'] = raw_input('Enter your ESGF OpenID:\n')
                extra_opts['password'] = getpass(
                    prompt='Enter your ESGF password:\n')

            opt['esgf_username'] = extra_opts['username']
            opt['esgf_password'] = extra_opts['password']
        elif loader_name == 'rcmed':
            opt['min_lat'] = extra_opts['min_lat']
            opt['max_lat'] = extra_opts['max_lat']
            opt['min_lon'] = extra_opts['min_lon']
            opt['max_lon'] = extra_opts['max_lon']
            opt['start_time'] = extra_opts['start_time']
            opt['end_time'] = extra_opts['end_time']

        loader = DatasetLoader(*loader_opts)
        loader.load_datasets()
        return loader.datasets
コード例 #2
0
 def testExistingDataSource(self):
     '''
     Ensures that existing data source loaders can be added
     '''
     self.loader = DatasetLoader(self.config)
     self.loader.load_datasets()
     self.assertEqual(self.loader.datasets[0].origin['source'], 'local')
     np.testing.assert_array_equal(self.loader.datasets[0].values,
                                   self.values)
コード例 #3
0
    def testNewDataSource(self):
        '''
        Ensures that custom data source loaders can be added
        '''
        self.loader = DatasetLoader(self.new_data_source_config)

        # Here the data_source "foo" represents the Dataset constructor
        self.loader.add_source_loader('foo', build_dataset)
        self.loader.load_datasets()
        self.assertEqual(self.loader.datasets[0].origin['source'], 'foo')
        np.testing.assert_array_equal(self.loader.datasets[0].values,
                                      self.values2)
コード例 #4
0
    def testMultipleDataSources(self):
        '''
        Test for when multiple dataset configs are specified
        '''
        self.loader = DatasetLoader(self.config, self.new_data_source_config)

        # Here the data_source "foo" represents the Dataset constructor
        self.loader.add_source_loader('foo', build_dataset)
        self.loader.load_datasets()
        self.assertEqual(self.loader.datasets[0].origin['source'], 'local')
        self.assertEqual(self.loader.datasets[1].origin['source'], 'foo')
        np.testing.assert_array_equal(self.loader.datasets[0].values,
                                      self.values)
        np.testing.assert_array_equal(self.loader.datasets[1].values,
                                      self.values2)