예제 #1
0
 def test_write_whitening(self):
     anxcor = Anxcor()
     anxcor.set_window_length(120.0)
     times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
     bank = WavebankWrapper(source_dir)
     anxcor.add_dataset(bank, 'nodals')
     anxcor.add_process(XArrayWhiten())
     anxcor.save_at_process(target_dir, 'whiten:0')
     result = anxcor.process(times)
     how_many_nc = _how_many_fmt(target_dir, format='.nc')
     _clean_files_in_dir(target_dir)
     assert 20 == how_many_nc
예제 #2
0
    def test_read_combine(self):
        anxcor = Anxcor()
        anxcor.set_window_length(120.0)
        times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
        bank = WavebankWrapper(source_dir)
        anxcor.add_dataset(bank, 'nodals')

        anxcor.save_at_task(target_dir, 'combine')
        result = anxcor.process(times)
        anxcor = Anxcor()
        anxcor.set_window_length(120.0)
        bank = WavebankWrapper(source_dir)
        anxcor.add_dataset(bank, 'nodals')
        anxcor.load_at_task(target_dir, 'combine')
        result = anxcor.process(times)
        how_many_nc = _how_many_fmt(target_dir, format='.nc')
        _clean_files_in_dir(target_dir)
        assert 48 == how_many_nc
예제 #3
0
 def test_read_tempnorm(self):
     anxcor = Anxcor()
     anxcor.set_window_length(120.0)
     times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
     bank = WavebankWrapper(source_dir)
     anxcor.add_dataset(bank, 'nodals')
     anxcor.add_process(
         XArrayTemporalNorm(time_window=5.0, lower_frequency=0.02))
     anxcor.save_at_process(target_dir, 'temp_norm:0')
     result = anxcor.process(times)
     anxcor = Anxcor()
     anxcor.set_window_length(120.0)
     bank = WavebankWrapper(source_dir)
     anxcor.add_dataset(bank, 'nodals')
     anxcor.add_process(
         XArrayTemporalNorm(time_window=5.0, lower_frequency=0.02))
     anxcor.load_at_process(target_dir, 'temp_norm:0')
     result = anxcor.process(times)
     how_many_nc = _how_many_fmt(target_dir, format='.nc')
     _clean_files_in_dir(target_dir)
     assert 20 == how_many_nc
예제 #4
0
    def test_read_post_combine(self):
        anxcor = Anxcor()
        anxcor.set_window_length(120.0)
        times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
        bank = WavebankWrapper(source_dir)
        anxcor.add_dataset(bank, 'nodals')
        anxcor.save_at_task(target_dir, 'post-combine')
        result = anxcor.process(times)

        anxcor = Anxcor()
        anxcor.set_window_length(120.0)
        bank = WavebankWrapper(source_dir)
        anxcor.add_dataset(bank, 'nodals')
        anxcor.load_at_task(target_dir, 'post-combine')
        result = anxcor.process(times)
        _clean_files_in_dir(target_dir)
        print(result)
        assert len(result.coords['src_chan'].values) == 3
예제 #5
0
 def test_read_xconvert(self):
     anxcor = Anxcor()
     anxcor.set_window_length(120.0)
     times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
     bank = WavebankWrapper(source_dir)
     anxcor.add_dataset(bank, 'nodals')
     anxcor.save_at_task(target_dir, 'xconvert')
     result = anxcor.process(times)
     anxcor = Anxcor()
     anxcor.set_window_length(120.0)
     bank = WavebankWrapper(source_dir)
     anxcor.add_dataset(bank, 'nodals')
     anxcor.load_at_task(target_dir, 'xconvert')
     result = anxcor.process(times)
     _clean_files_in_dir(target_dir)
     assert isinstance(result, xr.Dataset)
예제 #6
0
 def test_write_tempnorm_dask(self):
     from distributed import Client, LocalCluster
     from dask.distributed import wait
     cluster = LocalCluster(n_workers=1, threads_per_worker=1)
     c = Client(cluster)
     anxcor = Anxcor()
     anxcor.set_window_length(120.0)
     times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
     bank = WavebankWrapper(source_dir)
     anxcor.add_dataset(bank, 'nodals')
     anxcor.add_process(
         XArrayTemporalNorm(time_window=5.0, lower_frequency=0.02))
     anxcor.save_at_process(target_dir, 'temp_norm:0')
     result = anxcor.process(times, dask_client=c)
     how_many_nc = _how_many_fmt(target_dir, format='.nc')
     _clean_files_in_dir(target_dir)
     assert 20 == how_many_nc
예제 #7
0
    def test_dask_read_combine_instastack(self):

        from distributed import Client, LocalCluster
        from dask.distributed import wait
        cluster = LocalCluster(n_workers=1, threads_per_worker=1)
        c = Client(cluster)
        anxcor = Anxcor()
        anxcor.set_window_length(120.0)
        times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
        bank = WavebankWrapper(source_dir)
        anxcor.add_dataset(bank, 'nodals')

        anxcor.save_at_task(target_dir, 'combine')
        result = anxcor.process(times, dask_client=c, stack=True)

        anxcor = Anxcor()
        anxcor.set_window_length(120.0)
        bank = WavebankWrapper(source_dir)
        anxcor.add_dataset(bank, 'nodals')
        anxcor.load_at_task(target_dir, 'combine')
        result = anxcor.process(times, dask_client=c, stack=True)

        how_many_nc = _how_many_fmt(target_dir, format='.nc')
        _clean_files_in_dir(target_dir)
        c.close()
        cluster.close()
        assert 48 == how_many_nc
예제 #8
0
    def test_dask_execution_exclude_stack_immediately(self):

        from distributed import Client, LocalCluster
        cluster = LocalCluster(n_workers=1, threads_per_worker=1)
        c = Client(cluster)
        anxcor = Anxcor()
        anxcor.set_window_length(40.0)
        anxcor.set_task_kwargs('crosscorrelate', dict(max_tau_shift=20.0))
        times = anxcor.get_starttimes(starttime_stamp, endtime_stamp, 0.5)
        bank = WavebankWrapper(source_dir)
        anxcor.set_must_exclude_single_stations('AX.1')
        anxcor.add_dataset(bank, 'nodals')
        result = anxcor.process(times, dask_client=c, stack=True)
        pairs = list(result.coords['rec'].values) + list(
            result.coords['src'].values)
        c.close()
        cluster.close()
        assert 4 == len(pairs)