james-ocf commited on
Commit
cfcb233
·
verified ·
1 Parent(s): bd4cced

Migrate model (HF commit ff09e4a) to pvnet version 5.0.15.post0+git.142f3b8a.dirty

Browse files
Files changed (4) hide show
  1. README.md +25 -24
  2. data_config.yaml +108 -107
  3. model_config.yaml +2 -2
  4. model_weights.safetensors +2 -2
README.md CHANGED
@@ -3,18 +3,18 @@ language: en
3
  library_name: pytorch
4
  license: mit
5
  ---
6
- <!--
7
- Do not remove elements like the above surrounded by two curly braces and do not add any more of them. These entries are required by the PVNet library and are automaticall infilled when the model is uploaded to huggingface
8
- -->
9
 
10
- <!-- Title - e.g. PVNet2, WindNet, PVNet India -->
 
 
 
 
11
  # PVNet2
12
 
13
- <!-- Provide a longer summary of what this model is/does. -->
14
  ## Model Description
15
 
16
  <!-- Provide a longer summary of what this model is/does. -->
17
- This model class uses satellite data, and numerical weather predictions to forecast the near-term (~8 hours) PV power output at all GSPs. More information can be found in the model repo [1].
18
 
19
  - **Developed by:** openclimatefix
20
  - **Model type:** Fusion model
@@ -26,17 +26,11 @@ This model class uses satellite data, and numerical weather predictions to forec
26
 
27
  ## Data
28
 
29
- <!-- eg.
30
- The model is trained on data from 2019-2022 and validated on data from 2022-2023. It uses NWP data from ECMWF IFS model, and the UK Met Office UKV model. It uses satellite data from the EUMETSAT MSG SEVIRI instrument.
31
-
32
- See the data_config.yaml file for more information on the channels and window-size used for each input data source.
33
- -->
34
 
35
- The model is trained on data from 2019-2021 and validated on data from 2022. It uses NWP data from ECMWF IFS model, and the UK Met Office UKV model. It uses also uses inputs from OCF's cloudcasting model
36
 
37
 
38
-
39
- <!-- The preprocessing section is not strictly nessessary but perhaps nice to have -->
40
  ### Preprocessing
41
 
42
  Data is prepared with the `ocf_data_sampler/torch_datasets/datasets/pvnet_uk` Dataset [2].
@@ -44,19 +38,19 @@ Data is prepared with the `ocf_data_sampler/torch_datasets/datasets/pvnet_uk` Da
44
 
45
  ## Results
46
 
47
- <!-- Do not remove the lines below -->
48
  The training logs for the current model can be found here:
49
- - [https://wandb.ai/openclimatefix/pvnet2.1/runs/49nlmpdy](https://wandb.ai/openclimatefix/pvnet2.1/runs/49nlmpdy)
50
 
51
 
52
- <!-- The hardware section is also just nice to have -->
53
- <!-- ### Hardware
54
 
55
- Trained on a single NVIDIA Tesla T4
56
 
57
- -->
58
 
59
- <!-- Do not remove the section below -->
 
 
 
60
  ### Software
61
 
62
  This model was trained using the following Open Climate Fix packages:
@@ -64,7 +58,14 @@ This model was trained using the following Open Climate Fix packages:
64
  - [1] https://github.com/openclimatefix/PVNet
65
  - [2] https://github.com/openclimatefix/ocf-data-sampler
66
 
67
- <!-- Especially do not change the two lines below -->
68
  The versions of these packages can be found below:
69
- - pvnet==5.0.6.post1+git.f02c06e6.dirty
70
- - ocf-data-sampler==0.5.26.post2+git.90ee263d.dirty
 
 
 
 
 
 
 
 
 
3
  library_name: pytorch
4
  license: mit
5
  ---
 
 
 
6
 
7
+
8
+
9
+
10
+
11
+
12
  # PVNet2
13
 
 
14
  ## Model Description
15
 
16
  <!-- Provide a longer summary of what this model is/does. -->
17
+ This model class uses satellite data, numerical weather predictions, and recent Grid Service Point( GSP) PV power output to forecast the near-term (~8 hours) PV power output at all GSPs. More information can be found in the model repo [1] and experimental notes in [this google doc](https://docs.google.com/document/d/1fbkfkBzp16WbnCg7RDuRDvgzInA6XQu3xh4NCjV-WDA/edit?usp=sharing).
18
 
19
  - **Developed by:** openclimatefix
20
  - **Model type:** Fusion model
 
26
 
27
  ## Data
28
 
29
+ <!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
 
 
 
 
30
 
31
+ The model is trained on data from 2019-2022 and validated on data from 2022-2023. See experimental notes in the [the google doc](https://docs.google.com/document/d/1fbkfkBzp16WbnCg7RDuRDvgzInA6XQu3xh4NCjV-WDA/edit?usp=sharing) for more details.
32
 
33
 
 
 
34
  ### Preprocessing
35
 
36
  Data is prepared with the `ocf_data_sampler/torch_datasets/datasets/pvnet_uk` Dataset [2].
 
38
 
39
  ## Results
40
 
 
41
  The training logs for the current model can be found here:
42
+ - [https://wandb.ai/openclimatefix/pvnet2.1/runs/rydw0jo0](https://wandb.ai/openclimatefix/pvnet2.1/runs/rydw0jo0)
43
 
44
 
45
+ The training logs for all model runs of PVNet2 can be found [here](https://wandb.ai/openclimatefix/pvnet2.1).
 
46
 
47
+ Some experimental notes can be found at in [the google doc](https://docs.google.com/document/d/1fbkfkBzp16WbnCg7RDuRDvgzInA6XQu3xh4NCjV-WDA/edit?usp=sharing)
48
 
 
49
 
50
+ ### Hardware
51
+
52
+ Trained on a single NVIDIA Tesla T4
53
+
54
  ### Software
55
 
56
  This model was trained using the following Open Climate Fix packages:
 
58
  - [1] https://github.com/openclimatefix/PVNet
59
  - [2] https://github.com/openclimatefix/ocf-data-sampler
60
 
 
61
  The versions of these packages can be found below:
62
+ - pvnet==4.1.6
63
+ - ocf-data-sampler==0.2.10
64
+
65
+
66
+ ---
67
+ **Migration Note**: This model was migrated on 2025-08-08 to pvnet version 5.0.3.post0+git.c5a17176.dirty
68
+
69
+
70
+ ---
71
+ **Migration Note**: This model was migrated on 2025-09-15 to pvnet version 5.0.15.post0+git.142f3b8a.dirty
data_config.yaml CHANGED
@@ -1,89 +1,22 @@
1
  general:
2
- description: na
 
3
  input_data:
4
  gsp:
5
- zarr_path: PLACEHOLDER.zarr
6
  boundaries_version: '20250109'
7
- interval_start_minutes: -120
8
- interval_end_minutes: 480
9
- time_resolution_minutes: 30
10
- dropout_timedeltas_minutes: []
11
  dropout_fraction: 0
12
- solar_position:
13
- interval_start_minutes: -120
14
  interval_end_minutes: 480
 
15
  time_resolution_minutes: 30
 
16
  nwp:
17
- ukv:
18
- provider: ukv
19
- zarr_path: PLACEHOLDER.zarr
20
- interval_start_minutes: -120
21
- interval_end_minutes: 480
22
- time_resolution_minutes: 60
23
- image_size_pixels_height: 24
24
- image_size_pixels_width: 24
25
- dropout_timedeltas_minutes:
26
- - -180
27
- dropout_fraction: 1.0
28
- max_staleness_minutes: null
29
- channels:
30
- - t
31
  - dswrf
32
  - dlwrf
33
- - hcc
34
- - mcc
35
- - lcc
36
- - sde
37
- - r
38
- - vis
39
- - si10
40
- - prate
41
- normalisation_constants:
42
- t:
43
- mean: 283.64913206
44
- std: 4.38818501
45
- dswrf:
46
- mean: 111.28265039
47
- std: 190.47216887
48
- dlwrf:
49
- mean: 325.03130139
50
- std: 39.45988077
51
- hcc:
52
- mean: 29.11949682
53
- std: 38.07184418
54
- mcc:
55
- mean: 40.88984494
56
- std: 41.91144559
57
- lcc:
58
- mean: 50.08362643
59
- std: 39.33210726
60
- sde:
61
- mean: 0.00289545
62
- std: 0.1029753
63
- r:
64
- mean: 81.79229501
65
- std: 11.45012499
66
- vis:
67
- mean: 32262.03285118
68
- std: 21578.97975625
69
- si10:
70
- mean: 6.88348448
71
- std: 3.94718813
72
- prate:
73
- mean: 3.45793433e-05
74
- std: 0.00021497
75
- ecmwf:
76
- provider: ecmwf
77
- zarr_path: PLACEHOLDER.zarr
78
- interval_start_minutes: -120
79
- interval_end_minutes: 480
80
- time_resolution_minutes: 60
81
- image_size_pixels_height: 12
82
- image_size_pixels_width: 12
83
- dropout_timedeltas_minutes:
84
- - -360
85
- dropout_fraction: 1.0
86
- max_staleness_minutes: null
87
  channels:
88
  - t2m
89
  - dswrf
@@ -97,57 +30,113 @@ input_data:
97
  - duvrs
98
  - u10
99
  - v10
100
- accum_channels:
101
- - dswrf
102
- - dlwrf
103
- - sr
104
- - duvrs
 
 
 
105
  normalisation_constants:
106
- t2m:
107
- mean: 283.48333740234375
108
- std: 3.692270040512085
109
- diff_dswrf:
110
- mean: 420584.6875
111
- std: 715366.3125
112
  diff_dlwrf:
113
  mean: 1136464.0
114
  std: 131942.03125
 
 
 
 
 
 
 
 
 
115
  hcc:
116
  mean: 0.3961029052734375
117
  std: 0.42244860529899597
118
- mcc:
119
- mean: 0.3288780450820923
120
- std: 0.38039860129356384
121
  lcc:
122
  mean: 0.44901806116104126
123
  std: 0.3791404366493225
124
- tcc:
125
- mean: 0.7049227356910706
126
- std: 0.37487083673477173
127
  sd:
128
  mean: 8.107526082312688e-05
129
  std: 0.000913831521756947
130
- diff_sr:
131
- mean: 469169.5
132
- std: 818950.6875
133
- diff_duvrs:
134
- mean: 48265.4765625
135
- std: 81605.25
136
  u10:
137
  mean: 1.7677178382873535
138
  std: 5.531515598297119
139
  v10:
140
  mean: 0.985887885093689
141
  std: 5.411230564117432
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  satellite:
143
- zarr_path: PLACEHOLDER.zarr
144
- interval_start_minutes: -60
145
- interval_end_minutes: 0
146
- time_resolution_minutes: 5
147
- image_size_pixels_height: 24
148
- image_size_pixels_width: 24
149
- dropout_timedeltas_minutes: []
150
- dropout_fraction: 0.0
151
  channels:
152
  - IR_016
153
  - IR_039
@@ -160,6 +149,12 @@ input_data:
160
  - VIS008
161
  - WV_062
162
  - WV_073
 
 
 
 
 
 
163
  normalisation_constants:
164
  IR_016:
165
  mean: 0.17594202
@@ -194,3 +189,9 @@ input_data:
194
  WV_073:
195
  mean: 0.62479186
196
  std: 0.12924142
 
 
 
 
 
 
 
1
  general:
2
+ description: Config for training the saved PVNet model
3
+ name: PVNet current
4
  input_data:
5
  gsp:
 
6
  boundaries_version: '20250109'
 
 
 
 
7
  dropout_fraction: 0
8
+ dropout_timedeltas_minutes: []
 
9
  interval_end_minutes: 480
10
+ interval_start_minutes: -120
11
  time_resolution_minutes: 30
12
+ zarr_path: PLACEHOLDER.zarr
13
  nwp:
14
+ ecmwf:
15
+ accum_channels:
 
 
 
 
 
 
 
 
 
 
 
 
16
  - dswrf
17
  - dlwrf
18
+ - sr
19
+ - duvrs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  channels:
21
  - t2m
22
  - dswrf
 
30
  - duvrs
31
  - u10
32
  - v10
33
+ dropout_fraction: 1.0
34
+ dropout_timedeltas_minutes:
35
+ - -360
36
+ image_size_pixels_height: 12
37
+ image_size_pixels_width: 12
38
+ interval_end_minutes: 480
39
+ interval_start_minutes: -120
40
+ max_staleness_minutes: null
41
  normalisation_constants:
 
 
 
 
 
 
42
  diff_dlwrf:
43
  mean: 1136464.0
44
  std: 131942.03125
45
+ diff_dswrf:
46
+ mean: 420584.6875
47
+ std: 715366.3125
48
+ diff_duvrs:
49
+ mean: 48265.4765625
50
+ std: 81605.25
51
+ diff_sr:
52
+ mean: 469169.5
53
+ std: 818950.6875
54
  hcc:
55
  mean: 0.3961029052734375
56
  std: 0.42244860529899597
 
 
 
57
  lcc:
58
  mean: 0.44901806116104126
59
  std: 0.3791404366493225
60
+ mcc:
61
+ mean: 0.3288780450820923
62
+ std: 0.38039860129356384
63
  sd:
64
  mean: 8.107526082312688e-05
65
  std: 0.000913831521756947
66
+ t2m:
67
+ mean: 283.48333740234375
68
+ std: 3.692270040512085
69
+ tcc:
70
+ mean: 0.7049227356910706
71
+ std: 0.37487083673477173
72
  u10:
73
  mean: 1.7677178382873535
74
  std: 5.531515598297119
75
  v10:
76
  mean: 0.985887885093689
77
  std: 5.411230564117432
78
+ provider: ecmwf
79
+ time_resolution_minutes: 60
80
+ zarr_path: PLACEHOLDER.zarr
81
+ ukv:
82
+ channels:
83
+ - t
84
+ - dswrf
85
+ - dlwrf
86
+ - hcc
87
+ - mcc
88
+ - lcc
89
+ - sde
90
+ - r
91
+ - vis
92
+ - si10
93
+ - prate
94
+ dropout_fraction: 1.0
95
+ dropout_timedeltas_minutes:
96
+ - -180
97
+ image_size_pixels_height: 24
98
+ image_size_pixels_width: 24
99
+ interval_end_minutes: 480
100
+ interval_start_minutes: -120
101
+ max_staleness_minutes: null
102
+ normalisation_constants:
103
+ dlwrf:
104
+ mean: 325.03130139
105
+ std: 39.45988077
106
+ dswrf:
107
+ mean: 111.28265039
108
+ std: 190.47216887
109
+ hcc:
110
+ mean: 29.11949682
111
+ std: 38.07184418
112
+ lcc:
113
+ mean: 50.08362643
114
+ std: 39.33210726
115
+ mcc:
116
+ mean: 40.88984494
117
+ std: 41.91144559
118
+ prate:
119
+ mean: 3.45793433e-05
120
+ std: 0.00021497
121
+ r:
122
+ mean: 81.79229501
123
+ std: 11.45012499
124
+ sde:
125
+ mean: 0.00289545
126
+ std: 0.1029753
127
+ si10:
128
+ mean: 6.88348448
129
+ std: 3.94718813
130
+ t:
131
+ mean: 283.64913206
132
+ std: 4.38818501
133
+ vis:
134
+ mean: 32262.03285118
135
+ std: 21578.97975625
136
+ provider: ukv
137
+ time_resolution_minutes: 60
138
+ zarr_path: PLACEHOLDER.zarr
139
  satellite:
 
 
 
 
 
 
 
 
140
  channels:
141
  - IR_016
142
  - IR_039
 
149
  - VIS008
150
  - WV_062
151
  - WV_073
152
+ dropout_fraction: 0.0
153
+ dropout_timedeltas_minutes: []
154
+ image_size_pixels_height: 24
155
+ image_size_pixels_width: 24
156
+ interval_end_minutes: -30
157
+ interval_start_minutes: -60
158
  normalisation_constants:
159
  IR_016:
160
  mean: 0.17594202
 
189
  WV_073:
190
  mean: 0.62479186
191
  std: 0.12924142
192
+ time_resolution_minutes: 5
193
+ zarr_path: PLACEHOLDER.zarr
194
+ solar_position:
195
+ interval_end_minutes: 480
196
+ interval_start_minutes: -120
197
+ time_resolution_minutes: 30
model_config.yaml CHANGED
@@ -49,8 +49,9 @@ include_sun: true
49
  include_gsp_yield_history: false
50
  forecast_minutes: 480
51
  history_minutes: 120
52
- min_sat_delay_minutes: 0
53
  sat_history_minutes: 60
 
54
  nwp_history_minutes:
55
  ukv: 120
56
  ecmwf: 120
@@ -389,4 +390,3 @@ location_id_mapping:
389
  340: 329
390
  341: 330
391
  342: 331
392
- adapt_batches: true
 
49
  include_gsp_yield_history: false
50
  forecast_minutes: 480
51
  history_minutes: 120
52
+ min_sat_delay_minutes: 30
53
  sat_history_minutes: 60
54
+ pv_history_minutes: 180
55
  nwp_history_minutes:
56
  ukv: 120
57
  ecmwf: 120
 
390
  340: 329
391
  341: 330
392
  342: 331
 
model_weights.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:cb28ee3d8e13f28b3310054e702ba70732d67f916ee4cbcdd483ae0215ab777f
3
- size 36269456
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d5a4a77caefe1ddeb5821505f8a0f3500e980eab03a789896404bde4a63f7a7
3
+ size 34499984