ocf-data-sampler 0.0.23__py3-none-any.whl → 0.0.25__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ocf-data-sampler might be problematic. Click here for more details.

Files changed (35) hide show
  1. ocf_data_sampler/config/model.py +34 -0
  2. ocf_data_sampler/load/load_dataset.py +55 -0
  3. ocf_data_sampler/load/nwp/providers/ecmwf.py +5 -2
  4. ocf_data_sampler/load/site.py +30 -0
  5. ocf_data_sampler/numpy_batch/__init__.py +4 -3
  6. ocf_data_sampler/numpy_batch/gsp.py +12 -12
  7. ocf_data_sampler/numpy_batch/nwp.py +14 -14
  8. ocf_data_sampler/numpy_batch/satellite.py +8 -8
  9. ocf_data_sampler/numpy_batch/site.py +29 -0
  10. ocf_data_sampler/select/__init__.py +8 -1
  11. ocf_data_sampler/select/dropout.py +2 -1
  12. ocf_data_sampler/select/geospatial.py +43 -1
  13. ocf_data_sampler/select/select_spatial_slice.py +8 -2
  14. ocf_data_sampler/select/spatial_slice_for_dataset.py +53 -0
  15. ocf_data_sampler/select/time_slice_for_dataset.py +124 -0
  16. ocf_data_sampler/time_functions.py +11 -0
  17. ocf_data_sampler/torch_datasets/process_and_combine.py +153 -0
  18. ocf_data_sampler/torch_datasets/pvnet_uk_regional.py +8 -418
  19. ocf_data_sampler/torch_datasets/site.py +196 -0
  20. ocf_data_sampler/torch_datasets/valid_time_periods.py +108 -0
  21. {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/METADATA +1 -1
  22. ocf_data_sampler-0.0.25.dist-info/RECORD +66 -0
  23. {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/WHEEL +1 -1
  24. {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/top_level.txt +1 -0
  25. scripts/refactor_site.py +50 -0
  26. tests/conftest.py +62 -0
  27. tests/load/test_load_sites.py +14 -0
  28. tests/numpy_batch/test_gsp.py +1 -2
  29. tests/numpy_batch/test_nwp.py +1 -3
  30. tests/numpy_batch/test_satellite.py +1 -3
  31. tests/numpy_batch/test_sun_position.py +7 -7
  32. tests/torch_datasets/test_pvnet_uk_regional.py +4 -6
  33. tests/torch_datasets/test_site.py +85 -0
  34. ocf_data_sampler-0.0.23.dist-info/RECORD +0 -54
  35. {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/LICENSE +0 -0
@@ -0,0 +1,85 @@
1
+ import pandas as pd
2
+ import pytest
3
+
4
+ from ocf_data_sampler.torch_datasets.site import SitesDataset
5
+ from ocf_data_sampler.config import load_yaml_configuration, save_yaml_configuration
6
+ from ocf_data_sampler.numpy_batch.nwp import NWPBatchKey
7
+ from ocf_data_sampler.numpy_batch.site import SiteBatchKey
8
+ from ocf_data_sampler.numpy_batch.satellite import SatelliteBatchKey
9
+
10
+
11
+ @pytest.fixture()
12
+ def site_config_filename(tmp_path, config_filename, nwp_ukv_zarr_path, sat_zarr_path, data_sites):
13
+
14
+ # adjust config to point to the zarr file
15
+ config = load_yaml_configuration(config_filename)
16
+ config.input_data.nwp["ukv"].nwp_zarr_path = nwp_ukv_zarr_path
17
+ config.input_data.satellite.satellite_zarr_path = sat_zarr_path
18
+ config.input_data.site = data_sites
19
+ config.input_data.gsp = None
20
+
21
+ filename = f"{tmp_path}/configuration.yaml"
22
+ save_yaml_configuration(config, filename)
23
+ return filename
24
+
25
+
26
+ def test_site(site_config_filename):
27
+
28
+ # Create dataset object
29
+ dataset = SitesDataset(site_config_filename)
30
+
31
+ assert len(dataset) == 10 * 41
32
+ # TODO check 41
33
+
34
+ # Generate a sample
35
+ sample = dataset[0]
36
+
37
+ assert isinstance(sample, dict)
38
+
39
+ for key in [
40
+ NWPBatchKey.nwp,
41
+ SatelliteBatchKey.satellite_actual,
42
+ SiteBatchKey.generation,
43
+ SiteBatchKey.site_solar_azimuth,
44
+ SiteBatchKey.site_solar_elevation,
45
+ ]:
46
+ assert key in sample
47
+
48
+ for nwp_source in ["ukv"]:
49
+ assert nwp_source in sample[NWPBatchKey.nwp]
50
+
51
+ # check the shape of the data is correct
52
+ # 30 minutes of 5 minute data (inclusive), one channel, 2x2 pixels
53
+ assert sample[SatelliteBatchKey.satellite_actual].shape == (7, 1, 2, 2)
54
+ # 3 hours of 60 minute data (inclusive), one channel, 2x2 pixels
55
+ assert sample[NWPBatchKey.nwp]["ukv"][NWPBatchKey.nwp].shape == (4, 1, 2, 2)
56
+ # 3 hours of 30 minute data (inclusive)
57
+ assert sample[SiteBatchKey.generation].shape == (4,)
58
+ # Solar angles have same shape as GSP data
59
+ assert sample[SiteBatchKey.site_solar_azimuth].shape == (4,)
60
+ assert sample[SiteBatchKey.site_solar_elevation].shape == (4,)
61
+
62
+
63
+ def test_site_time_filter_start(site_config_filename):
64
+
65
+ # Create dataset object
66
+ dataset = SitesDataset(site_config_filename, start_time="2024-01-01")
67
+
68
+ assert len(dataset) == 0
69
+
70
+
71
+ def test_site_time_filter_end(site_config_filename):
72
+
73
+ # Create dataset object
74
+ dataset = SitesDataset(site_config_filename, end_time="2000-01-01")
75
+
76
+ assert len(dataset) == 0
77
+
78
+
79
+ def test_site_get_sample(site_config_filename):
80
+
81
+ # Create dataset object
82
+ dataset = SitesDataset(site_config_filename)
83
+
84
+ assert len(dataset) == 410
85
+ sample = dataset.get_sample(t0=pd.Timestamp("2023-01-01 12:00"), site_id=1)
@@ -1,54 +0,0 @@
1
- ocf_data_sampler/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
- ocf_data_sampler/constants.py,sha256=tUwHrsGShqIn5Izze4i32_xB6X0v67rvQwIYB-P5PJQ,3355
3
- ocf_data_sampler/config/__init__.py,sha256=YXnAkgHViHB26hSsjiv32b6EbpG-A1kKTkARJf0_RkY,212
4
- ocf_data_sampler/config/load.py,sha256=4f7vPHAIAmd-55tPxoIzn7F_TI_ue4NxkDcLPoVWl0g,943
5
- ocf_data_sampler/config/model.py,sha256=bvU3BEMtcUh-N17fMVLTYtN-J2GcTM9Qq-CI5AfbE4Q,8128
6
- ocf_data_sampler/config/save.py,sha256=wKdctbv0dxIIiQtcRHLRxpWQVhEFQ_FCWg-oNaRLIps,1093
7
- ocf_data_sampler/data/uk_gsp_locations.csv,sha256=RSh7DRh55E3n8lVAaWXGTaXXHevZZtI58td4d4DhGos,10415772
8
- ocf_data_sampler/load/__init__.py,sha256=MjgfxilTzyz1RYFoBEeAXmE9hyjknLvdmlHPmlAoiQY,44
9
- ocf_data_sampler/load/gsp.py,sha256=Gcr1JVUOPKhFRDCSHtfPDjxx0BtyyEhXrZvGEKLPJ5I,759
10
- ocf_data_sampler/load/satellite.py,sha256=3KlA1fx4SwxdzM-jC1WRaONXO0D6m0WxORnEnwUnZrA,2967
11
- ocf_data_sampler/load/utils.py,sha256=EQGvVWlGMoSOdbDYuMfVAa0v6wmAOPmHIAemdrTB5v4,1406
12
- ocf_data_sampler/load/nwp/__init__.py,sha256=SmcrnbygO5xtCKmGR4wtHrj-HI7nOAvnAtfuvRufBGQ,25
13
- ocf_data_sampler/load/nwp/nwp.py,sha256=O4QnajEZem8BvBgTcYYDBhRhgqPYuJkolHmpMRmrXEA,610
14
- ocf_data_sampler/load/nwp/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- ocf_data_sampler/load/nwp/providers/ecmwf.py,sha256=vW-p3vCyQ-CofKo555-gE7VDi5hlpjtjTLfHqWF0HEE,1175
16
- ocf_data_sampler/load/nwp/providers/ukv.py,sha256=79Bm7q-K_GJPYMy62SUIZbRWRF4-tIaB1dYPEgLD9vo,1207
17
- ocf_data_sampler/load/nwp/providers/utils.py,sha256=Sy2exG1wpXLLhMXYdsfR-DZMR3txG1_bBmBdchlc-yA,848
18
- ocf_data_sampler/numpy_batch/__init__.py,sha256=mrtqwbGik5Zc9MYP5byfCTBm08wMtS2XnTsypC4fPMo,245
19
- ocf_data_sampler/numpy_batch/gsp.py,sha256=FQg5infqOZ8QAsRCXq00HPplN8XnsbKoWUeV3N7TGK8,1008
20
- ocf_data_sampler/numpy_batch/nwp.py,sha256=dt4gXZonrdkyoVmMnwkKyJ_xFnJ4M5xscr-pdNoRsc4,1311
21
- ocf_data_sampler/numpy_batch/satellite.py,sha256=yWYmq6hEvX4LTJ95K_e0BRJJkBmRurQT2mI2KibmwCI,983
22
- ocf_data_sampler/numpy_batch/sun_position.py,sha256=zw2bjtcjsm_tvKk0r_MZmgfYUJLHuLjLly2sMjwP3XI,1606
23
- ocf_data_sampler/select/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
24
- ocf_data_sampler/select/dropout.py,sha256=zDpVLMjGb70RRyYKN-WI2Kp3x9SznstT4cMcZ4dsvJg,1066
25
- ocf_data_sampler/select/fill_time_periods.py,sha256=iTtMjIPFYG5xtUYYedAFBLjTWWUa7t7WQ0-yksWf0-E,440
26
- ocf_data_sampler/select/find_contiguous_time_periods.py,sha256=6ioB8LeFpFNBMgKDxrgG3zqzNjkBF_jlV9yye2ZYT2E,11925
27
- ocf_data_sampler/select/geospatial.py,sha256=oHJoKEKubn3v3yKCVeuiPxuGroVA4RyrpNi6ARq5woE,3558
28
- ocf_data_sampler/select/location.py,sha256=26Y5ZjfFngShBwXieuWSoOA-RLaRzci4TTmcDk3Wg7U,2015
29
- ocf_data_sampler/select/select_spatial_slice.py,sha256=hWIJe4_VzuQ2iiiQh7V17AXwTILT5kIkUvzG458J_Gw,11220
30
- ocf_data_sampler/select/select_time_slice.py,sha256=41cch1fQr59fZgv7UHsNGc3OvoynrixT3bmr3_1d7cU,6628
31
- ocf_data_sampler/torch_datasets/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
32
- ocf_data_sampler/torch_datasets/pvnet_uk_regional.py,sha256=5AV_eFtQ842-E7kNeQPLvEvcmV4LDkJKYbV2rvU_wkE,19113
33
- tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- tests/conftest.py,sha256=O77dmow8mGpGPbZ6Pz7ma7cLaiV1k8mxW1eYg37Avrw,5585
35
- tests/config/test_config.py,sha256=G_PD_pXib0zdRBPUIn0jjwJ9VyoKaO_TanLN1Mh5Ca4,5055
36
- tests/load/test_load_gsp.py,sha256=aT_nqaSXmUTcdHzuTT7AmXJr3R31k4OEN-Fv3eLxlQE,424
37
- tests/load/test_load_nwp.py,sha256=3qyyDkB1q9t3tyAwogfotNrxqUOpXXimco1CImoEWGg,753
38
- tests/load/test_load_satellite.py,sha256=STX5AqqmOAgUgE9R1xyq_sM3P1b8NKdGjO-hDhayfxM,524
39
- tests/numpy_batch/test_gsp.py,sha256=ke4CsFn9ZKRgrciT5-OHS8jmd8nu9gGKKr0T2WzZK6M,592
40
- tests/numpy_batch/test_nwp.py,sha256=7ELnpQc6kAWPTQoPejTnXIxCPgjFVmzmdsa8E0ZEBGY,1490
41
- tests/numpy_batch/test_satellite.py,sha256=DIVnVq7JYgoC6Y6xMtLCNUnk3ADzakCi0bZ44QTdPgQ,1230
42
- tests/numpy_batch/test_sun_position.py,sha256=zw7ErTKARkW8NrpXJ9MeGp-dkNBJsCscxQx0dnZHg2c,2513
43
- tests/select/test_dropout.py,sha256=kiycl7RxAQYMCZJlokmx6Da5h_oBpSs8Is8pmSW4gOU,2413
44
- tests/select/test_fill_time_periods.py,sha256=o59f2YRe5b0vJrG3B0aYZkYeHnpNk4s6EJxdXZluNQg,907
45
- tests/select/test_find_contiguous_time_periods.py,sha256=G6tJRJd0DMfH9EdfzlKWsmfTbtMwOf3w-2filjJzuIQ,5998
46
- tests/select/test_location.py,sha256=_WZk2FPYeJ-nIfCJS6Sp_yaVEEo7m31DmMFoZzgyCts,2712
47
- tests/select/test_select_spatial_slice.py,sha256=7EX9b6g-pMdACQx3yefjs5do2s-Rho2UmKevV4oglsU,5147
48
- tests/select/test_select_time_slice.py,sha256=XC1J3DBBDnt81jcba5u-Hnd0yKv8GIQErLm-OECV6rs,10147
49
- tests/torch_datasets/test_pvnet_uk_regional.py,sha256=r1SHtwaXQrOYU3EOH1OEp_Bamo338IMv-9Q_gKsUOa4,2789
50
- ocf_data_sampler-0.0.23.dist-info/LICENSE,sha256=F-Q3UFCR-BECSocV55BFDpn4YKxve9PKrm-lTt6o_Tg,1073
51
- ocf_data_sampler-0.0.23.dist-info/METADATA,sha256=mQrWfafPPHVh3Bq40lCEq2_qNcmCj2_8piukA2yqLAg,5269
52
- ocf_data_sampler-0.0.23.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
53
- ocf_data_sampler-0.0.23.dist-info/top_level.txt,sha256=KaQn5qzkJGJP6hKWqsVAc9t0cMLjVvSTk8-kTrW79SA,23
54
- ocf_data_sampler-0.0.23.dist-info/RECORD,,