Publication d’observations météo

Ce web-service permet de publier des observations météo.

Paramètres HTTP

Paramètre

Valeur

Route

obssmeteo

Méthode

POST

Paramètres

Les paramètres doivent être transmis dans le contenu de la requête au format format JSON.

Nom

Description

Type

O/F

cdsitesmeteo

Liste de codes de sites météo

list(str)

O

grandeur

grandeur météo (RR, TA ou HN)

str

O

durée

Durée des cumuls si RR

str

F

statuts

Liste des statuts

list(int)

F

qualifications

Liste de qualifications

list(int)

F

methodes

Liste de méthodes

list(int)

F

plusvalide

Notion de plus valide

bool

F

dtdebut

Date de début

datetime

O

dtfin

Date de fin

datetime

F

dtinsdebut

date de début d’insertion

datetime

F

dtinsfin

Date de fin d’insertion

datetime

F

asynchrone

Publication asynchrone

bool

F

email

email lié à la publication asynchrone

str

F

Filtre durée

Le filtre durée est pris en compte uniquement pour les cumuls de pluie (grd = “RR”).

Il est exprimé en minutes.

En l’absence de ce filtre, le web-service retourne 3 cumuls de pluie:

  • le cumul élémentaire

  • le cumul horaire

  • le cumul journalier

Les valeurs autorisées pour la durée de cumul de précipitation sont:

  • 0 (le web-service retourne des cumuls élémentaires (pas de temps de la grandeurs lors de l’insertion de la donnée)

  • < 60 minutes et un diviseur de 60 (ex: 15, 30 min)

  • 60 minutes (1 heure)

  • 1440 minutes (24 heures)

Droits de publication

Les droits de publication du web-service dépendent du caractère public des sites météo.

Pour un site météo public, il n’est pas nécessaire d’être authentifié pour publier les observations du site.

Pour publier des observations d’uns site météo privé, il faut être authentifié et avoir le profil institutionnel ou posséder un rôle sur le site météo.

Tri des observations météo

Lors de la publication d’observations météo, les données sont triées par:

  • code site météo

  • grandeur météo

  • pour les cumuls RR, les données élémentaires puis les cumuls horaires et enfin les cumuls journaliers

  • les observations les plus valides

  • date des observations

Le web-web-service ne renverra pas de cumul si la durée ne correspond ni à pas de temps élémentaire de la grandeur RR, ni à 60 et 1440.

Limite de publication synchrone / asynchrone

Avant de lancer le traitement, le web-service vérifie que le nombre d’observations ne dépasse pas les limites synchrone ou asynchrone de publication.

Le web-service calcule le nombre théorique maximal d’observations avec la formule suivante:

\[N_{obs} = N_{sites} \times \frac {min((dtfin – dtdebut),(dtinsfin – dtinsdebut))} {pdt}\]

Réponse du web-service mode asynchrone

En mode asynchrone, le web-service enregistrera la demande de publication. En retour, la PHyC fournit deux paramètres.

  • idpublication: identifiant de ublication

  • url : le lien de récupération de la demande

Réponse du web-service en mode synchrone

Le web-service renvoie un json hydrométrie contenant les observations météo à publier.

Le json hydrométrie contient les deux propriétés Scenario et Donnees.

Données

L’objet Données contiendra l’unique propriété SeriesObsMeteo.

SeriesObsMeteo est une liste non vide d’objets SerieObsMeteo.

SerieObsMeteo

Propriétés de l’objet SerieObsMeteo:

  • CdSiteMeteo

  • CdGrdMeteo

  • DureeSerieObsMeteo

  • DtDebSerieObsMeteo

  • DtFinSerieObsMeteo

  • DtProdSerieObsMeteo

  • CdContact

  • ObssMeteo : liste non vide d’objets ObsMeteo

ObsMeteo

Propriétés de l’objet ObsMeteo:

  • DtObsMeteo

  • ResObsMeteo

  • IndiceQualObsMeteo

  • ContxtObsMeteo

  • QualifObsMeteo

  • MethObsMeteo

  • StObsMeteo

Exemple

Observations météo au format json
{
  "Scenario": {},
  "Donnnees": {
    "SerieObsMeteo": [
      {
        "CdSiteMeteo" : "012345678",
        "CdGrdMeteo" : "RR",
        "DureeSerieObsMeteo" : "60",
        "DtDebSerieObsMeteo" : "2020-01-01T00:00:00",
        "DtFinSerieObsMeteo" : "2020-01-01T01:00:00",
        "DtProdSerieObsMeteo" : "2020-0-02T00:00:00",
        "CdContact" : "0",
        "ObssMeteo" : [
          {
            "DtObsMeteo": "2020-01-01T00:00:00",
            "ResObsMeteo": 15,
            "IndiceQualObsMeteo": 100,
            "ContxtObsMeteo": "",
            "QualifObsMeteo": 16,
            "MethObsMeteo": 0,
            "StObsMeteo": 4
          }
        ]
      }
    ]
  }
}