diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a8e54d91..f01fad2b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,9 @@ default_language_version: python: python3.9 +ci: + skip: [pydocstyle, flake8] + repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.4.0 diff --git a/tests/data/gsp/test.zarr/.zattrs b/tests/data/gsp/test.zarr/.zattrs index 9e26dfee..0967ef42 100644 --- a/tests/data/gsp/test.zarr/.zattrs +++ b/tests/data/gsp/test.zarr/.zattrs @@ -1 +1 @@ -{} \ No newline at end of file +{} diff --git a/tests/data/gsp/test.zarr/.zgroup b/tests/data/gsp/test.zarr/.zgroup index 3b7daf22..3f3fad2d 100644 --- a/tests/data/gsp/test.zarr/.zgroup +++ b/tests/data/gsp/test.zarr/.zgroup @@ -1,3 +1,3 @@ { "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/.zattrs b/tests/data/nwp_data/test.zarr/.zattrs index 9e26dfee..0967ef42 100644 --- a/tests/data/nwp_data/test.zarr/.zattrs +++ b/tests/data/nwp_data/test.zarr/.zattrs @@ -1 +1 @@ -{} \ No newline at end of file +{} diff --git a/tests/data/nwp_data/test.zarr/.zgroup b/tests/data/nwp_data/test.zarr/.zgroup index 3b7daf22..3f3fad2d 100644 --- a/tests/data/nwp_data/test.zarr/.zgroup +++ b/tests/data/nwp_data/test.zarr/.zgroup @@ -1,3 +1,3 @@ { "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/UKV/.zattrs b/tests/data/nwp_data/test.zarr/UKV/.zattrs index 8288e411..1809cee2 100644 --- a/tests/data/nwp_data/test.zarr/UKV/.zattrs +++ b/tests/data/nwp_data/test.zarr/UKV/.zattrs @@ -6,4 +6,4 @@ "y", "x" ] -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/init_time/.zarray b/tests/data/nwp_data/test.zarr/init_time/.zarray index 5a32dfb2..17010b82 100644 --- a/tests/data/nwp_data/test.zarr/init_time/.zarray +++ b/tests/data/nwp_data/test.zarr/init_time/.zarray @@ -17,4 +17,4 @@ 9 ], "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/init_time/.zattrs b/tests/data/nwp_data/test.zarr/init_time/.zattrs index 5933f893..66e1ad79 100644 --- a/tests/data/nwp_data/test.zarr/init_time/.zattrs +++ b/tests/data/nwp_data/test.zarr/init_time/.zattrs @@ -6,4 +6,4 @@ "long_name": "initial time of forecast", "standard_name": "forecast_reference_time", "units": "hours since 2018-01-01" -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/step/.zattrs b/tests/data/nwp_data/test.zarr/step/.zattrs index c3543a66..e24d4a1a 100644 --- a/tests/data/nwp_data/test.zarr/step/.zattrs +++ b/tests/data/nwp_data/test.zarr/step/.zattrs @@ -5,4 +5,4 @@ "long_name": "time since forecast_reference_time", "standard_name": "forecast_period", "units": "hours" -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/variable/.zattrs b/tests/data/nwp_data/test.zarr/variable/.zattrs index c006e0ba..7b27a29d 100644 --- a/tests/data/nwp_data/test.zarr/variable/.zattrs +++ b/tests/data/nwp_data/test.zarr/variable/.zattrs @@ -2,4 +2,4 @@ "_ARRAY_DIMENSIONS": [ "variable" ] -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/x/.zattrs b/tests/data/nwp_data/test.zarr/x/.zattrs index 4b15671e..1727aa4a 100644 --- a/tests/data/nwp_data/test.zarr/x/.zattrs +++ b/tests/data/nwp_data/test.zarr/x/.zattrs @@ -2,4 +2,4 @@ "_ARRAY_DIMENSIONS": [ "x" ] -} \ No newline at end of file +} diff --git a/tests/data/nwp_data/test.zarr/y/.zattrs b/tests/data/nwp_data/test.zarr/y/.zattrs index 64ccf306..c08a98ca 100644 --- a/tests/data/nwp_data/test.zarr/y/.zattrs +++ b/tests/data/nwp_data/test.zarr/y/.zattrs @@ -2,4 +2,4 @@ "_ARRAY_DIMENSIONS": [ "y" ] -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/.zattrs b/tests/data/sat_data.zarr/.zattrs index 9e26dfee..0967ef42 100644 --- a/tests/data/sat_data.zarr/.zattrs +++ b/tests/data/sat_data.zarr/.zattrs @@ -1 +1 @@ -{} \ No newline at end of file +{} diff --git a/tests/data/sat_data.zarr/.zgroup b/tests/data/sat_data.zarr/.zgroup index 3b7daf22..3f3fad2d 100644 --- a/tests/data/sat_data.zarr/.zgroup +++ b/tests/data/sat_data.zarr/.zgroup @@ -1,3 +1,3 @@ { "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/.zmetadata b/tests/data/sat_data.zarr/.zmetadata index c785eaaa..82e63773 100644 --- a/tests/data/sat_data.zarr/.zmetadata +++ b/tests/data/sat_data.zarr/.zmetadata @@ -154,4 +154,4 @@ } }, "zarr_consolidated_format": 1 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/stacked_eumetsat_data/.zarray b/tests/data/sat_data.zarr/stacked_eumetsat_data/.zarray index 71f8b301..869d5506 100644 --- a/tests/data/sat_data.zarr/stacked_eumetsat_data/.zarray +++ b/tests/data/sat_data.zarr/stacked_eumetsat_data/.zarray @@ -23,4 +23,4 @@ 1 ], "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/stacked_eumetsat_data/.zattrs b/tests/data/sat_data.zarr/stacked_eumetsat_data/.zattrs index 53bc11fd..d1e6397f 100644 --- a/tests/data/sat_data.zarr/stacked_eumetsat_data/.zattrs +++ b/tests/data/sat_data.zarr/stacked_eumetsat_data/.zattrs @@ -5,4 +5,4 @@ "x", "variable" ] -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/time/.zarray b/tests/data/sat_data.zarr/time/.zarray index da1fec09..6790794f 100644 --- a/tests/data/sat_data.zarr/time/.zarray +++ b/tests/data/sat_data.zarr/time/.zarray @@ -23,4 +23,4 @@ 72 ], "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/time/.zattrs b/tests/data/sat_data.zarr/time/.zattrs index d8725dac..f0272439 100644 --- a/tests/data/sat_data.zarr/time/.zattrs +++ b/tests/data/sat_data.zarr/time/.zattrs @@ -4,4 +4,4 @@ ], "calendar": "proleptic_gregorian", "units": "minutes since 2018-05-31T00:04:00" -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/variable/.zarray b/tests/data/sat_data.zarr/variable/.zarray index 7d4ed29f..79dad97f 100644 --- a/tests/data/sat_data.zarr/variable/.zarray +++ b/tests/data/sat_data.zarr/variable/.zarray @@ -23,4 +23,4 @@ 1 ], "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/variable/.zattrs b/tests/data/sat_data.zarr/variable/.zattrs index c006e0ba..7b27a29d 100644 --- a/tests/data/sat_data.zarr/variable/.zattrs +++ b/tests/data/sat_data.zarr/variable/.zattrs @@ -2,4 +2,4 @@ "_ARRAY_DIMENSIONS": [ "variable" ] -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/x/.zarray b/tests/data/sat_data.zarr/x/.zarray index 48a158c2..cc88bbd1 100644 --- a/tests/data/sat_data.zarr/x/.zarray +++ b/tests/data/sat_data.zarr/x/.zarray @@ -17,4 +17,4 @@ 548 ], "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/x/.zattrs b/tests/data/sat_data.zarr/x/.zattrs index 4b15671e..1727aa4a 100644 --- a/tests/data/sat_data.zarr/x/.zattrs +++ b/tests/data/sat_data.zarr/x/.zattrs @@ -2,4 +2,4 @@ "_ARRAY_DIMENSIONS": [ "x" ] -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/y/.zarray b/tests/data/sat_data.zarr/y/.zarray index 790599d3..1255fc19 100644 --- a/tests/data/sat_data.zarr/y/.zarray +++ b/tests/data/sat_data.zarr/y/.zarray @@ -17,4 +17,4 @@ 704 ], "zarr_format": 2 -} \ No newline at end of file +} diff --git a/tests/data/sat_data.zarr/y/.zattrs b/tests/data/sat_data.zarr/y/.zattrs index 64ccf306..c08a98ca 100644 --- a/tests/data/sat_data.zarr/y/.zattrs +++ b/tests/data/sat_data.zarr/y/.zattrs @@ -2,4 +2,4 @@ "_ARRAY_DIMENSIONS": [ "y" ] -} \ No newline at end of file +} diff --git a/tests/test_manager.py b/tests/test_manager.py index 751bbeb0..255afeb8 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -2,8 +2,12 @@ from datetime import datetime from pathlib import Path +import numpy as np +import pandas as pd + import nowcasting_dataset from nowcasting_dataset.data_sources.gsp.gsp_data_source import GSPDataSource +from nowcasting_dataset.data_sources.satellite.satellite_data_source import SatelliteDataSource from nowcasting_dataset.manager import Manager @@ -44,4 +48,32 @@ def test_load_yaml_configuration(): # noqa: D103 assert isinstance(manager.data_source_which_defines_geospatial_locations, GSPDataSource) +def test_get_daylight_datetime_index(): + """ Check that 'manager' gets the correct t0 datetime over nighttime""" + filename = Path(nowcasting_dataset.__file__).parent.parent / "tests" / "data" / "sat_data.zarr" + + sat = SatelliteDataSource( + zarr_path=filename, + history_minutes=30, + forecast_minutes=60, + image_size_pixels=64, + meters_per_pixel=2000, + ) + + manager = Manager() + manager.data_sources = {"sat": sat} + manager.data_source_which_defines_geospatial_locations = sat + t0_datetimes = manager.get_t0_datetimes_across_all_data_sources(freq="5T") + + # The testing sat_data.zarr has contiguous data from 12:05 to 18:00. + # nowcasting_datamodule.history_minutes = 30 + # nowcasting_datamodule.forecast_minutes = 60 + # Daylight ends at 16:20. + # So the expected t0_datetimes start at 12:35 (12:05 + 30 minutes) + # and end at 15:20 (16:20 - 60 minutes) + + correct_t0_datetimes = pd.date_range("2019-01-01 12:35", "2019-01-01 15:20", freq="5 min") + np.testing.assert_array_equal(t0_datetimes, correct_t0_datetimes) + + # TODO: Issue #322: Test the other Manager methods!