示例#1
0
def export_gleam():
    # if the working directory is alread ml_drought don't need ../data
    if Path('.').absolute().as_posix().split('/')[-1] == 'ml_drought':
        data_path = Path('data')
    else:
        data_path = Path('../data')

    exporter = GLEAMExporter(data_folder=data_path)
    exporter.export(['E', 'SMroot', 'SMsurf'], 'monthly')
    def test_granularities(self, mock_paramiko, tmp_path, monkeypatch):
        mock_paramiko.return_value = Mock()
        monkeypatch.setattr(paramiko.SFTPClient, 'from_transport',
                            self.mock_sftp_connection)

        exporter = GLEAMExporter(data_folder=tmp_path)
        granularities = exporter.get_granularities()

        assert set(granularities) == {'daily', 'monthly', 'yearly'}
    def test_init(self, mock_paramiko, tmp_path, monkeypatch):

        mock_paramiko.return_value = Mock()

        monkeypatch.setattr(paramiko.SFTPClient, 'from_transport',
                            self.mock_sftp_connection)

        GLEAMExporter(data_folder=tmp_path)
        assert (tmp_path / 'raw/gleam').exists(), 'Gleam folder not made!'

        mock_paramiko.assert_called(), 'paramiko.Transport never called!'
    def test_sftppath_to_localpath(self, mock_paramiko, tmp_path, monkeypatch):
        mock_paramiko.return_value = Mock()
        monkeypatch.setattr(paramiko.SFTPClient, 'from_transport',
                            self.mock_sftp_connection)

        exporter = GLEAMExporter(data_folder=tmp_path)

        sftppath = '/data/v3.3a/yearly/Eb_1980_2018_GLEAM_v3.3a_MO.nc'
        localpath, filename = exporter.sftppath_to_localpath(sftppath)

        assert localpath == tmp_path / 'raw/gleam/yearly'
        assert filename == 'Eb_1980_2018_GLEAM_v3.3a_MO.nc'
    def test_datasets(self, mock_paramiko, tmp_path, monkeypatch):
        mock_paramiko.return_value = Mock()
        monkeypatch.setattr(paramiko.SFTPClient, 'from_transport',
                            self.mock_sftp_connection)

        exporter = GLEAMExporter(data_folder=tmp_path)

        expected = {'yearly': 'hello_1.nc', 'monthly': 'hello_2.nc', 'daily': 'hello_3.nc'}

        for key, val in expected.items():

            datasets = exporter.get_datasets(granularity=key)
            assert len(datasets) == 1, 'Only expected one output filename'
            output_file = datasets[0].split('/')[-1]
            assert output_file == val, f'Expected {val}, got {output_file}'
def export_data(data_path):
    # target variable
    print('** Exporting VHI **')
    exporter = VHIExporter(data_path)
    exporter.export()
    del exporter

    # precip
    print('** Exporting CHIRPS Precip **')
    exporter = CHIRPSExporter(data_path)
    exporter.export(years=None, region='global', period='monthly')
    del exporter

    # temperature
    print('** Exporting ERA5 Temperature **')
    exporter = ERA5Exporter(data_path)
    exporter.export(
        variable='2m_temperature', granularity='monthly',
    )
    del exporter

    # evaporation
    print('** Exporting GLEAM Evaporation **')
    exporter = GLEAMExporter(data_folder=data_path)
    exporter.export(['E'], 'monthly')
    del exporter

    # topography
    print('** Exporting SRTM Topography **')
    exporter = SRTMExporter(data_folder=data_path)
    exporter.export()
    del exporter

    # landcover
    print('** Exporting Landcover **')
    exporter = ESACCIExporter(data_folder=data_path)
    exporter.export()
    del exporter
示例#7
0
def export_data(data_path):
    # target variable
    print("** Exporting VHI **")
    exporter = VHIExporter(data_path)
    exporter.export()
    del exporter

    # precip
    print("** Exporting CHIRPS Precip **")
    exporter = CHIRPSExporter(data_path)
    exporter.export(years=None, region="global", period="monthly")
    del exporter

    # temperature
    print("** Exporting ERA5 Temperature **")
    exporter = ERA5Exporter(data_path)
    exporter.export(variable="2m_temperature", granularity="monthly")
    del exporter

    # evaporation
    print("** Exporting GLEAM Evaporation **")
    exporter = GLEAMExporter(data_folder=data_path)
    exporter.export(["E"], "monthly")
    del exporter

    # topography
    print("** Exporting SRTM Topography **")
    exporter = SRTMExporter(data_folder=data_path)
    exporter.export()
    del exporter

    # landcover
    print("** Exporting Landcover **")
    exporter = ESACCIExporter(data_folder=data_path)
    exporter.export()
    del exporter
示例#8
0
def export_gleam():
    exporter = GLEAMExporter(data_folder=get_data_path())
    exporter.export(["E", "SMroot", "SMsurf"], "monthly")