loi_observation - Artelia/Mascaret GitHub Wiki

4.7. Lois et observations

Dans le cadre du plugin, il est possible de travailler soit en temps relatif (c’est l'option "creation of law files" dans le menu paramètre) soit en événementiel (avec l'option "Event").

Il y a également deux possibilités pour définir les lois : le menu loi ou bien l'utilisation d’observations. Ces deux possibilités peuvent être combinées au besoin.

En mode temps relatif "creation of law files", les fichiers .loi sont créés à partir du menu d'édition de lois hydrauliques associés aux extrémités et apports latéraux. Il conviendra de veiller à ce que les types de lois créées soient en concordance avec le type d'extrémité (resp. d'apport latéral).

En mode événementiel, un fichier .loi sera créé en appliquant une formule (attribut "method" de la table "extremities" (resp. "lateral_inflows")) entre les bornes définies dans la table des événements "events"


💡 Remarque :

    Le menu loi permet de les définir comme c’était le cas sous Fudaa-mascaret. L'utilisation de l'option "Event" est plus pratique dans le cas d'utilisation d'observations.


4.7.1. Menu Loi

L’accès au menu loi permettant leur gestion se fait par "Hydro laws", lawHydro.png. Il existe différents types de lois :

  • Hydrogramme : "Hydrograph Q(t)"
  • Limnigramme : "Limnigraph Z(t)"
  • Limni-hydrogramme : "Limnihydrograph (Z,Q)=f(t)"
  • Loi de tarage Z=f(Q) : "Rating Curve Z=f(Q)"
  • Loi de tarage Q=f(Z) : "Rating Curve Q=f(Z)"
  • Loi de seuil Zam=f(Q,Z): "Weir Zam=f(Q,Zav)"
  • Loi de type vanne : "Floodgate (Zinf,Zup)=f(t)"

Elles peuvent être séparées en deux grandes familles :

  • celle de chroniques temporelles (Z(t), Q(t), (Z,Q)=f(t), (Zinf,Zup)=f(t))
  • celle de relations (Z=f(Q), Q=f(Z), Zam=f(Q,Zav))

💡 Conseil :

    Lors de l'utilisation de l'option "initialization with a steady run" pour un calcul en non permanent, il est possible d'indiquer des lois de type de tarage Z=f(Q) et Q=f(Z) qui seront prises en compte lors de l'initialisation. Cependant il est conseillé d'utiliser la loi de tarage Z=f(Q) dans ce cas, car elle sera utilisé directement dans le calcul permanent initial, contrairement à la loi Q=f(Z), où la loi sera un Limnigramme avec une cote d'eau constante calculée à partir de la loi de tarage et des Hydrogrammes d'entrée utilisées pour le calcul.


4.7.1.1 GUI du menu loi

law1_bis.png

Le menu se décompose en 3 parties:

  • la zone de visualisation de la loi (Zone graphique)
  • la liste des lois par type où est indiqué:
    • le nom de la loi
    • le nom de l'objet associé (une loi peut être associée à une extrémité ou un apport latéral mais aussi à une singularité)
    • si elle est active ou non
    • le commentaire associé
  • les boutons d'action à disposition:
    • la création d’une nouvelle loi
    • l'édition d'une loi sélectionnée
    • la suppression de la loi sélectionnée

4.7.1.2 Création d'une loi

Lors de la création d'une loi, une fenêtre s'ouvre pour choisir le type de loi à créer.

creation_loi.png

Puis le menu d'édition de la loi s'ouvre.

4.7.1.3 Menu d'édition

edition_law.png

Le menu d'édition comprend notamment:

  • le menu d'édition des paramètres de la loi:
    • le type de loi
    • le nom de la loi
    • l'objet géométrique associé à la loi, par exemple l'extrémité associée ou bien le seuil associé, ...
    • S’il y a une date de référence (utilisé uniquement en événementiel)
      • si coché : indiquer les dates de début et fin
      • si non coché : il n'y a pas de date de référence

💡 Astuce :

    Lorsqu'une courbe de tarage (par exemple) est utilisée en événementiel, il faut lui définir des dates de validité. Plusieurs courbes de tarage peuvent alors être renseignées avec des dates différentes.


      • la case "**auto**" permet avec la dernière valeur temporelle, si elle existe, de calculer la date finale.
    • Enfin le tableau des valeurs de la loi
  • les boutons d'action qui sont:
    • l’importation de loi (fichier au format .loi de mascaret ou CSV)
    • l'ajout et la suppression des lignes du tableau de données

Dans le cas particulier d’une loi de type "Weir Zam=f(Q,Z)", le GUI présente quelques spécificités :

edition_law2.png

Il a été ajouté le choix de l'abscisse pour l'affichage graphique : soit le débit ("Flowrate") soit la hauteur aval ("Downstream level"). De plus, le tableau de données est maintenant une matrice. Il a donc des boutons permettant l'ajout et la suppression respectivement pour le débit et la hauteur en aval.

4.7.1.4 Formats des fichiers d'importation

Un bouton "Import" est disponible pour faciliter l'importation d’une loi. Il est ainsi possible d'importer deux types de fichier:

  • des fichiers de type .loi
  • des fichiers de type .csv

⚠️ Attention :

    Lors de l'importation :

    • S'il y a une colonne en trop une erreur se produit.
    • il n'y a pas vérification des doublons.
    • S'il y a un doublon dans une loi de type "Weir Zam=f(Q,Z)", la moyenne entre les deux valeurs est prise.

Format de type .loi

La structure générale d'un fichier est:

# commentaire
[Unité de temps]
[abscisse-1][ordonnée-1 1]...[ordonnée-n 1]
.
.
.
[abscisse-N][ordonnée-1 N]...[ordonnée-n N]
  • [Unité de temps] : caractère (1)
  • [abscisse] : numérique
  • [ordonnée] : numérique

💡 Remarque :

    L'unité de temps (présente uniquement pour les lois temporelles) peut prendre les valeurs suivantes :

    • "S" : seconde
    • "M" : minute
    • "H" : heure
    • "J" : jour

Exemple d'une loi temporelle:

# Huisserie
# Temps (S) Cote
 S
 0.000 41.850000
 1897200.000 41.850000

Exemple d'une loi relationnelle:

# Aval8
# Debit Cote
 0.000 60.000000
 20.000 60.300000
 50.000 60.500000
 112.000 60.800000
 545.000 62.000000
 1885.000 64.000000
 4050.000 66.000000
 7120.000 68.000000
 11195.000 70.000000
 13000.000 72.000000

⚠️ Attention :

    Dans le cas d'une loi relationnelle, la ligne [Unité de temps] n'existe pas.


Notons également que dans le cas d'une loi de type "Weir Zam=f(Q,Zav)", il faut indiquer l'ensemble des couples (débits, cote aval) pour chaque cote amont.

Exemple d’une loi de type seuil:

# test
# Debit Cote_Aval Cote_Amont
100 60 54
100 65 56
100 70 59
200 60 65
200 65 70
200 70 72
300 60 69
300 65 80
300 70 82

Format de type .csv

Le format de type CSV est similaire, les premières lignes commençant par des "#" sont également des commentaires qui sont ignorés lors de l'importation.

La structure générale d'un fichier est:

# commentaire
[abscisse-1];[ordonnée-1 1];...;[ordonnée-n 1]
.
.
.
[abscisse-n];[ordonnée-1 N];...;[ordonnée-n N]
  • [abscisse] : numérique
  • [ordonnée] : numérique

Exemple de fichier CSV:

# Huisserie
# Temps (S) Cote
0.000;41.850000
1897200.000;41.850000

⚠️ Attention :

    L'unité temporelle est seulement en seconde.


4.7.2. La table d'Événements ('events')

La table 'events' permet de définir des événements.


💡 Astuce :

    A priori il faut faire débuter les événements un pas de temps après le début des séries.


Dans le plugin, on peut définir des événements (typiquement une crue) et travailler en temps absolu. L'ensemble des données d'observations doivent alors être préalablement chargées dans la base. cf. Menu 'observation' décrit au chapitre § 4.7.3 :

param1.png

Une fois les données chargées, on fait appel à ces données via des formules ('method', § 4.1.1 et § 4.4) qui font le lien entre les données à une station et l'hydrogramme d'entrée. Le code hydro (1 lettre et 7 chiffres pour le moment) de la station sert de clé.

Ouvrir la table d'attributs de la couche 'events', passer en mode édition, ajouter des lignes grâce au bouton 'ajouter une entité'. Renseigner les noms d'événements et les dates de début et fin des évènements (attention à choisir des dates et 'heures:minutes' où les observations sont réellement disponibles sans quoi le calcul va planter). Ce sont sur ces périodes temporelles que seront effectués les calculs.

event1.png


⚠️ Attention :

    En cochant run (t comme true dans la colonne de droite), cela active la prise en compte de l'événement pour les lancements d'un run depuis la fenêtre principale.

    bar_tools_run.png


4.7.3. Observations

Le menu des observations ("obs" lawObs.png) contient l'ensemble des données mesurées aux stations. Elle permet de comparer les résultats aux observations mais également de créer les fichiers lois pour les différents hydrogrammes et limnigrammes pour les conditions aux limites. Le menu se décompose en 4 partie :

  • Une partie graphique permettant la visualisation
  • Une liste des stations
  • Une liste de choix de la variable à visualiser ou à éditer en fonction des stations
  • Une zone rassemblant les actions disponible (Edition, importation, suppression)

obs1_fr.png

4.7.3.1. Ajout d'observations

Il y a deux méthodes possibles pour ajouter des observations.

La première méthode est d'utiliser le bouton 'Import' permettant l'importation à partir d'un fichier. Deux formats d'importation sont possibles:

  • Le format Scores ("Default format")
  • Le format OCTAVE

Format d'importation:

Le format Scores contient:

  • le code de station
  • le type Q ou H
  • nom des stations
  • dates
  • valeurs

Exemple de fichier au format Scores :

codes; M0114910;M134010;M0243010;M0250610
types;Q;Q;Q;Q
jours;chiantin;Douillet;MONTBIZOT;Montreuil
01/02/1990 00:00;1.66;-99.99;3.37;-99.99;14.6
01/02/1990 01:00;1.64;-99.99;3.37;-99.99;14.5
...

⚠️ Attention :

    Attention à ne pas avoir de lignes vides à la fin du fichier.

    Les données absentes sont indiquées par le code -99.99.

    Pour une condition limite aval de type limnigraph, il faut mettre les données des hauteurs en cote NGF.


Le format OCTAVE contient :

  • date
  • valeur
  • type
  • le code de station

Exemple de format OCTAVE:

30/01/2023 11:55;646.0;H;H501102001
30/01/2023 12:55;647.0;H;H501102001
30/01/2023 13:55;646.0;H;H501102001
...

💡 Astuce :

    Notez qu'il est possible de sélectionner plusieurs fichiers lors de l'importation au format OCTAVE



💡 Astuce :

    Si des données sont en double un choix est demandé à l'utilisateur:

    • Garder l'existant
    • Ecraser les données ayant des dates communes
    • Ecraser la plage de donnée de l'importation
    • Supprimer l'ensemble de la donnée de la station et la remplacer obs4.png

La seconde méthode est d'utiliser le bouton 'New Station', puis d'entrer le nom de la station et de choisir si la variable est H ou Q. Par la suite le menu d'édition s'ouvre où il est alors possible d'ajouter ou de supprimer des lignes.

obs4.png


💡 Astuce :

    A priori il faut faire débuter les événements un pas de temps après le début des séries observées.


4.7.3.2. Editer des Observations

Pour éditer des observations, il faut choisir la variable à éditer si la station a deux variables à disposition. Puis utiliser le bouton 'Edit H Values' ou 'Edit Q values' en fonction du choix de la variable.

obs5.png

4.7.3.3. Suppression

Il est possible de supprimer soit la station soit l'une des variables de la station. Ce sont respectivement les boutons 'Delete Sation' et 'Delete H Values' ou 'Delete Q values'.

4.7.4 Visualisation des lois et des observations sur un objet du modèle

Il est possible de visualiser les conditions aux frontières.

Pour cela, il faut activer le bouton hydrogramme.png .

Puis cliquer sur les frontières à visualiser. Les objets visualisables sont les suivants:

  • les extrémités
  • les seuils ayant une loi hydraulique
  • les apports qui sont basés sur une méthode ou une loi

La visualisation des lois est décomposée en 2 parties :

  • une partie "Observations" basée sur la méthode indiquée au niveau de l'objet à visualiser
    • s’il n'y a pas de méthode, l'onglet reste grisé
  • la partie sur "Laws" basée sur les lois hydrauliques (indiquées dans le menu loi § 4.7.1)
    • s'il n'y a pas de loi associée à l'objet, l'onglet sera alors grisé

bcgraph1.png

Dans le cas de la visualisation dans l'onglet "Laws"(voir image ci-dessus), il est possible de choisir la loi active à visualiser et également de choisir si vous voulez la visualiser pour un événement particulier actif ou non. Dans le cas où il n'y a pas d'événement ou que vous voudriez voir la loi sans le filtre d'un évènement, il faut choisir "only law" dans le menu.


💡 Remarque :

    Le choix de visualiser une loi dans le cas "only law" permet pour une loi temporelle d'avoir l'abscisse en numérique et non en date contrairement à la visualisation dans le cadre d’un évènement.


Pour le cas de la visualisation dans l'onglet "Observations" (voir image ci-dessous), la formule indiquée dans le champ "method" de l'objet est affiché dans le graphique. S’il n'y a pas d'évènement actif, l'ensemble de la plage temporelle est alors affiché. Cependant s’il y a un ou plusieurs évènements actifs, il faudra par conséquence choisir l'événement que vous voulez visualiser.

Ayant la possibilité d'avoir à la fois une méthode et des lois liés à l’objet, les deux onglets peuvent être actifs.

bcgraph2.png

Enfin dans le cas particulier de la loi de seuil Zam=f(Q,Z)("Weir Zam=f(Q,Zav)"), il sera possible de choisir l'abscisse de visualisation (voir image ci-desous).

bcgraph3.png


💡 Astuce :

    Lorsqu'il y a des dates en abscisse, l'utilisation du zoom permet, quand la plage temporelle est inférieure à 2 jours, de visualiser les heures et les minutes.


⚠️ **GitHub.com Fallback** ⚠️