Ejemplo n.º 1
0
    def test_15min_to_2h_masking_1D(self):
        # The data is identical for '2005-01-01' and '2005-01-03' timesteps,
        # it is only different for '2005-01-02'
        override = {
            'techs.test_demand_elec.constraints.resource': 'file=demand_elec_15T_to_2h.csv',
            'model.subset_time': None
        }

        model = build_test_model(override, scenario='simple_supply,one_day')
        data = model._model_data

        mask = masks.extreme(
            data, 'test_demand_elec', var='resource', how='max', length='1D'
        )

        dtindex = pd.DatetimeIndex([
            '2005-01-02 00:00:00', '2005-01-02 00:15:00', '2005-01-02 00:30:00',
            '2005-01-02 00:45:00', '2005-01-02 01:00:00', '2005-01-02 01:30:00',
            '2005-01-02 02:00:00', '2005-01-02 02:30:00', '2005-01-02 03:00:00',
            '2005-01-02 04:00:00', '2005-01-02 05:00:00', '2005-01-02 06:00:00',
            '2005-01-02 08:00:00', '2005-01-02 10:00:00', '2005-01-02 12:00:00',
            '2005-01-02 14:00:00', '2005-01-02 16:00:00', '2005-01-02 17:00:00',
            '2005-01-02 18:00:00', '2005-01-02 20:00:00', '2005-01-02 22:00:00'
        ])

        assert dtindex.equals(mask)
Ejemplo n.º 2
0
 def test_extreme_week_2d(self, model_national):
     data = model_national._model_data_original.copy()
     with pytest.raises(ValueError):
         mask = masks.extreme(
             data, 'csp', var='resource', how='max',
             length='2D', n=1, padding='calendar_week'
         )
Ejemplo n.º 3
0
    def test_extreme(self, model_national):
        data = model_national._model_data_original.copy()
        mask = masks.extreme(
            data, 'csp', var='resource', how='max',
            length='2D', n=1, padding='2H'
        )

        dtindex = pd.DatetimeIndex([
            '2005-01-18 22:00:00', '2005-01-18 23:00:00', '2005-01-19 00:00:00',
            '2005-01-19 01:00:00', '2005-01-19 02:00:00', '2005-01-19 03:00:00',
            '2005-01-19 04:00:00', '2005-01-19 05:00:00', '2005-01-19 06:00:00',
            '2005-01-19 07:00:00', '2005-01-19 08:00:00', '2005-01-19 09:00:00',
            '2005-01-19 10:00:00', '2005-01-19 11:00:00', '2005-01-19 12:00:00',
            '2005-01-19 13:00:00', '2005-01-19 14:00:00', '2005-01-19 15:00:00',
            '2005-01-19 16:00:00', '2005-01-19 17:00:00', '2005-01-19 18:00:00',
            '2005-01-19 19:00:00', '2005-01-19 20:00:00', '2005-01-19 21:00:00',
            '2005-01-19 22:00:00', '2005-01-19 23:00:00', '2005-01-20 00:00:00',
            '2005-01-20 01:00:00', '2005-01-20 02:00:00', '2005-01-20 03:00:00',
            '2005-01-20 04:00:00', '2005-01-20 05:00:00', '2005-01-20 06:00:00',
            '2005-01-20 07:00:00', '2005-01-20 08:00:00', '2005-01-20 09:00:00',
            '2005-01-20 10:00:00', '2005-01-20 11:00:00', '2005-01-20 12:00:00',
            '2005-01-20 13:00:00', '2005-01-20 14:00:00', '2005-01-20 15:00:00',
            '2005-01-20 16:00:00', '2005-01-20 17:00:00', '2005-01-20 18:00:00',
            '2005-01-20 19:00:00', '2005-01-20 20:00:00', '2005-01-20 21:00:00',
            '2005-01-20 22:00:00', '2005-01-20 23:00:00', '2005-01-21 00:00:00',
            '2005-01-21 01:00:00'
        ])

        assert dtindex.equals(mask)
Ejemplo n.º 4
0
    def test_extreme_week_1d(self, model_national):
        data = model_national._model_data_original.copy()
        mask = masks.extreme(
            data, 'csp', var='resource', how='max',
            length='1D', n=1, padding='calendar_week'
        )

        found_days = list(mask.dayofyear.unique())
        days = [18, 19, 20, 21, 22, 23, 24]

        assert days == found_days