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.
- ocf_data_sampler/config/model.py +34 -0
- ocf_data_sampler/load/load_dataset.py +55 -0
- ocf_data_sampler/load/nwp/providers/ecmwf.py +5 -2
- ocf_data_sampler/load/site.py +30 -0
- ocf_data_sampler/numpy_batch/__init__.py +4 -3
- ocf_data_sampler/numpy_batch/gsp.py +12 -12
- ocf_data_sampler/numpy_batch/nwp.py +14 -14
- ocf_data_sampler/numpy_batch/satellite.py +8 -8
- ocf_data_sampler/numpy_batch/site.py +29 -0
- ocf_data_sampler/select/__init__.py +8 -1
- ocf_data_sampler/select/dropout.py +2 -1
- ocf_data_sampler/select/geospatial.py +43 -1
- ocf_data_sampler/select/select_spatial_slice.py +8 -2
- ocf_data_sampler/select/spatial_slice_for_dataset.py +53 -0
- ocf_data_sampler/select/time_slice_for_dataset.py +124 -0
- ocf_data_sampler/time_functions.py +11 -0
- ocf_data_sampler/torch_datasets/process_and_combine.py +153 -0
- ocf_data_sampler/torch_datasets/pvnet_uk_regional.py +8 -418
- ocf_data_sampler/torch_datasets/site.py +196 -0
- ocf_data_sampler/torch_datasets/valid_time_periods.py +108 -0
- {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/METADATA +1 -1
- ocf_data_sampler-0.0.25.dist-info/RECORD +66 -0
- {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/WHEEL +1 -1
- {ocf_data_sampler-0.0.23.dist-info → ocf_data_sampler-0.0.25.dist-info}/top_level.txt +1 -0
- scripts/refactor_site.py +50 -0
- tests/conftest.py +62 -0
- tests/load/test_load_sites.py +14 -0
- tests/numpy_batch/test_gsp.py +1 -2
- tests/numpy_batch/test_nwp.py +1 -3
- tests/numpy_batch/test_satellite.py +1 -3
- tests/numpy_batch/test_sun_position.py +7 -7
- tests/torch_datasets/test_pvnet_uk_regional.py +4 -6
- tests/torch_datasets/test_site.py +85 -0
- ocf_data_sampler-0.0.23.dist-info/RECORD +0 -54
- {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,,
|
|
File without changes
|