def test_load_config_wout_routine(self): anxcor = Anxcor(window_length=120.0) anxcor.add_process( XArrayTemporalNorm(time_window=15, rolling_metric='max')) anxcor.save_config(save_dir + os.sep + 'config.ini') anxcor2 = Anxcor(window_length=120.0) anxcor2.load_config(save_dir + os.sep + 'config.ini') assert True
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
def test_write_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, freqmin=0.02)) anxcor.save_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
def test_expected_pair_amount(self): anxcor_main = Anxcor(60 * 10.0) anxcor_main.add_dataset(IRISWrapper(), 'IMUSH_ST_HELLENS_DATA') correlate_kwargs = dict(taper=0.1, max_tau_shift=50.0) anxcor_main.set_task_kwargs('crosscorrelate', correlate_kwargs) anxcor_main.add_process(XArrayRemoveMeanTrend()) anxcor_main.add_process(XArrayOneBit()) starttime = UTCDateTime("2005-6-22 12:00:00").timestamp starttimes = [] for window_number in range(0, 4): starttimes.append(starttime + 60 * 10.0 * window_number) xarray_dataset = anxcor_main.process(starttimes) assert len(list(xarray_dataset.coords['rec'].values)) == 2
def test_load_config_with_routine(self): time_mean_target = 15 anxcor = Anxcor() anxcor.set_window_length(120.0) anxcor.add_process( XArrayTemporalNorm(window=time_mean_target, rolling_metric='max')) anxcor.save_config(save_dir + os.sep + 'config.ini') anxcor2 = Anxcor() anxcor.set_window_length(120.0) anxcor2.add_process(XArrayTemporalNorm()) anxcor2.load_config(save_dir + os.sep + 'config.ini') tnorm = anxcor2._get_task('process')['temp_norm:0'] time_mean_src = tnorm._kwargs['window'] assert time_mean_target == time_mean_src
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, freqmin=0.02)) anxcor.save_at_process(target_dir,'temp_norm:0') result = anxcor.process(times,dask_client=c) print(result) how_many_nc = _how_many_fmt(target_dir, format='.nc') _clean_files_in_dir(target_dir) assert 20 == how_many_nc
def build_anxcor(tau,interpolation_method='nearest'): broadband_data_dir = basedir+'test_data/correlation_integration_testing/Broadband' broadband_station_location_file = basedir+'test_data/correlation_integration_testing/broadband_stationlist.txt' nodal_data_dir = basedir+'test_data/correlation_integration_testing/Nodal' nodal_station_location_file = basedir+'test_data/correlation_integration_testing/nodal_stationlist.txt' broadband_database = DWellsDecimatedReader(broadband_data_dir, broadband_station_location_file) nodal_database = DWellsDecimatedReader(nodal_data_dir, nodal_station_location_file,extension='d') window_length = 10*60.0 #include_stations = ['Nodal.{}'.format(x) for x in range(1,10)] include_stations = ['UU.FORU','DV.1'] taper_ratio = 0.05 target_rate = 50.0 correlate_kwargs= dict(max_tau_shift=tau,taper=taper_ratio) resample_kwargs = dict(target_rate=target_rate,lowpass=False) anxcor_main = Anxcor(interp_method=interpolation_method) anxcor_main.set_window_length(window_length) anxcor_main.set_must_only_include_station_pairs(include_stations) anxcor_main.add_dataset(broadband_database,'BB') anxcor_main.add_dataset(nodal_database, 'Nodal') anxcor_main.add_process(XArrayTaper(taper=taper_ratio)) anxcor_main.add_process(XArrayRemoveMeanTrend()) anxcor_main.add_process(XArrayTaper(taper=taper_ratio)) anxcor_main.set_task_kwargs('crosscorrelate',correlate_kwargs) # anxcor_main.set_task('post-correlate',XArrayCustomComponentNormalizer()) return anxcor_main