pyspc.io.sandre.read_Sandre
- pyspc.io.sandre.read_Sandre(filename=None, datatype=None, codes=None, models=None, scens=None, levelcor=None, flowmes=None, warning=False)[source]
Créer une collection à partir d’un fichier xml Sandre.
- Paramètres:
filename (str) – Nom du fichier XML-Sandre
datatype (str) – Type du fichier XML-Sandre Voir pyspc.convention.sandre.DATATYPES
codes (list) – Liste des codes à considérer
models (list) – Liste des modèles à considérer, si datatype = “data_fcst_hydro »
scens (list) – Liste des scénarios à considérer, si datatype = “data_fcst_hydro »
warning (bool) – Afficher les avertissements ? défaut: False
levelcor (str) – Nom du fichier XML-Sandre - Courbe de correction Utilisé si datatype = “ratingcurve”
flowmes (str) – Nom du fichier XML-Sandre - Jaugeages Utilisé si datatype = “ratingcurve”
- Renvoie:
- pyspc.core.location.Locations – si datatype parmi [“loc_hydro”, “loc_meteo”]
- pyspc.core.ratingcurve.RatingCurves – si datatype parmi [“ratingcurve”]
- pyspc.core.series.Series – si datatype parmi [“data_fcst_hydro”, “data_obs_hydro”, “data_obs_meteo”, “levelcor”]
Exemples
>>> from pyspc.io.sandre import read_Sandre
Cas de sites météorologiques
>>> f = 'data/metadata/sandre/SiteMeteo.xml' >>> locs = read_Sandre(filename=f, datatype='loc_meteo') >>> locs ************************************* *********** LOCATIONS *************** ************************************* * NOM DE LA COLLECTION = Sandre * NOMBRE DE LIEUX = 3 * ---------------------------------- * LIEU #1 * - CODE = 43130002 * ---------------------------------- * LIEU #2 * - CODE = 43091005 * ---------------------------------- * LIEU #3 * - CODE = 43051003 ************************************* >>> locs['43130002'] ************************************* *********** LOCATION **************** ************************************* * CODE LIEU = 43130002 * NOM LIEU = MAZET-VOLAMONT * NOM COMPLET LIEU = MAZET-VOLAMONT * COURS D'EAU = None * TYPE LIEU = point * COORDONNEES X = 749997.00 m * COORDONNEES Y = 2004520.00 m * ALTITUDE LIEU = 1130.00 m NGF * SURFACE LIEU = -1.00 km2 * COMMUNES = None * TRONCONS = None *************************************
Cas de sites hydrologiques
>>> f = 'data/metadata/sandre/SiteHydro.xml' >>> locs = read_Sandre(filename=f, datatype='loc_hydro') >>> locs ************************************* *********** LOCATIONS *************** ************************************* * NOM DE LA COLLECTION = Sandre * NOMBRE DE LIEUX = 2 * ---------------------------------- * LIEU #1 * - CODE = K0550010 * ---------------------------------- * LIEU #2 * - CODE = K0260010 ************************************* >>> locs['K0550010'] ************************************* *********** LOCATION **************** ************************************* * CODE LIEU = K0550010 * NOM LIEU = Bas-en-Basset * NOM COMPLET LIEU = La Loire à Bas-en-Basset * COURS D'EAU = La Loire * TYPE LIEU = basin * COORDONNEES X = 739757.00 m * COORDONNEES Y = 2034330.00 m * ALTITUDE LIEU = 450.00 m NGF * SURFACE LIEU = 3234.00 km2 * COMMUNES = None * TRONCONS = None *************************************
Cas de stations hydrologiques
>>> f = 'data/metadata/sandre/StationHydro.xml' >>> locs = read_Sandre(filename=f, datatype='loc_hydro') >>> locs ************************************* *********** LOCATIONS *************** ************************************* * NOM DE LA COLLECTION = Sandre * NOMBRE DE LIEUX = 2 * ---------------------------------- * LIEU #1 * - CODE = K435001020 * ---------------------------------- * LIEU #2 * - CODE = K435001010 ************************************* >>> locs['K435001010'] ************************************* *********** LOCATION **************** ************************************* * CODE LIEU = K435001010 * NOM LIEU = Pont Royals * NOM COMPLET LIEU = La Loire à Orléans - Pont Royals * COURS D'EAU = La Loire * TYPE LIEU = point * COORDONNEES X = 567716.00 m * COORDONNEES Y = 2322086.00 m * ALTITUDE LIEU = -1.00 m NGF * SURFACE LIEU = -1.00 km2 * COMMUNES = None * TRONCONS = None *************************************
Cas de courbes de tarage
>>> f = 'data/metadata/sandre/RatingCurves.xml' >>> curves = read_Sandre(filename=f, datatype='ratingcurve') >>> curves ************************************* ********* RATINGCURVES ************** ************************************* * NOM DE LA COLLECTION = Sandre * NOMBRE DE COURBES = 2 * ---------------------------------- * COURBE #1 * - CODE = K055001010 * - NUM = H201416 * - FOURNISSEUR = PHyC * ---------------------------------- * COURBE #2 * - CODE = K055001010 * - NUM = H201620 * - FOURNISSEUR = PHyC ************************************* >>> curves['H201620'] ************************************* ********* RATINGCURVE *************** ************************************* * CODE STATION = K055001010 * CODE COURBE TARAGE = H201620 * FOURNISSEUR = Provider(name='PHyC') * PERIODE VALIDITE = (dt(2016, 11, 23, 2, 30), dt(2020, 1, 1, 0, 0)) * PERIODE TEMPORELLE = [2016-11-23 02:30:00, 2020-01-01] * INTERVALLE VALIDITE = (-1.36, 5.24) * DATE MAJ = 2017-01-13 13:53:15 *************************************
Cas de courbes de correction
>>> f = 'data/data/sandre/levelcor.xml' >>> series = read_Sandre(filename=f, datatype='levelcor') >>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = Sandre * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 1 * ---------------------------------- * SERIE #1 * - CODE = K055001010 * - VARNAME = HI * - META = levelcor ************************************* >>> series[('K055001010', 'HI', 'levelcor')] ************************************* *********** SERIE ******************* ************************************* * NOM VARIABLE SPC = HI * INTITULE VARIABLE = Hauteur instantanée * IDENTIFIANT = K055001010 * FOURNISSEUR = Provider(name='Sandre') * NOM VARIABLE = HI * UNITE = m * SERIE CONTINUE = True * PAS DE TEMPS = None * UNITE DE TEMPS = None * FUSEAU HORAIRE = UTC * PROFONDEUR SERIE = 8 * PREMIER PAS DE TEMPS = 2014-04-23 13:40:00 * DERNIER PAS DE TEMPS = 2014-08-30 00:00:00 *************************************
Cas de données d’observation météorologique
>>> f = 'data/data/sandre/dataobs_meteo.xml' >>> series = read_Sandre(filename=f, datatype='data_obs_meteo') >>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = Sandre * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 1 * ---------------------------------- * SERIE #1 * - CODE = 23209001 * - VARNAME = PH * - META = None ************************************* >>> series[('23209001', 'PH', None)] ************************************* *********** SERIE ******************* ************************************* * NOM VARIABLE SPC = PH * INTITULE VARIABLE = Précipitation horaire * IDENTIFIANT = 23209001 * FOURNISSEUR = Provider(name='Sandre') * NOM VARIABLE = PH * UNITE = mm * SERIE CONTINUE = True * PAS DE TEMPS = 1:00:00 * UNITE DE TEMPS = hour * FUSEAU HORAIRE = UTC * PROFONDEUR SERIE = 19 * PREMIER PAS DE TEMPS = 2016-04-15 12:00:00 * DERNIER PAS DE TEMPS = 2016-04-16 06:00:00 *************************************
Cas de données hydrométriques (Q)
>>> f = 'data/data/sandre/dataobs_hydro_Q.xml' >>> series = read_Sandre(filename=f, datatype='data_obs_hydro') >>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = Sandre * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 1 * ---------------------------------- * SERIE #1 * - CODE = K5183020 * - VARNAME = QH * - META = None ************************************* >>> series[('K5183020', 'QH', None)] ************************************* *********** SERIE ******************* ************************************* * NOM VARIABLE SPC = QH * INTITULE VARIABLE = Débit horaire * IDENTIFIANT = K5183020 * FOURNISSEUR = Provider(name='Sandre') * NOM VARIABLE = QH * UNITE = m3/s * SERIE CONTINUE = True * PAS DE TEMPS = 1:00:00 * UNITE DE TEMPS = hour * FUSEAU HORAIRE = UTC * PROFONDEUR SERIE = 47 * PREMIER PAS DE TEMPS = 2016-04-17 01:00:00 * DERNIER PAS DE TEMPS = 2016-04-18 23:00:00 *************************************
Cas de données hydrométriques (H)
>>> f = 'data/data/sandre/dataobs_hydro_H.xml' >>> series = read_Sandre(filename=f, datatype='data_obs_hydro') >>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = Sandre * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 1 * ---------------------------------- * SERIE #1 * - CODE = K518302001 * - VARNAME = HH * - META = None ************************************* >>> series[('K518302001', 'HH', None)] ************************************* *********** SERIE ******************* ************************************* * NOM VARIABLE SPC = HH * INTITULE VARIABLE = Hauteur horaire * IDENTIFIANT = K518302001 * FOURNISSEUR = Provider(name='Sandre') * NOM VARIABLE = HH * UNITE = m * SERIE CONTINUE = True * PAS DE TEMPS = 1:00:00 * UNITE DE TEMPS = hour * FUSEAU HORAIRE = UTC * PROFONDEUR SERIE = 47 * PREMIER PAS DE TEMPS = 2016-04-17 01:00:00 * DERNIER PAS DE TEMPS = 2016-04-18 23:00:00 *************************************
Cas de données hydrométriques élaborées (Q)
>>> f = 'data/data/sandre/K0550010_198009060000_198010060000_Q_obs.xml' >>> series = read_Sandre(filename=f, datatype='data_obs_hydro') >>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = Sandre * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 1 * ---------------------------------- * SERIE #1 * - CODE = K0550010 * - VARNAME = QJ * - META = None ************************************* >>> series[('K0550010', 'QJ', None)] ************************************* *********** SERIE ******************* ************************************* * NOM VARIABLE SPC = QJ * INTITULE VARIABLE = Débit moyen journalier * IDENTIFIANT = K0550010 * FOURNISSEUR = Provider(name='Sandre') * NOM VARIABLE = QJ * UNITE = m3/s * SERIE CONTINUE = True * PAS DE TEMPS = 1 day, 0:00:00 * UNITE DE TEMPS = days * FUSEAU HORAIRE = UTC * PROFONDEUR SERIE = 31 * PREMIER PAS DE TEMPS = 1980-09-06 00:00:00 * DERNIER PAS DE TEMPS = 1980-10-06 00:00:00 *************************************
Cas de prévisions hydrométriques (Q)
>>> f = 'data/data/sandre/spcmo.xml' >>> series = read_Sandre(filename=f, datatype='data_fcst_hydro') >>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = Sandre * TYPE DE COLLECTION = fcst * NOMBRE DE SERIES = 12 * ---------------------------------- * SERIE #1 * - CODE = Y2100020 * - VARNAME = QH * - META = 2019-11-19 06:00:00, 11gGRPd130, ctl, 10 * ---------------------------------- * SERIE #2 * - CODE = Y2100020 * - VARNAME = QH * - META = 2019-11-19 06:00:00, 11gGRPd130, ctl, 50 * ---------------------------------- * SERIE #3 * - CODE = Y2100020 * - VARNAME = QH * - META = 2019-11-19 06:00:00, 11gGRPd130, ctl, 90 * ---------------------------------- * SERIE #4 * - CODE = Y2100020 * - VARNAME = QH * - META = 2019-11-19 06:00:04, 11gGRPd130, mem, 10 * ---------------------------------- * SERIE #5 * - CODE = Y2100020 * - VARNAME = QH * - META = 2019-11-19 06:00:04, 11gGRPd130, mem, 50 * ---------------------------------- * SERIE #6 * - CODE = Y2100020 * - VARNAME = QH * - META = 2019-11-19 06:00:04, 11gGRPd130, mem, 90 * ---------------------------------- * SERIE #7 * - CODE = Y2100020 * - VARNAME = QI * - META = 2019-11-19 05:55:00, 11sPLA0001, ctl, 10 * ---------------------------------- * SERIE #8 * - CODE = Y2100020 * - VARNAME = QI * - META = 2019-11-19 05:55:00, 11sPLA0001, ctl, 50 * ---------------------------------- * SERIE #9 * - CODE = Y2100020 * - VARNAME = QI * - META = 2019-11-19 05:55:00, 11sPLA0001, ctl, 90 * ---------------------------------- * SERIE #10 * - CODE = Y2100020 * - VARNAME = QI * - META = 2019-11-19 05:55:00, 11sPLA0001, mem, 10 * ---------------------------------- * SERIE #11 * - CODE = Y2100020 * - VARNAME = QI * - META = 2019-11-19 05:55:00, 11sPLA0001, mem, 50 * ---------------------------------- * SERIE #12 * - CODE = Y2100020 * - VARNAME = QI * - META = 2019-11-19 05:55:00, 11sPLA0001, mem, 90 ************************************* >>> series[('Y2100020', 'QH', ... (dt(2019, 11, 19, 6), '11gGRPd130', 'ctl', '50'))] ************************************* *********** SERIE ******************* ************************************* * NOM VARIABLE SPC = QH * INTITULE VARIABLE = Débit horaire * IDENTIFIANT = Y2100020_2019111906_11gGRPd130_ctl_50 * FOURNISSEUR = Provider(name='Sandre') * NOM VARIABLE = QH * UNITE = m3/s * SERIE CONTINUE = True * PAS DE TEMPS = 1:00:00 * UNITE DE TEMPS = hour * FUSEAU HORAIRE = UTC * PROFONDEUR SERIE = 7 * PREMIER PAS DE TEMPS = 2019-11-22 00:00:00 * DERNIER PAS DE TEMPS = 2019-11-22 06:00:00 *************************************