Liens inaccessibles pour certains modules
Certains paramètres ou résultats liables ne sont pas accessibles depuis certains modules.
Par exemple, la cote de fond aval d'une passe macrorugo n'est pas accessible depuis la plupart des paramètres liés à une élévation. Mais elle est accessible depuis les modules mathématiques qui n'effectuent pas de tri par famille.
Autre exemple, le Strickler équivalent calculé dans la passe macrorugo est liable depuis le régime uniforme mais pas depuis la courbe de remous.
La profondeur d'une passe macrorugo n'est pas liable avec le tirant d'eau du régime uniforme.
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- David Dorchies moved from jalhyd#289 (closed)
moved from jalhyd#289 (closed)
By Grand Francois on 2022-06-02T14:44:25 (imported from GitLab)
- David Dorchies assigned to @francois.grand
assigned to @francois.grand
By Grand Francois on 2022-06-02T14:44:25 (imported from GitLab)
- David Dorchies added bug label
added bug label
- David Dorchies changed title from Liens inacessibles pour certains modules to Liens inaccessibles pour certains modules
changed title from Liens inacessibles pour certains modules to Liens inaccessibles pour certains modules
By Dorchies David on 2021-02-16T11:19:08 (imported from GitLab)
- David Dorchies changed milestone to %Version 4.15.1
changed milestone to %Version 4.15.1
- David Dorchies added Doing label
added Doing label
- David Dorchies assigned to @francois.grand
assigned to @francois.grand
By Dorchies David on 2022-06-01T11:39:51 (imported from GitLab)
- David Dorchies created merge request !147 (merged) to address this issue
created merge request !147 (merged) to address this issue
By Grand Francois on 2022-06-02T14:45:33 (imported from GitLab)
- David Dorchies mentioned in merge request !147 (merged)
mentioned in merge request !147 (merged)
By Grand Francois on 2022-06-02T14:45:34 (imported from GitLab)
- David Dorchies changed the description
changed the description
By Grand Francois on 2022-06-02T14:49:22 (imported from GitLab)
- David Dorchies mentioned in issue jalhyd#289 (closed)
mentioned in issue jalhyd#289 (closed)
By Grand Francois on 2022-06-02T16:02:33 (imported from GitLab)
- David Dorchies mentioned in commit a345de70
mentioned in commit a345de70
By Grand Francois on 2022-06-02T16:08:02 (imported from GitLab)
- David Dorchies mentioned in commit ebce53df
mentioned in commit ebce53df
By Grand Francois on 2022-06-02T16:08:02 (imported from GitLab)
- Author Owner
Voici ci-dessous le résultat de mes tests effectués à partir de la création d'un module macro-rugo avec les valeurs par défaut et le calcul effectué (Le Strickler équivalent et la cote de fond aval sont des résultats complémentaires inconnus si le résultat n'existe pas):
Cas 1: "la cote de fond aval d'une passe macrorugo n'est pas accessible depuis la plupart des paramètres liés à une élévation"
Module paramètre Lien disponible Bief cotes de fond (amont et aval) oui pente cotes amont/aval oui Loi d'ouvrage cote de radier d'un ouvrage oui Cas 2: "Strickler équivalent calculé dans la passe macrorugo est liable depuis le régime uniforme mais pas depuis la courbe de remous"
Module paramètre Lien disponible Section paramétrée Strickler oui Régime uniforme Strickler oui Courbe de remous Strickler non Bief Strickler oui Cas 3: "La profondeur d'une passe macrorugo n'est pas liable avec le tirant d'eau du régime uniforme."
Module paramètre Lien disponible Section paramétrée tirant d'eau non Régime uniforme tirant d'eau non By Dorchies David on 2022-06-02T19:09:17 (imported from GitLab)
Edited by David Dorchies Collapse replies - Author Owner
Et voici la session avec laquelle j'ai fait les tests: nghyd547_links.json
By Dorchies David on 2022-06-02T19:06:47 (imported from GitLab)
- Author Owner
liste des paramètres sans famille :
src/verification/espece_params.ts 58: this._OK = new ParamDefinition(this, "OK", ParamDomainValue.POS, "", undefined, undefined, undefined, nullParams); 59: this._DHMaxS = new ParamDefinition(this, "DHMaxS", ParamDomainValue.POS, "m", rDHMaxS, undefined, undefined, nullParams); 60: this._DHMaxP = new ParamDefinition(this, "DHMaxP", ParamDomainValue.POS, "m", rDHMaxP, undefined, undefined, nullParams); 61: this._BMin = new ParamDefinition(this, "BMin", ParamDomainValue.POS, "m", rBMin, undefined, undefined, nullParams); 62: this._PMinS = new ParamDefinition(this, "PMinS", ParamDomainValue.POS, "m", rPMinS, undefined, undefined, nullParams); 63: this._PMinP = new ParamDefinition(this, "PMinP", ParamDomainValue.POS, "m", rPMinP, undefined, undefined, nullParams); 64: this._LMinS = new ParamDefinition(this, "LMinS", ParamDomainValue.POS, "m", rLMinS, undefined, undefined, nullParams); 65: this._LMinP = new ParamDefinition(this, "LMinP", ParamDomainValue.POS, "m", rLMinP, undefined, undefined, nullParams); 66: this._HMin = new ParamDefinition(this, "HMin", ParamDomainValue.POS, "m", rHMin, undefined, undefined, nullParams); 67: this._YMin = new ParamDefinition(this, "YMin", ParamDomainValue.POS, "m", rYMin, undefined, undefined, nullParams); 68: this._VeMax = new ParamDefinition(this, "VeMax", ParamDomainValue.POS, "m", rVeMax, undefined, undefined, nullParams); 69: this._YMinSB = new ParamDefinition(this, "YMinSB", ParamDomainValue.POS, "m", rYMinSB, undefined, undefined, nullParams); 70: this._YMinPB = new ParamDefinition(this, "YMinPB", ParamDomainValue.POS, "m", rYMinPB, undefined, undefined, nullParams); 71: this._PVMaxPrec = new ParamDefinition(this, "PVMaxPrec", ParamDomainValue.POS, "W/m³", rPVMaxPrec, undefined, false, nullParams); 72: this._PVMaxLim = new ParamDefinition(this, "PVMaxLim", ParamDomainValue.POS, "W/m³", rPVMaxLim, undefined, false, nullParams); src/pab/pab_puissance_params.ts 24: this._PV = new ParamDefinition(this, "PV", ParamDomainValue.POS, "W/m³", rPV, undefined, undefined, nullParams); src/pab/pab_nombre_params.ts 19: this._N = new ParamDefinition(this, "N", ParamDomainValue.POS, undefined, rN, undefined, undefined, nullParams); src/devalaison/grille_params.ts 70: this._Beta = new ParamDefinition( this, "Beta", new ParamDomain(ParamDomainValue.INTERVAL, 15, 90), "°", rBeta, undefined, undefined, nullParams ); 73: this._Alpha = new ParamDefinition( this, "Alpha", new ParamDomain(ParamDomainValue.INTERVAL, 30, 90), "°", rAlpha, undefined, undefined, nullParams ); 76: this._b = new ParamDefinition(this, "b", ParamDomainValue.POS, "mm", rb, undefined, undefined, nullParams); 77: this._p = new ParamDefinition(this, "p", ParamDomainValue.POS, "mm", rp, undefined, undefined, nullParams); 78: this._e = new ParamDefinition(this, "e", ParamDomainValue.POS, "mm", re, undefined, undefined, nullParams); 79: this._a = new ParamDefinition(this, "a", ParamDomainValue.POS, "", ra, undefined, false, nullParams); 80: this._c = new ParamDefinition(this, "c", ParamDomainValue.POS, "", rc, undefined, false, nullParams); 81: this._O = new ParamDefinition( this, "O", new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), "", rO, undefined, undefined, nullParams ); 84: this._Ob = new ParamDefinition( this, "Ob", new ParamDomain(ParamDomainValue.INTERVAL, 0.28, 0.53), "", rOb, undefined, false, nullParams ); 87: this._OEntH = new ParamDefinition( this, "OEntH", new ParamDomain(ParamDomainValue.INTERVAL, 0, 0.28), "", rOEntH, undefined, false, nullParams ); 90: this._cIncl = new ParamDefinition(this, "cIncl", ParamDomainValue.POS, "", rcIncl, undefined, undefined, nullParams); src/math/yaxn_params.ts 27: this._Y = new ParamDefinition(this, "Y", ParamDomainValue.ANY, undefined, rY, undefined, false, nullParams); src/par/par_params.ts 58: this._N = new ParamDefinition(this, "N", ParamDomainValue.POS_NULL, "", rN, undefined, false, nullParams); 60: this._M = new ParamDefinition(this, "M", ParamDomainValue.POS_NULL, "", rM, undefined, false, nullParams); src/prebarrage/pb_bassin_params.ts 15: this.S = new ParamDefinition(this, "S", ParamDomainValue.POS, "m²", rS, undefined, undefined, nullParams); src/macrorugo/concentration_blocs_params.ts 21: this._C = new ParamDefinition(this, "C", new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), undefined, rC, undefined, undefined, nullParams); 22: this._N = new ParamDefinition(this, "N", ParamDomainValue.POS, undefined, rN, undefined, undefined, nullParams); 24: this._D = new ParamDefinition(this, "D", new ParamDomain(ParamDomainValue.INTERVAL, 0, 2), "m", rD, undefined, undefined, nullParams); src/macrorugo/macrorugo_params.ts 67: this._If = new ParamDefinition(this, "If", 80: this._C = new ParamDefinition(this, "C", new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), "", rCB, undefined, undefined, nullParams); 83: this._PBD = new ParamDefinition(this, "PBD", new ParamDomain(ParamDomainValue.INTERVAL, 0, 2), "m", rPBD, undefined, undefined, nullParams); 89: this._Cd0 = new ParamDefinition( this, "Cd0", new ParamDomain(ParamDomainValue.INTERVAL, 0.5, 3), undefined, rCd0, undefined, undefined, false ); src/pipe_flow/cond_distri_params.ts 30: this.J = new ParamDefinition(this, "J", ParamDomainValue.POS, "m", rJ, undefined, undefined, nullParams); 32: this.Nu = new ParamDefinition(this, "Nu", ParamDomainValue.POS, "Pa·s", rNu, undefined, undefined, nullParams); src/pipe_flow/lechaptcalmon_params.ts 40: this._J = new ParamDefinition(this, "J", ParamDomainValue.POS_NULL, "m", rJ, undefined, undefined, nullParams); 42: this._L = new ParamDefinition(this, "L", new ParamDomain(ParamDomainValue.INTERVAL, 0.8, 2), undefined, rL, 44: this._M = new ParamDefinition(this, "M", new ParamDomain(ParamDomainValue.INTERVAL, 1.5, 2.5), undefined, rM, 46: this._N = new ParamDefinition(this, "N", new ParamDomain(ParamDomainValue.INTERVAL, 4.5, 5.5), undefined, rN, src/solveur/solveur_params.ts 37: this._Xinit = new ParamDefinition(this, "Xinit", ParamDomainValue.ANY, undefined, rXinit, undefined, undefined, nullParams); 38: this._Ytarget = new ParamDefinition(this, "Ytarget", ParamDomainValue.ANY, undefined, rYtarget, undefined, undefined, nullParams); 39: this._Y = new ParamDefinition(this, "Y", ParamDomainValue.ANY, undefined, undefined, undefined, false, nullParams); 52: this._X = new ParamDefinition(this, "X", X.domain, X.unit, X.singleValue, undefined, false); src/structure/structure_params.ts 46: this.Z1 = new ParamDefinition(this, "Z1", ParamDomainValue.ANY, "m", rZ1, undefined, false, nullParams); 48: this.Z2 = new ParamDefinition(this, "Z2", ParamDomainValue.ANY, "m", rZ2, undefined, false, nullParams); 50: this.h1 = new ParamDefinition(this, "h1", ParamDomainValue.POS_NULL, "m", 53: this.h2 = new ParamDefinition(this, "h2", ParamDomainValue.POS_NULL, "m", 56: this.W = new ParamDefinition(this, "W", ParamDomainValue.POS_NULL, undefined, rW, undefined, false, nullParams); src/open-channel/remous_params.ts 36: this._Yamont = new ParamDefinition(this, "Yamont", ParamDomainValue.POS, "m", undefined, undefined, false, nullParams); 37: this._Yaval = new ParamDefinition(this, "Yaval", ParamDomainValue.POS, "m", undefined, undefined, false, nullParams); 39: this._Dx = new ParamDefinition(this, "Dx", ParamDomainValue.POS, "m", rDx, undefined, undefined, nullParams);
By Grand Francois on 2022-06-02T19:18:41 (imported from GitLab)
- Author Owner
Le test "parameters of internal section should not be linkable" a été écrit dans le commit suivant:
https://gitlab.irstea.fr/cassiopee/jalhyd/-/commit/910bd603272bb3bd9147884f1da94d3f4e6ed7cb
Avec le commentaire:
Update Bief
make all parameters variable prevent links to hidden If prevent inner local section from being registered in Session
Le cas d'utilisation testé est celui-ci (voir session nghyd547_test_section_If.json):
Calcul d'un bief où la pente du fond (
If
) est une variable cachée et calculée à partir des cotes de fond amont et aval. Un module Régime uniforme est créé et on vérifie que la pente du fond du premier module n'est pas accessible en lien. Voilà qui explique qu'un "paramètre interne d'une section ne devrait pas être liable".La question est: est-ce que c'est grave de voir apparaître dans les liens une variable qui n'a pas été saisie et est issue du calcul ? A priori, ce n'est pas grave tant que cette variable est consistante.
si ça peut aider, les autres paramètres dont on vire la famille :
- bief/If
- remous/If
- section circulaire/LargeurBerge
- section trapèze/LargeurBerge
Le problème concernant ces variables c'est que ce sont des paramètres d'entrée du calcul mais qui sont pré-calculés à partir d'autres paramètres (cotes de fond amont/aval pour
If
et des paramètres de géométrie des sections pourLargeurBerge
). S'ils apparaissent dans les liens, il y a un risque que la valeur affichée ne corresponde à rien si le calcul dans le module source n'a pas été lancé.Le logiciel couvre actuellement les cas suivants pour les liens:
- Paramètres d'entrée
- Paramètre en calcul (unique)
- Résultats complémentaires
Il n'existe pas de concept qui permette de gérer correctement un paramètre d'entrée caché qui est pré-calculé pour le calcul du module. C'est pour cela qu'on avait décidé de ne pas permettre de lien vers ces paramètres qui, en fonction de la nature du module ou de la section, sont des vrais paramètres d'entrée ou des paramètres pré-calculés à partir d'autres.
By Dorchies David on 2022-06-16T13:16:48 (imported from GitLab)
Edited by David Dorchies - David Dorchies marked this issue as related to jalhyd#289 (closed)
marked this issue as related to jalhyd#289 (closed)
By Dorchies David on 2022-06-28T10:14:13 (imported from GitLab)
- David Dorchies mentioned in commit 07f08f6c
mentioned in commit 07f08f6c
By Grand Francois on 2022-06-29T09:46:46 (imported from GitLab)