ocf-data-sampler 0.2.31__tar.gz → 0.2.33__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.31 → ocf_data_sampler-0.2.33}/PKG-INFO +1 -1
  2. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/config/model.py +11 -0
  3. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/nwp.py +1 -2
  4. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/sample/site.py +1 -1
  5. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler.egg-info/PKG-INFO +1 -1
  6. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/LICENSE +0 -0
  7. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/README.md +0 -0
  8. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/__init__.py +0 -0
  9. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/config/__init__.py +0 -0
  10. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/config/load.py +0 -0
  11. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/config/save.py +0 -0
  12. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/data/uk_gsp_locations_20220314.csv +0 -0
  13. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/data/uk_gsp_locations_20250109.csv +0 -0
  14. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/__init__.py +0 -0
  15. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/gsp.py +0 -0
  16. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/load_dataset.py +0 -0
  17. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/__init__.py +0 -0
  18. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/nwp.py +0 -0
  19. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/__init__.py +0 -0
  20. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/cloudcasting.py +0 -0
  21. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/ecmwf.py +0 -0
  22. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/gfs.py +0 -0
  23. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/icon.py +0 -0
  24. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/ukv.py +0 -0
  25. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/nwp/providers/utils.py +0 -0
  26. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/satellite.py +0 -0
  27. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/site.py +0 -0
  28. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/load/utils.py +0 -0
  29. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/__init__.py +0 -0
  30. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/collate.py +0 -0
  31. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/common_types.py +0 -0
  32. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/datetime_features.py +0 -0
  33. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/gsp.py +0 -0
  34. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/satellite.py +0 -0
  35. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/site.py +0 -0
  36. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/numpy_sample/sun_position.py +0 -0
  37. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/__init__.py +0 -0
  38. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/dropout.py +0 -0
  39. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/fill_time_periods.py +0 -0
  40. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/find_contiguous_time_periods.py +0 -0
  41. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/geospatial.py +0 -0
  42. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/location.py +0 -0
  43. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/select_spatial_slice.py +0 -0
  44. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/select/select_time_slice.py +0 -0
  45. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/datasets/__init__.py +0 -0
  46. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/datasets/pvnet_uk.py +0 -0
  47. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/datasets/site.py +0 -0
  48. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/sample/__init__.py +0 -0
  49. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/sample/base.py +0 -0
  50. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/sample/uk_regional.py +0 -0
  51. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/__init__.py +0 -0
  52. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/channel_dict_to_dataarray.py +0 -0
  53. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/merge_and_fill_utils.py +0 -0
  54. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/spatial_slice_for_dataset.py +0 -0
  55. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/time_slice_for_dataset.py +0 -0
  56. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/valid_time_periods.py +0 -0
  57. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/torch_datasets/utils/validation_utils.py +0 -0
  58. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler/utils.py +0 -0
  59. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler.egg-info/SOURCES.txt +0 -0
  60. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler.egg-info/dependency_links.txt +0 -0
  61. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler.egg-info/requires.txt +0 -0
  62. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/ocf_data_sampler.egg-info/top_level.txt +0 -0
  63. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/pyproject.toml +0 -0
  64. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/scripts/download_gsp_location_data.py +0 -0
  65. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/scripts/refactor_site.py +0 -0
  66. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/setup.cfg +0 -0
  67. {ocf_data_sampler-0.2.31 → ocf_data_sampler-0.2.33}/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.31
3
+ Version: 0.2.33
4
4
  Author: James Fulton, Peter Dudfield
5
5
  Author-email: Open Climate Fix team <info@openclimatefix.org>
6
6
  License: MIT License
@@ -214,6 +214,17 @@ class NWP(TimeWindowMixin, DropoutMixin, SpatialWindowMixin, NormalisationConsta
214
214
  )
215
215
  public: bool = Field(False, description="Whether the NWP data is public or private")
216
216
 
217
+ @model_validator(mode="after")
218
+ def validate_accum_channels_subset(self) -> "NWP":
219
+ """Validate accum_channels is subset of channels."""
220
+ invalid_channels = set(self.accum_channels) - set(self.channels)
221
+ if invalid_channels:
222
+ raise ValueError(
223
+ f"NWP provider '{self.provider}': all values in 'accum_channels' should "
224
+ f"be present in 'channels'. Extra values found: {invalid_channels}",
225
+ )
226
+ return self
227
+
217
228
  @field_validator("provider")
218
229
  def validate_provider(cls, v: str) -> str:
219
230
  """Validator for 'provider'."""
@@ -1,6 +1,5 @@
1
1
  """Convert NWP to NumpySample."""
2
2
 
3
- import pandas as pd
4
3
  import xarray as xr
5
4
 
6
5
  from ocf_data_sampler.numpy_sample.common_types import NumpySample
@@ -28,7 +27,7 @@ def convert_nwp_to_numpy_sample(da: xr.DataArray, t0_idx: int | None = None) ->
28
27
  NWPSampleKey.nwp: da.values,
29
28
  NWPSampleKey.channel_names: da.channel.values,
30
29
  NWPSampleKey.init_time_utc: da.init_time_utc.values.astype(float),
31
- NWPSampleKey.step: (da.step.values / pd.Timedelta("1h")).astype(int),
30
+ NWPSampleKey.step: (da.step.values / 3600).astype(int),
32
31
  NWPSampleKey.target_time_utc: da.target_time_utc.values.astype(float),
33
32
  }
34
33
 
@@ -31,7 +31,7 @@ class SiteSample(SampleBase):
31
31
  @override
32
32
  def load(cls, path: str) -> "SiteSample":
33
33
  # Loads from NetCDF
34
- return cls(xr.open_dataset(path))
34
+ return cls(xr.open_dataset(path, decode_timedelta=False))
35
35
 
36
36
  @override
37
37
  def plot(self) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ocf-data-sampler
3
- Version: 0.2.31
3
+ Version: 0.2.33
4
4
  Author: James Fulton, Peter Dudfield
5
5
  Author-email: Open Climate Fix team <info@openclimatefix.org>
6
6
  License: MIT License