Skip to content

Commit 883ae59

Browse files
committed
improve weather data extraction for departements using meteo.data.gouv.fr source
One next step is to use meteofrance API
1 parent 768124b commit 883ae59

12 files changed

+392
-254
lines changed

.gitattributes

Whitespace-only changes.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,4 @@ doc/_build
166166
.vscode/settings.json
167167
data/silver/*.nc
168168
data/silver/weather_forecasts/*.nc
169+
data/geo/*.nc

data/geo/departements_name.yaml

Lines changed: 0 additions & 94 deletions
This file was deleted.

data/geo/france_bounds.yml

Lines changed: 0 additions & 4 deletions
This file was deleted.

data/geo/lonlat_france.npz

2.36 KB
Binary file not shown.
-118 KB
Binary file not shown.

data/geo/mask_france_regions.nc

-111 KB
Binary file not shown.

data/geo/regions_name.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

pyproject.toml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name = "energy-forecast"
77
dynamic = ["version"]
88
description = 'Predict the french electricity mix'
99
readme = "README.md"
10-
requires-python = ">=3.8"
10+
requires-python = ">=3.11"
1111
license = "MIT"
1212
keywords = []
1313
authors = [
@@ -25,7 +25,7 @@ classifiers = [
2525
"Programming Language :: Python :: Implementation :: PyPy",
2626
]
2727
dependencies = [
28-
"numpy>=1.25.0,<2.0.0", # numpy 2.0.0 is released but not yet supported by all dependencies
28+
"numpy>=2.0",
2929
"pandas",
3030
"xarray",
3131
"netCDF4",
@@ -35,9 +35,11 @@ dependencies = [
3535
"eccodes",
3636
"cfgrib",
3737
"requests",
38-
"pyyaml",
3938
"statsmodels",
40-
39+
"geojson",
40+
"shapely",
41+
"tqdm",
42+
"dask",
4143
]
4244

4345
[project.urls]
@@ -48,6 +50,9 @@ Source = "https://github.com/GreenForecast-Squad/energetic-stress-production"
4850
[tool.hatch.version]
4951
path = "src/energy_forecast/__init__.py"
5052

53+
[tool.hatch.envs.default]
54+
installer = "uv"
55+
5156
[tool.hatch.envs.types]
5257
extra-dependencies = [
5358
"mypy>=1.0.0",

src/energy_forecast/constants.py

Lines changed: 102 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -18,98 +18,106 @@
1818

1919
#: List of all the departments in France
2020
#: Ordered by as the mask ``"mask_france_departments.nc"``.
21-
departements = ["Aisne ",
22-
"Aube ",
23-
"Calvados ",
24-
"Cantal ",
25-
"Eure-et-Loir ",
26-
"Ille-et-Vilaine ",
27-
"Jura ",
28-
"Landes ",
29-
"Loire ",
30-
"Loiret ",
31-
"Lot-et-Garonne ",
32-
"Meuse ",
33-
"Orne ",
34-
"Pas-de-Calais ",
35-
"Puy-de-Dôme ",
36-
"Bas-Rhin ",
37-
"Haut-Rhin ",
38-
"Seine-Maritime ",
39-
"Yonne ",
40-
"Seine-Saint-Denis ",
41-
"Alpes-de-Haute-Provence ",
42-
"Hautes-Alpes ",
43-
"Ardèche ",
44-
"Ardennes ",
45-
"Ariège ",
46-
"Charente-Maritime ",
47-
"Corrèze ",
48-
"Dordogne ",
49-
"Eure ",
50-
"Indre-et-Loire ",
51-
"Lozère ",
52-
"Nièvre ",
53-
"Oise ",
54-
"Pyrénées-Atlantiques ",
55-
"Rhône ",
56-
"Saône-et-Loire ",
57-
"Paris ",
58-
"Yvelines ",
59-
"Tarn ",
60-
"Tarn-et-Garonne ",
61-
"Var ",
62-
"Vendée ",
63-
"Haute-Vienne ",
64-
"Vosges ",
65-
"Hauts-de-Seine ",
66-
"Allier ",
67-
"Alpes-Maritimes ",
68-
"Aude ",
69-
"Corse-du-Sud ",
70-
"Côtes-d'Armor ",
71-
"Creuse ",
72-
"Doubs ",
73-
"Finistère ",
74-
"Gard ",
75-
"Gironde ",
76-
"Indre ",
77-
"Isère ",
78-
"Marne ",
79-
"Haute-Marne ",
80-
"Moselle ",
81-
"Hautes-Pyrénées ",
82-
"Pyrénées-Orientales ",
83-
"Savoie ",
84-
"Haute-Savoie ",
85-
"Seine-et-Marne ",
86-
"Vaucluse ",
87-
"Vienne ",
88-
"Val-de-Marne ",
89-
"Ain ",
90-
"Aveyron ",
91-
"Bouches-du-Rhône ",
92-
"Charente ",
93-
"Cher ",
94-
"Haute-Corse ",
95-
"Côte-d'Or ",
96-
"Drôme ",
97-
"Haute-Garonne ",
98-
"Gers ",
99-
"Hérault ",
100-
"Haute-Loire ",
101-
"Loire-Atlantique ",
102-
"Lot ",
103-
"Maine-et-Loire ",
104-
"Manche ",
105-
"Morbihan ",
106-
"Nord ",
107-
"Haute-Saône ",
108-
"Sarthe ",
109-
"Somme ",
110-
"Essonne ",
111-
"Val-d'Oise ",
112-
"Loir-et-Cher ",
113-
"Mayenne ",
114-
"Meurthe-et-Moselle ",
21+
departement_names = ["Aisne",
22+
"Aube",
23+
"Calvados",
24+
"Cantal",
25+
"Eure-et-Loir",
26+
"Ille-et-Vilaine",
27+
"Jura",
28+
"Landes",
29+
"Loire",
30+
"Loiret",
31+
"Lot-et-Garonne",
32+
"Meuse",
33+
"Orne",
34+
"Pas-de-Calais",
35+
"Puy-de-Dôme",
36+
"Bas-Rhin",
37+
"Haut-Rhin",
38+
"Seine-Maritime",
39+
"Yonne",
40+
"Seine-Saint-Denis",
41+
"Alpes-de-Haute-Provence",
42+
"Hautes-Alpes",
43+
"Ardèche",
44+
"Ardennes",
45+
"Ariège",
46+
"Charente-Maritime",
47+
"Corrèze",
48+
"Dordogne",
49+
"Eure",
50+
"Indre-et-Loire",
51+
"Lozère",
52+
"Nièvre",
53+
"Oise",
54+
"Pyrénées-Atlantiques",
55+
"Rhône",
56+
"Saône-et-Loire",
57+
# "Paris",
58+
"Yvelines",
59+
"Tarn",
60+
"Tarn-et-Garonne",
61+
"Var",
62+
"Vendée",
63+
"Haute-Vienne",
64+
"Vosges",
65+
"Hauts-de-Seine",
66+
"Allier",
67+
"Alpes-Maritimes",
68+
"Aude",
69+
"Corse-du-Sud",
70+
"Côtes-d'Armor",
71+
"Creuse",
72+
"Doubs",
73+
"Finistère",
74+
"Gard",
75+
"Gironde",
76+
"Indre",
77+
"Isère",
78+
"Marne",
79+
"Haute-Marne",
80+
"Moselle",
81+
"Hautes-Pyrénées",
82+
"Pyrénées-Orientales",
83+
"Savoie",
84+
"Haute-Savoie",
85+
"Seine-et-Marne",
86+
"Vaucluse",
87+
"Vienne",
88+
"Val-de-Marne",
89+
"Ain",
90+
"Aveyron",
91+
"Bouches-du-Rhône",
92+
"Charente",
93+
"Cher",
94+
"Haute-Corse",
95+
"Côte-d'Or",
96+
"Drôme",
97+
"Haute-Garonne",
98+
"Gers",
99+
"Hérault",
100+
"Haute-Loire",
101+
"Loire-Atlantique",
102+
"Lot",
103+
"Maine-et-Loire",
104+
"Manche",
105+
"Morbihan",
106+
"Nord",
107+
"Haute-Saône",
108+
"Sarthe",
109+
"Somme",
110+
"Essonne",
111+
"Val-d'Oise",
112+
"Loir-et-Cher",
113+
"Mayenne",
114+
"Meurthe-et-Moselle",
115+
"Deux-Sèvres",
115116
]
117+
118+
france_bounds = {
119+
"min_lon": -4.79542,
120+
"max_lon": 9.55996,
121+
"min_lat": 41.36484,
122+
"max_lat": 51.089,
123+
}

0 commit comments

Comments
 (0)