Sukhil-Patel commited on
Commit
a6407d6
·
verified ·
1 Parent(s): 36df9cd

Migrate model (HF commit 5fd8672) to pvnet version 5.3.0.post0+git.489723d6.dirty

Browse files
Files changed (4) hide show
  1. README.md +37 -27
  2. data_config.yaml +120 -59
  3. model_config.yaml +37 -18
  4. model_weights.safetensors +2 -2
README.md CHANGED
@@ -3,63 +3,73 @@ 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 library and are automaticall infilled when the model is uploaded to huggingface
8
- -->
9
 
10
- <!-- Title - e.g. PVNet-summation -->
11
- # TEMPLATE
12
 
13
- <!-- Provide a longer summary of what this model is/does. -->
 
 
 
 
 
14
  ## Model Description
15
 
16
- <!-- e.g.
17
- This model uses the output predictions of PVNet to predict the sum from predictions of the parts
18
- -->
19
 
20
  - **Developed by:** openclimatefix
 
21
  - **Language(s) (NLP):** en
22
  - **License:** mit
23
 
 
24
  # Training Details
25
 
26
  ## Data
27
 
28
- <!-- eg.
29
- The model is trained on data from 2019-2022 and validated on data from 2022-2023. It uses the
30
- output predictions from PVNet - see the PVNet model for its inputs
31
 
32
- -->
33
 
34
- <!-- The preprocessing section is not strictly nessessary but perhaps nice to have -->
35
  ### Preprocessing
36
 
37
- <!-- eg.
38
  Data is prepared with the `ocf_data_sampler/torch_datasets/datasets/pvnet_uk` Dataset [2].
39
- -->
40
 
41
  ## Results
42
 
43
- <!-- Do not remove the lines below -->
44
- The training logs for this model commit can be found here:
45
- - [https://wandb.ai/openclimatefix/NL-Solar/runs/26kn31z5](https://wandb.ai/openclimatefix/NL-Solar/runs/26kn31z5)
 
 
 
 
46
 
47
 
48
- <!-- The hardware section is also just nice to have -->
49
  ### Hardware
50
- <!-- e.g.
51
  Trained on a single NVIDIA Tesla T4
52
- -->
53
 
54
- <!-- Do not remove the section below -->
55
  ### Software
56
 
57
  This model was trained using the following Open Climate Fix packages:
58
 
59
- - [1] https://github.com/openclimatefix/pvnet-summation
60
  - [2] https://github.com/openclimatefix/ocf-data-sampler
61
 
62
- <!-- Especially do not change the two lines below -->
63
  The versions of these packages can be found below:
64
- - pvnet_summation==1.1.0.post0+git.3b6f1115.dirty
65
- - ocf-data-sampler==0.6.0.post0+git.a508745b.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
21
  - **Language(s) (NLP):** en
22
  - **License:** mit
23
 
24
+
25
  # Training Details
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].
37
+
38
 
39
  ## Results
40
 
41
+ The training logs for the current model can be found here:
42
+ - [https://wandb.ai/openclimatefix/NL-Solar/runs/l06ylklb](https://wandb.ai/openclimatefix/NL-Solar/runs/l06ylklb)
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:
57
 
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.18
63
+ - ocf-data-sampler==0.2.34
64
+
65
+
66
+ ---
67
+ **Migration Note**: This model (HF commit 246b434b72c68edbbc13f1e5fc74e7699034aede) was migrated on 2025-09-10 to pvnet version 5.0.6.post0+git.e31d0340.dirty
68
+
69
+
70
+ ---
71
+ **Migration Note**: This model was migrated on 2025-10-15 to pvnet version 5.1.0.post0+git.c15f1d4e.dirty
72
+
73
+
74
+ ---
75
+ **Migration Note**: This model was migrated on 2025-12-05 to pvnet version 5.3.0.post0+git.489723d6.dirty
data_config.yaml CHANGED
@@ -1,24 +1,9 @@
1
  general:
2
- description: Initial config for NL model
3
- name: Netherlands_pvnet_config
4
  input_data:
5
- site:
6
- file_path: /home/alex/NL/NL_regional_generation_kw.nc
7
- metadata_file_path: /home/alex/NL/NL_regional_metadata.csv
8
- time_resolution_minutes: 15
9
- interval_start_minutes: -2880
10
- interval_end_minutes: 2160
11
- dropout_timedeltas_minutes:
12
- - -15
13
- dropout_fraction: 1.0
14
- dropout_value: -1
15
  nwp:
16
  ecmwf:
17
- provider: ecmwf
18
- zarr_path: PLACEHOLDER.zarr
19
- interval_start_minutes: -120
20
- interval_end_minutes: 2220
21
- time_resolution_minutes: 60
22
  accum_channels:
23
  - direct_shortwave_radiation_flux_gl
24
  - downward_longwave_radiation_flux_gl
@@ -36,82 +21,158 @@ input_data:
36
  - snow_depth_gl
37
  - temperature_sl
38
  - total_precipitation_rate_gl
 
39
  - wind_u_component_10m
40
  - wind_v_component_10m
41
- image_size_pixels_height: 10
42
- image_size_pixels_width: 10
43
- dropout_timedeltas_minutes:
44
- - -360
45
  dropout_fraction: 1.0
 
 
 
 
 
 
46
  max_staleness_minutes: null
47
  normalisation_constants:
48
- temperature_sl:
49
- mean: 283.48333740234375
50
- std: 3.692270040512085
51
- downward_shortwave_radiation_flux_gl:
52
- mean: 11458988.0
53
- std: 13025427.0
54
- downward_longwave_radiation_flux_gl:
55
- mean: 27187026.0
56
- std: 15855867.0
57
  cloud_cover_high:
58
  mean: 0.3961029052734375
59
  std: 0.42244860529899597
60
- cloud_cover_medium:
61
- mean: 0.3288780450820923
62
- std: 0.38039860129356384
63
  cloud_cover_low:
64
  mean: 0.44901806116104126
65
  std: 0.3791404366493225
 
 
 
66
  cloud_cover_total:
67
  mean: 0.7049227356910706
68
  std: 0.37487083673477173
69
- visibility_sl:
70
- mean: 12905302.0
71
- std: 16294988.0
72
- snow_depth_gl:
73
- mean: 8.107526082312688e-05
74
- std: 0.000913831521756947
 
 
 
 
 
 
75
  direct_shortwave_radiation_flux_gl:
76
- mean: 12905302.0
77
- std: 16294988.0
 
 
 
 
 
 
78
  downward_ultraviolet_radiation_flux_gl:
79
  mean: 1305651.25
80
  std: 1445635.25
 
 
 
 
 
 
81
  total_precipitation_rate_gl:
82
  mean: 3.108070450252853e-05
83
  std: 9.81039775069803e-05
84
- wind_u_component_10m:
85
- mean: 1.7677178382873535
86
- std: 5.531515598297119
87
  wind_u_component_100m:
88
  mean: 2.393547296524048
89
  std: 7.2320556640625
 
 
 
90
  wind_u_component_200m:
91
  mean: 2.7963004112243652
92
  std: 8.049470901489258
93
- wind_v_component_10m:
94
- mean: 0.985887885093689
95
- std: 5.411230564117432
96
  wind_v_component_100m:
97
  mean: 1.4244288206100464
98
  std: 6.944501876831055
 
 
 
99
  wind_v_component_200m:
100
  mean: 1.6010299921035767
101
  std: 7.561611652374268
102
- diff_downward_longwave_radiation_flux_gl:
103
- mean: 1136464.0
104
- std: 131942.03125
105
- diff_downward_shortwave_radiation_flux_gl:
106
- mean: 420584.6875
107
- std: 715366.3125
108
- diff_downward_ultraviolet_radiation_flux_gl:
109
- mean: 48265.4765625
110
- std: 81605.25
111
- diff_direct_shortwave_radiation_flux_gl:
112
- mean: 469169.5
113
- std: 818950.6875
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  solar_position:
 
115
  interval_start_minutes: -2880
 
 
 
116
  interval_end_minutes: 2160
 
117
  time_resolution_minutes: 15
 
 
1
  general:
2
+ description: Config for training the saved PVNet model
3
+ name: PVNet current
4
  input_data:
 
 
 
 
 
 
 
 
 
 
5
  nwp:
6
  ecmwf:
 
 
 
 
 
7
  accum_channels:
8
  - direct_shortwave_radiation_flux_gl
9
  - downward_longwave_radiation_flux_gl
 
21
  - snow_depth_gl
22
  - temperature_sl
23
  - total_precipitation_rate_gl
24
+ - visibility_sl
25
  - wind_u_component_10m
26
  - wind_v_component_10m
 
 
 
 
27
  dropout_fraction: 1.0
28
+ dropout_timedeltas_minutes:
29
+ - -180
30
+ image_size_pixels_height: 30
31
+ image_size_pixels_width: 30
32
+ interval_end_minutes: 2160
33
+ interval_start_minutes: -120
34
  max_staleness_minutes: null
35
  normalisation_constants:
 
 
 
 
 
 
 
 
 
36
  cloud_cover_high:
37
  mean: 0.3961029052734375
38
  std: 0.42244860529899597
 
 
 
39
  cloud_cover_low:
40
  mean: 0.44901806116104126
41
  std: 0.3791404366493225
42
+ cloud_cover_medium:
43
+ mean: 0.3288780450820923
44
+ std: 0.38039860129356384
45
  cloud_cover_total:
46
  mean: 0.7049227356910706
47
  std: 0.37487083673477173
48
+ diff_direct_shortwave_radiation_flux_gl:
49
+ mean: 469169.5
50
+ std: 818950.6875
51
+ diff_downward_longwave_radiation_flux_gl:
52
+ mean: 1136464.0
53
+ std: 131942.03125
54
+ diff_downward_shortwave_radiation_flux_gl:
55
+ mean: 420584.6875
56
+ std: 715366.3125
57
+ diff_downward_ultraviolet_radiation_flux_gl:
58
+ mean: 48265.4765625
59
+ std: 81605.25
60
  direct_shortwave_radiation_flux_gl:
61
+ mean: 11458988.0
62
+ std: 13025427.0
63
+ downward_longwave_radiation_flux_gl:
64
+ mean: 27187026.0
65
+ std: 15855867.0
66
+ downward_shortwave_radiation_flux_gl:
67
+ mean: 11458988.0
68
+ std: 13025427.0
69
  downward_ultraviolet_radiation_flux_gl:
70
  mean: 1305651.25
71
  std: 1445635.25
72
+ snow_depth_gl:
73
+ mean: 8.107526082312688e-05
74
+ std: 0.000913831521756947
75
+ temperature_sl:
76
+ mean: 283.48333740234375
77
+ std: 3.692270040512085
78
  total_precipitation_rate_gl:
79
  mean: 3.108070450252853e-05
80
  std: 9.81039775069803e-05
81
+ visibility_sl:
82
+ mean: 12905302.0
83
+ std: 16294988.0
84
  wind_u_component_100m:
85
  mean: 2.393547296524048
86
  std: 7.2320556640625
87
+ wind_u_component_10m:
88
+ mean: 1.7677178382873535
89
+ std: 5.531515598297119
90
  wind_u_component_200m:
91
  mean: 2.7963004112243652
92
  std: 8.049470901489258
 
 
 
93
  wind_v_component_100m:
94
  mean: 1.4244288206100464
95
  std: 6.944501876831055
96
+ wind_v_component_10m:
97
+ mean: 0.985887885093689
98
+ std: 5.411230564117432
99
  wind_v_component_200m:
100
  mean: 1.6010299921035767
101
  std: 7.561611652374268
102
+ provider: ecmwf
103
+ time_resolution_minutes: 60
104
+ zarr_path: PLACEHOLDER.zarr
105
+ satellite:
106
+ channels:
107
+ - IR_016
108
+ - IR_039
109
+ - IR_087
110
+ - IR_097
111
+ - IR_108
112
+ - IR_120
113
+ - IR_134
114
+ - VIS006
115
+ - VIS008
116
+ - WV_062
117
+ - WV_073
118
+ dropout_fraction: 0.8
119
+ dropout_timedeltas_minutes:
120
+ - -5
121
+ - -10
122
+ - -15
123
+ - -20
124
+ - -25
125
+ - -30
126
+ image_size_pixels_height: 100
127
+ image_size_pixels_width: 100
128
+ interval_end_minutes: -60
129
+ interval_start_minutes: -90
130
+ normalisation_constants:
131
+ HRV:
132
+ mean: 0.09298719
133
+ std: 0.11405209
134
+ IR_016:
135
+ mean: 0.17594202
136
+ std: 0.21462157
137
+ IR_039:
138
+ mean: 0.86167645
139
+ std: 0.04618041
140
+ IR_087:
141
+ mean: 0.7719318
142
+ std: 0.06687243
143
+ IR_097:
144
+ mean: 0.8014212
145
+ std: 0.0468558
146
+ IR_108:
147
+ mean: 0.71254843
148
+ std: 0.17482725
149
+ IR_120:
150
+ mean: 0.89058584
151
+ std: 0.06115861
152
+ IR_134:
153
+ mean: 0.944365
154
+ std: 0.04492306
155
+ VIS006:
156
+ mean: 0.09633306
157
+ std: 0.12184761
158
+ VIS008:
159
+ mean: 0.11426069
160
+ std: 0.13090034
161
+ WV_062:
162
+ mean: 0.7359355
163
+ std: 0.16111417
164
+ WV_073:
165
+ mean: 0.62479186
166
+ std: 0.12924142
167
+ time_resolution_minutes: 5
168
+ zarr_path: PLACEHOLDER.zarr
169
  solar_position:
170
+ interval_end_minutes: 2160
171
  interval_start_minutes: -2880
172
+ time_resolution_minutes: 15
173
+ generation:
174
+ capacity_mode: variable
175
  interval_end_minutes: 2160
176
+ interval_start_minutes: -2880
177
  time_resolution_minutes: 15
178
+ zarr_path: /home/zak/projects/PVNet/nl_solar/pv_data/netherlands_pv_data_v2.nc
model_config.yaml CHANGED
@@ -1,4 +1,4 @@
1
- _target_: pvnet_summation.models.horizon_dense_model.HorizonDenseModel
2
  output_quantiles:
3
  - 0.02
4
  - 0.1
@@ -7,26 +7,45 @@ output_quantiles:
7
  - 0.75
8
  - 0.9
9
  - 0.98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  output_network:
11
  _target_: pvnet.models.late_fusion.linear_networks.networks.ResFCNet
12
  _partial_: true
13
- fc_hidden_features: 32
14
- n_res_blocks: 1
15
  res_block_layers: 2
16
- dropout_frac: 0.2
17
- predict_difference_from_sum: true
18
- use_horizon_encoding: true
19
- use_solar_position: true
20
- force_non_crossing: true
21
- history_minutes: 2880
22
  forecast_minutes: 2160
 
23
  interval_minutes: 15
24
- num_input_locations: 12
25
- input_quantiles:
26
- - 0.02
27
- - 0.1
28
- - 0.25
29
- - 0.5
30
- - 0.75
31
- - 0.9
32
- - 0.98
 
 
 
1
+ _target_: pvnet.models.LateFusionModel
2
  output_quantiles:
3
  - 0.02
4
  - 0.1
 
7
  - 0.75
8
  - 0.9
9
  - 0.98
10
+ nwp_encoders_dict:
11
+ ecmwf:
12
+ _target_: pvnet.models.late_fusion.encoders.encoders3d.DefaultPVNet
13
+ _partial_: true
14
+ in_channels: 14
15
+ out_features: 64
16
+ number_of_conv3d_layers: 4
17
+ conv3d_channels: 32
18
+ image_size_pixels: 30
19
+ sat_encoder:
20
+ _target_: pvnet.models.late_fusion.encoders.encoders3d.DefaultPVNet
21
+ _partial_: true
22
+ in_channels: 11
23
+ out_features: 256
24
+ number_of_conv3d_layers: 6
25
+ conv3d_channels: 32
26
+ image_size_pixels: 100
27
+ add_image_embedding_channel: false
28
  output_network:
29
  _target_: pvnet.models.late_fusion.linear_networks.networks.ResFCNet
30
  _partial_: true
31
+ fc_hidden_features: 128
32
+ n_res_blocks: 6
33
  res_block_layers: 2
34
+ dropout_frac: 0.0
35
+ embedding_dim: 16
36
+ include_sun: true
37
+ include_time: true
 
 
38
  forecast_minutes: 2160
39
+ history_minutes: 2880
40
  interval_minutes: 15
41
+ min_sat_delay_minutes: 60
42
+ sat_history_minutes: 90
43
+ pv_history_minutes: 2880
44
+ pv_interval_minutes: 15
45
+ nwp_history_minutes:
46
+ ecmwf: 120
47
+ nwp_forecast_minutes:
48
+ ecmwf: 2160
49
+ nwp_interval_minutes:
50
+ ecmwf: 60
51
+ include_generation_history: true
model_weights.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5aa051d135bc8fa1ddbf76a8ed290ea88e8c9ae7836d0f28b89703fca025f4ce
3
- size 23684
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:49ff8659676eb4759756c6d1f1c65bc4c4b9815ef91bcbf541bc2f0c706d2ccb
3
+ size 1200429264