ocf-data-sampler 0.5.8__py3-none-any.whl → 0.5.9__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ocf-data-sampler
3
- Version: 0.5.8
3
+ Version: 0.5.9
4
4
  Author: James Fulton, Peter Dudfield
5
5
  Author-email: Open Climate Fix team <info@openclimatefix.org>
6
6
  License: MIT License
@@ -55,8 +55,7 @@ ocf_data_sampler/torch_datasets/utils/valid_time_periods.py,sha256=xcy75cVxl0Wrg
55
55
  ocf_data_sampler/torch_datasets/utils/validation_utils.py,sha256=YqmT-lExWlI8_ul3l0EP73Ik002fStr_bhsZh9mQqEU,4735
56
56
  scripts/download_gsp_location_data.py,sha256=rRDXMoqX-RYY4jPdxhdlxJGhWdl6r245F5UARgKV6P4,3121
57
57
  scripts/refactor_site.py,sha256=skzvsPP0Cn9yTKndzkilyNcGz4DZ88ctvCJ0XrBdc2A,3135
58
- utils/compute_icon_mean_stddev.py,sha256=a1oWMRMnny39rV-dvu8rcx85sb4bXzPFrR1gkUr4Jpg,2296
59
- ocf_data_sampler-0.5.8.dist-info/METADATA,sha256=qWknNvSrAAMj-4FydO9gdFkO2z7nZ3Cc2GZPxzjq75Q,12816
60
- ocf_data_sampler-0.5.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
61
- ocf_data_sampler-0.5.8.dist-info/top_level.txt,sha256=LEFU4Uk-PEo72QGLAfnVZIUEm37Q8mKuMeg_Xk-p33g,31
62
- ocf_data_sampler-0.5.8.dist-info/RECORD,,
58
+ ocf_data_sampler-0.5.9.dist-info/METADATA,sha256=LUgQmrakbDwIEfeP_3IojePDYDdvm15iUtftl5o8Rps,12816
59
+ ocf_data_sampler-0.5.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
60
+ ocf_data_sampler-0.5.9.dist-info/top_level.txt,sha256=deUxqmsONNAGZDNbsntbXH7BRA1MqWaUeAJrCo6q_xA,25
61
+ ocf_data_sampler-0.5.9.dist-info/RECORD,,
@@ -1,3 +1,2 @@
1
1
  ocf_data_sampler
2
2
  scripts
3
- utils
@@ -1,72 +0,0 @@
1
- """Script to compute normalisation constants from NWP data."""
2
-
3
- import argparse
4
- import glob
5
- import logging
6
-
7
- import numpy as np
8
- import xarray as xr
9
-
10
- from ocf_data_sampler.load.nwp.providers.icon import open_icon_eu
11
-
12
- # Configure logging
13
- logging.basicConfig(level=logging.INFO)
14
- logger = logging.getLogger(__name__)
15
-
16
- # Add argument parser
17
- parser = argparse.ArgumentParser(description="Compute normalization constants from NWP data")
18
- parser.add_argument("--data-path", type=str, required=True,
19
- help='Path pattern to zarr files (e.g., "/path/to/data/*.zarr.zip")')
20
- parser.add_argument("--n-samples", type=int, default=2000,
21
- help="Number of random samples to use (default: 2000)")
22
-
23
- args = parser.parse_args()
24
-
25
- zarr_files = glob.glob(args.data_path)
26
- n_samples = args.n_samples
27
-
28
- ds = open_icon_eu(zarr_files)
29
-
30
- n_init_times = ds.sizes["init_time_utc"]
31
- n_lats = ds.sizes["latitude"]
32
- n_longs = ds.sizes["longitude"]
33
- n_steps = ds.sizes["step"]
34
-
35
- random_init_times = np.random.choice(n_init_times, size=n_samples, replace=True)
36
- random_lats = np.random.choice(n_lats, size=n_samples, replace=True)
37
- random_longs = np.random.choice(n_longs, size=n_samples, replace=True)
38
- random_steps = np.random.choice(n_steps, size=n_samples, replace=True)
39
-
40
- samples = []
41
- for i in range(n_samples):
42
- sample = ds.isel(init_time_utc=random_init_times[i],
43
- latitude=random_lats[i],
44
- longitude=random_longs[i],
45
- step=random_steps[i])
46
- samples.append(sample)
47
-
48
- samples_stack = xr.concat(samples, dim="samples")
49
-
50
-
51
- available_channels = samples_stack.channel.values.tolist()
52
- logger.info("Available channels: %s", available_channels)
53
-
54
- ICON_EU_MEAN = {}
55
- ICON_EU_STD = {}
56
-
57
- for var in available_channels:
58
- if var not in available_channels:
59
- logger.warning("Variable '%s' not found in the channel coordinate; skipping.", var)
60
- continue
61
- var_data = samples_stack.sel(channel=var)
62
- var_mean = float(var_data.mean().compute())
63
- var_std = float(var_data.std().compute())
64
-
65
- ICON_EU_MEAN[var] = var_mean
66
- ICON_EU_STD[var] = var_std
67
-
68
- logger.info("Processed %s: mean=%.4f, std=%.4f", var, var_mean, var_std)
69
-
70
- logger.info("\nMean values:\n%s", ICON_EU_MEAN)
71
- logger.info("\nStandard deviations:\n%s", ICON_EU_STD)
72
-