def test_full_run(): ''' test a wind series that has a constant average ''' ts = [(datetime(2015, 1, 1, 1, 0), (10, 0)), (datetime(2015, 1, 1, 2, 0), (20, 0)), (datetime(2015, 1, 1, 3, 0), (10, 0)), (datetime(2015, 1, 1, 4, 0), (20, 0)), (datetime(2015, 1, 1, 5, 0), (10, 0)), (datetime(2015, 1, 1, 6, 0), (20, 0)), (datetime(2015, 1, 1, 7, 0), (10, 0)), (datetime(2015, 1, 1, 8, 0), (20, 0)), (datetime(2015, 1, 1, 9, 0), (10, 0)), (datetime(2015, 1, 1, 10, 0), (20, 0))] start_time = datetime(2015, 1, 1, 1) model_time = start_time running_av = RunningAverage(timeseries=ts) running_av.prepare_for_model_run(model_time) running_av.prepare_for_model_step(model_time) print "running_av" print running_av.ossm.timeseries[:] model_time = datetime(2015, 1, 1, 4, 0) running_av.prepare_for_model_run(model_time) running_av.prepare_for_model_step(model_time) print "running_av2" print running_av.ossm.timeseries[:] assert np.all(running_av.ossm.timeseries['value']['u'][3:9] == 15)
def test_full_run_extended(): ''' test algorithm resets two day running average with a new time ''' ts = np.zeros((20, ), dtype=datetime_value_2d) ts[:] = [(datetime(2015, 1, 1, 1, 0), (10, 0)), (datetime(2015, 1, 1, 2, 0), (20, 0)), (datetime(2015, 1, 1, 3, 0), (10, 0)), (datetime(2015, 1, 1, 4, 0), (20, 0)), (datetime(2015, 1, 1, 5, 0), (10, 0)), (datetime(2015, 1, 1, 6, 0), (20, 0)), (datetime(2015, 1, 1, 7, 0), (10, 0)), (datetime(2015, 1, 1, 8, 0), (20, 0)), (datetime(2015, 1, 1, 9, 0), (10, 0)), (datetime(2015, 1, 1, 10, 0), (20, 0)), (datetime(2015, 1, 5, 1, 0), (10, 0)), (datetime(2015, 1, 5, 2, 0), (20, 0)), (datetime(2015, 1, 5, 3, 0), (10, 0)), (datetime(2015, 1, 5, 4, 0), (20, 0)), (datetime(2015, 1, 5, 5, 0), (10, 0)), (datetime(2015, 1, 5, 6, 0), (20, 0)), (datetime(2015, 1, 5, 7, 0), (10, 0)), (datetime(2015, 1, 5, 8, 0), (20, 0)), (datetime(2015, 1, 5, 9, 0), (10, 0)), (datetime(2015, 1, 5, 10, 0), (20, 0))] wm = Wind(filename=wind_file, units='mps') start_time = datetime(2015, 1, 1, 1) model_time = start_time running_av = RunningAverage(wind=wm) # running_av = RunningAverage(timeseries=ts) running_av.prepare_for_model_run(model_time) running_av.prepare_for_model_step(model_time) print "running_av" print running_av.ossm.timeseries[:] model_time = datetime(2015, 1, 5, 4, 0) running_av.prepare_for_model_run(model_time) running_av.prepare_for_model_step(model_time) print "running_av2" print running_av.ossm.timeseries[:] assert np.all(running_av.ossm.timeseries['value']['u'][:] == 15)
def test_full_run_extended(): ''' test algorithm resets two day running average with a new time ''' ts = np.zeros((20,), dtype=datetime_value_2d) ts[:] = [(datetime(2015, 1, 1, 1, 0), (10, 0)), (datetime(2015, 1, 1, 2, 0), (20, 0)), (datetime(2015, 1, 1, 3, 0), (10, 0)), (datetime(2015, 1, 1, 4, 0), (20, 0)), (datetime(2015, 1, 1, 5, 0), (10, 0)), (datetime(2015, 1, 1, 6, 0), (20, 0)), (datetime(2015, 1, 1, 7, 0), (10, 0)), (datetime(2015, 1, 1, 8, 0), (20, 0)), (datetime(2015, 1, 1, 9, 0), (10, 0)), (datetime(2015, 1, 1, 10, 0), (20, 0)), (datetime(2015, 1, 5, 1, 0), (10, 0)), (datetime(2015, 1, 5, 2, 0), (20, 0)), (datetime(2015, 1, 5, 3, 0), (10, 0)), (datetime(2015, 1, 5, 4, 0), (20, 0)), (datetime(2015, 1, 5, 5, 0), (10, 0)), (datetime(2015, 1, 5, 6, 0), (20, 0)), (datetime(2015, 1, 5, 7, 0), (10, 0)), (datetime(2015, 1, 5, 8, 0), (20, 0)), (datetime(2015, 1, 5, 9, 0), (10, 0)), (datetime(2015, 1, 5, 10, 0), (20, 0))] wm = Wind(filename=wind_file, units='mps') start_time = datetime(2015, 1, 1, 1) model_time = start_time running_av = RunningAverage(wind=wm) # running_av = RunningAverage(timeseries=ts) running_av.prepare_for_model_run(model_time) running_av.prepare_for_model_step(model_time) print "running_av" print running_av.ossm.timeseries[:] model_time = datetime(2015, 1, 5, 4, 0) running_av.prepare_for_model_run(model_time) running_av.prepare_for_model_step(model_time) print "running_av2" print running_av.ossm.timeseries[:] assert np.all(running_av.ossm.timeseries['value']['u'][:] == 15)