pyspc.webservice.meteofrance.open_data.OpenData

class pyspc.webservice.meteofrance.open_data.OpenData(hostname=None, proxies=None, timeout=None, verify=None)[source]

Bases : object

Structure du client accédant aux données de METEO.DATA.GOUV.FR.

hostname

Hôte du webservice

Type:

str

proxies

Dictionnaire des proxys {“protocol”: “proxy”}

Type:

None, dict

timeout

Durée maximale de la requête

Type:

None, int

session

Session de la requête

Type:

requests.Session

url

Adresse de la requête

Type:

None, str

filename

Fichier enregistré en local

Type:

None, str

verify

Vérification du certificat SSL. Voir requests.get

Type:

None, str, bool

__init__(hostname=None, proxies=None, timeout=None, verify=None)[source]

Instanciation du webservice

Paramètres:
  • hostname (str) – Hôte du webservice. Par défaut: eaufrance

  • proxies (None, dict) – Dictionnaire des proxys {“protocol”: “proxy”}

  • timeout (None, int) – Durée maximale de la requête. Par défaut: 300 secondes.

  • verify (None, str, bool) – Vérification du certificat SSL. Voir requests.get

Methods

__init__([hostname, proxies, timeout, verify])

Instanciation du webservice

check_timestep(timestep)

Contrôler s'il s'agit bien d'un export autorisé

get([remotedir, remotefile])

Récupérer les données de METEO.DATA.GOUV.FR.

get_timesteps()

Obtenir la liste des exports

login()

Ouvrir une session requests.Session.

logout()

Fermer une session requests.Session.

retrieve([codes, start, end, timestep, ...])

Récupérer les données de METEO.DATA.GOUV.FR en local.

set_basename([dept, date, timestep, rr_t_uv])

Définir le nom du fichier à télécharger.

static check_timestep(timestep)[source]

Contrôler s’il s’agit bien d’un export autorisé

get(remotedir=None, remotefile=None)[source]

Récupérer les données de METEO.DATA.GOUV.FR.

Paramètres:
  • remotedir (str) – Sous-répertoire du fichier distant

  • remotefile (str) – Nom de base du fichier distant

Renvoie:

res – Retour de requests.Session.get

Type renvoyé:

requests.models.Response

Voir aussi

pyspc.convention.meteofrance.MDG_HOSTANME, pyspc.convention.meteofrance.MDG_DSC, pyspc.webservice.meteofrance.OpenData.retieve

classmethod get_timesteps()[source]

Obtenir la liste des exports

Renvoie:

Liste des pas de temps des données METEO.DATA.GOUV.FR

Type renvoyé:

list

login()[source]

Ouvrir une session requests.Session.

logout()[source]

Fermer une session requests.Session.

retrieve(codes=None, start=None, end=None, timestep=None, dirname='.', desc=False, rr_t_uv=None)[source]

Récupérer les données de METEO.DATA.GOUV.FR en local.

Paramètres:
  • codes (list) – Identifiants des sites météo

  • start (datetime.datetime) – Première date

  • end (datetime.datetime) – Dernière date

  • timestep (datetime.timedelta) – Type d’export Hydroportail

  • dirname (str) – Répertoire local d’archivage des fichiers Hydroportail. Défaut: “.”

  • desc (bool) – Exporter le fichier de description. Défaut: False

  • rr_t_uv (bool) – Précipitations (RR), Température de l’air (T) ou Vent (UV)

Renvoie:

filenames – Fichiers enregistrés

Type renvoyé:

list

Voir aussi

pyspc.convention.meteo_france.DATATYPES, pyspc.webservice.meteo_france.OpenData.get

Exemples

CAS DES DONNEES HORAIRES

>>> odata = OpenData()
>>> odata.login())
>>> filenames = odata.retrieve(codes=['43111002'],
...                            start=2019-09-01 00:00:00,
...                            end=2024-05-13 06:58:19.347953,
...                            timestep=1:00:00,
...                            dirname='data',
...                            desc=True)
>>> filenames
['data\H_43_2010-2019.csv.gz',
 'data\H_43_latest-2023-2024.csv.gz',
 'data\H_43_previous-2020-2022.csv.gz',
 'data\H_descriptif_champs.csv']
>>> odata.logout())

CAS DES DONNEES EN MINUTES

>>> odata = OpenData()
>>> odata.login())
>>> filenames = odata.retrieve(codes=['43111002'],
...                            start=2019-09-01 00:00:00,
...                            end=2024-05-13 06:58:37.669703,
...                            timestep=0:06:00,
...                            dirname='data',
...                            desc=True)
>>> filenames
['data\MN_43_2010-2019.csv.gz',
 'data\MN_43_latest-2023-2024.csv.gz',
 'data\MN_43_previous-2020-2022.csv.gz',
 'data\MN_descriptif_champs.csv']
>>> odata.logout())

CAS DES DONNEES JOURNALIERES (RR, TA, UV)

>>> odata = OpenData()
>>> odata.login())
>>> filenames = odata.retrieve(codes=['7075001', '07105001'],
...                            start=2019-09-01 00:00:00,
...                            end=2024-05-13 06:58:56.903236,
...                            timestep=1 day, 0:00:00,
...                            dirname='data',
...                            desc=True, rr_t_uv=True)
>>> filenames
['data\Q_07_latest-2023-2024_RR-T-Vent.csv.gz',
 'data\Q_07_previous-1950-2022_RR-T-Vent.csv.gz',
 'data\Q_descriptif_champs_RR-T-Vent.csv']
>>> odata.logout())

CAS DES DONNEES JOURNALIERES (AUTRES GRANDEURS)

>>> odata = OpenData()
>>> odata.login())
>>> filenames = odata.retrieve(codes=['7075001', '07105001',
...                                   '07154005', '43111002'],
...                            start=2019-09-01 00:00:00,
...                            end=2024-05-13 06:59:10.606568,
...                            timestep=1 day, 0:00:00,
...                            dirname='data',
...                            desc=True,
...                            rr_t_uv=False)
>>> filenames
['data\Q_07_latest-2023-2024_autres-parametres.csv.gz',
 'data\Q_07_previous-1950-2022_autres-parametres.csv.gz',
 'data\Q_43_latest-2023-2024_autres-parametres.csv.gz',
 'data\Q_43_previous-1950-2022_autres-parametres.csv.gz']
>>> odata.logout())
set_basename(dept=None, date=None, timestep=None, rr_t_uv=None)[source]

Définir le nom du fichier à télécharger.

Paramètres:
  • dept (int) – Département

  • date (datetime.datetime) – Date cible

  • timestep (datetime.timedelta) – Pas de temps

  • rr_t_uv (bool) – Précipitations (RR), Température de l’air (T) ou Vent (UV)

Exemples

>>> odata = OpenData()
>>> odata.set_basename(dept=43, date=1910-01-01 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_1865-1949_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=1910-01-01 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=False)
Q_43_1865-1949_autres-parametres.csv.gz
>>> odata.set_basename(dept=43, date=1949-12-31 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_1865-1949_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=1950-01-01 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_previous-1950-2022_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2022-12-31 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_previous-1950-2022_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2023-01-01 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_latest-2023-2024_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2023-12-31 00:00:00,
...                    timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_latest-2023-2024_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2024-04-30 00:00:00,
...                    <<timestep=1 day, 0:00:00, rr_t_uv=True)
Q_43_latest-2023-2024_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=15, date=1920-01-01 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_1920-1929.csv.gz
>>> odata.set_basename(dept=15, date=1958-12-31 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_1950-1959.csv.gz
>>> odata.set_basename(dept=15, date=2000-01-01 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_2000-2009.csv.gz
>>> odata.set_basename(dept=15, date=2009-12-31 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_2000-2009.csv.gz
>>> odata.set_basename(dept=15, date=2010-01-01 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_2010-2019.csv.gz
>>> odata.set_basename(dept=15, date=2019-12-31 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_2010-2019.csv.gz
>>> odata.set_basename(dept=15, date=2020-01-01 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=15, date=2022-12-31 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=15, date=2023-01-01 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_latest-2023-2024.csv.gz
>>> odata.set_basename(dept=15, date=2024-05-01 00:00:00,
...                    timestep=1:00:00, rr_t_uv=True)
H_15_latest-2023-2024.csv.gz
>>> odata.set_basename(dept=7, date=2000-01-01 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_2000-2009.csv.gz
>>> odata.set_basename(dept=7, date=2009-12-31 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_2000-2009.csv.gz
>>> odata.set_basename(dept=7, date=2010-01-01 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_2010-2019.csv.gz
>>> odata.set_basename(dept=7, date=2019-12-31 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_2010-2019.csv.gz
>>> odata.set_basename(dept=7, date=2020-01-01 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=7, date=2022-12-31 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=7, date=2023-01-01 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_latest-2023-2024.csv.gz
>>> odata.set_basename(dept=7, date=2024-05-01 00:00:00,
...                    timestep=0:06:00, rr_t_uv=True)
MN_07_latest-2023-2024.csv.gz