ocf-data-sampler 0.2.23__tar.gz → 0.2.25__tar.gz

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 (67) hide show
  1. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/PKG-INFO +1 -1
  2. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/config/model.py +2 -0
  3. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/gsp.py +12 -2
  4. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/load_dataset.py +1 -0
  5. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/select_spatial_slice.py +12 -1
  6. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler.egg-info/PKG-INFO +1 -1
  7. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/LICENSE +0 -0
  8. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/README.md +0 -0
  9. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/__init__.py +0 -0
  10. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/config/__init__.py +0 -0
  11. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/config/load.py +0 -0
  12. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/config/save.py +0 -0
  13. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/data/uk_gsp_locations_20220314.csv +0 -0
  14. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/data/uk_gsp_locations_20250109.csv +0 -0
  15. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/__init__.py +0 -0
  16. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/__init__.py +0 -0
  17. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/nwp.py +0 -0
  18. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/__init__.py +0 -0
  19. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/cloudcasting.py +0 -0
  20. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/ecmwf.py +0 -0
  21. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/gfs.py +0 -0
  22. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/icon.py +0 -0
  23. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/ukv.py +0 -0
  24. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/nwp/providers/utils.py +0 -0
  25. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/satellite.py +0 -0
  26. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/site.py +0 -0
  27. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/load/utils.py +0 -0
  28. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/__init__.py +0 -0
  29. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/collate.py +0 -0
  30. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/common_types.py +0 -0
  31. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/datetime_features.py +0 -0
  32. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/gsp.py +0 -0
  33. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/nwp.py +0 -0
  34. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/satellite.py +0 -0
  35. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/site.py +0 -0
  36. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/numpy_sample/sun_position.py +0 -0
  37. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/__init__.py +0 -0
  38. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/dropout.py +0 -0
  39. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/fill_time_periods.py +0 -0
  40. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/find_contiguous_time_periods.py +0 -0
  41. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/geospatial.py +0 -0
  42. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/location.py +0 -0
  43. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/select/select_time_slice.py +0 -0
  44. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/datasets/__init__.py +0 -0
  45. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/datasets/pvnet_uk.py +0 -0
  46. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/datasets/site.py +0 -0
  47. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/sample/__init__.py +0 -0
  48. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/sample/base.py +0 -0
  49. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/sample/site.py +0 -0
  50. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/sample/uk_regional.py +0 -0
  51. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/__init__.py +0 -0
  52. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/channel_dict_to_dataarray.py +0 -0
  53. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/merge_and_fill_utils.py +0 -0
  54. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/spatial_slice_for_dataset.py +0 -0
  55. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/time_slice_for_dataset.py +0 -0
  56. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/valid_time_periods.py +0 -0
  57. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/torch_datasets/utils/validation_utils.py +0 -0
  58. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler/utils.py +0 -0
  59. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler.egg-info/SOURCES.txt +0 -0
  60. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler.egg-info/dependency_links.txt +0 -0
  61. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler.egg-info/requires.txt +0 -0
  62. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/ocf_data_sampler.egg-info/top_level.txt +0 -0
  63. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/pyproject.toml +0 -0
  64. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/scripts/download_gsp_location_data.py +0 -0
  65. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/scripts/refactor_site.py +0 -0
  66. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/setup.cfg +0 -0
  67. {ocf_data_sampler-0.2.23 → ocf_data_sampler-0.2.25}/utils/compute_icon_mean_stddev.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ocf-data-sampler
3
- Version: 0.2.23
3
+ Version: 0.2.25
4
4
  Author: James Fulton, Peter Dudfield
5
5
  Author-email: Open Climate Fix team <info@openclimatefix.org>
6
6
  License: MIT License
@@ -291,6 +291,8 @@ class GSP(TimeWindowMixin, DropoutMixin):
291
291
  description="Version of the GSP boundaries to use. Options are '20220314' or '20250109'.",
292
292
  )
293
293
 
294
+ public: bool = Field(False, description="Whether the NWP data is public or private")
295
+
294
296
 
295
297
  class Site(TimeWindowMixin, DropoutMixin):
296
298
  """Site configuration model."""
@@ -26,13 +26,17 @@ def get_gsp_boundaries(version: str) -> pd.DataFrame:
26
26
  )
27
27
 
28
28
 
29
- def open_gsp(zarr_path: str, boundaries_version: str = "20220314") -> xr.DataArray:
29
+ def open_gsp(zarr_path: str,
30
+ boundaries_version: str = "20220314",
31
+ public: bool = False,
32
+ ) -> xr.DataArray:
30
33
  """Open the GSP data.
31
34
 
32
35
  Args:
33
36
  zarr_path: Path to the GSP zarr data
34
37
  boundaries_version: Version of the GSP boundaries to use. Options are "20220314" or
35
38
  "20250109".
39
+ public: Whether the data is public or private.
36
40
 
37
41
  Returns:
38
42
  xr.DataArray: The opened GSP data
@@ -40,12 +44,18 @@ def open_gsp(zarr_path: str, boundaries_version: str = "20220314") -> xr.DataArr
40
44
  # Load UK GSP locations
41
45
  df_gsp_loc = get_gsp_boundaries(boundaries_version)
42
46
 
47
+ backend_kwargs ={}
43
48
  # Open the GSP generation data
49
+ if public:
50
+ backend_kwargs ={"storage_options":{"anon": True}}
51
+ # Currently only compatible with S3 bucket.
52
+
44
53
  ds = (
45
- xr.open_zarr(zarr_path)
54
+ xr.open_dataset(zarr_path,engine="zarr",backend_kwargs=backend_kwargs)
46
55
  .rename({"datetime_gmt": "time_utc"})
47
56
  )
48
57
 
58
+
49
59
  if not (ds.gsp_id.isin(df_gsp_loc.index)).all():
50
60
  raise ValueError(
51
61
  "Some GSP IDs in the GSP generation data are not available in the locations file.",
@@ -24,6 +24,7 @@ def get_dataset_dict(
24
24
  da_gsp = open_gsp(
25
25
  zarr_path=input_config.gsp.zarr_path,
26
26
  boundaries_version=input_config.gsp.boundaries_version,
27
+ public=input_config.gsp.public,
27
28
  ).compute()
28
29
 
29
30
  if gsp_ids is None:
@@ -239,8 +239,19 @@ def select_spatial_slice_pixels(
239
239
  if allow_partial_slice:
240
240
  da = _select_padded_slice(da, left_idx, right_idx, bottom_idx, top_idx, x_dim, y_dim)
241
241
  else:
242
+ issues = []
243
+ if left_idx < 0:
244
+ issues.append(f"left_idx ({left_idx}) < 0")
245
+ if right_idx > data_width_pixels:
246
+ issues.append(f"right_idx ({right_idx}) > data_width_pixels ({data_width_pixels})")
247
+ if bottom_idx < 0:
248
+ issues.append(f"bottom_idx ({bottom_idx}) < 0")
249
+ if top_idx > data_height_pixels:
250
+ issues.append(f"top_idx ({top_idx}) > data_height_pixels ({data_height_pixels})")
251
+ issue_details = "\n".join(issues)
242
252
  raise ValueError(
243
- f"Window for location {location} not available. Padding required. "
253
+ f"Window for location {location} not available. Padding required due to: \n"
254
+ f"{issue_details}\n"
244
255
  "You may wish to set `allow_partial_slice=True`",
245
256
  )
246
257
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ocf-data-sampler
3
- Version: 0.2.23
3
+ Version: 0.2.25
4
4
  Author: James Fulton, Peter Dudfield
5
5
  Author-email: Open Climate Fix team <info@openclimatefix.org>
6
6
  License: MIT License