An error occurred while loading the file. Please try again.
-
Grand Francois authored
refs #302
05fc70f2
import { cLog } from "../internal_modules";
import { Nub } from "../internal_modules";
export enum MessageCode {
/** generic error stating that something triggered a fatal error leading to an undefined vCalc */
ERROR_SOMETHING_FAILED_IN_CHILD,
/** abstract showing number of error messages encountered in an iterative calculation, if number is 1 (otherwise see _PLUR below) */
WARNING_ERRORS_ABSTRACT,
/** abstract showing number of error messages encountered in an iterative calculation */
WARNING_ERRORS_ABSTRACT_PLUR,
/** short message for info count "xx info(s)" */
WARNING_INFO_COUNT_SHORT,
/** short message for warning count "xx warning(s)" */
WARNING_WARNING_COUNT_SHORT,
/** short message for error count "xx error(s)" */
WARNING_ERROR_COUNT_SHORT,
/** calculation of Z1 in Fluvial regime has failed (upstream abscissa not present in results) */
ERROR_BIEF_Z1_CALC_FAILED,
/** calculation of Z1 in Torrential regime has failed (downstream abscissa not present in results) */
ERROR_BIEF_Z2_CALC_FAILED,
/**
* La dichotomie n'a pas trouvé de solution dans sa recherche d'intervalle:
* La valeur cible est trop élevée
*/
ERROR_DICHO_TARGET_TOO_HIGH,
/**
* La dichotomie n'a pas trouvé de solution dans sa recherche d'intervalle:
* La valeur cible est trop basse
*/
ERROR_DICHO_TARGET_TOO_LOW,
/**
* la dichotomie n'a pas pu trouver automatiquement d'intervalle de départ
* car la valeur cible de la fonction n'existe pas pour des valeurs de la
* variable dans son domaine de définition, cad il n'existe pas de solution
*/
ERROR_DICHO_INIT_DOMAIN,
/**
* la dichotomie n'a pas pu converger
*/
ERROR_DICHO_CONVERGE,
/**
* le pas pour la recherche de l'intervalle de départ est =0
*/
ERROR_DICHO_NULL_STEP,
/**
* l'augmentation du pas pour la recherche de l'intervalle de départ est incorrecte (=0)
*/
ERROR_DICHO_INVALID_STEP_GROWTH,
/**
* impossible de déterminer le sens de variation de la fonction
*/
ERROR_DICHO_FUNCTION_VARIATION,
/**
* impossible de résoudre l'équation en raison d'une division par zéro
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
*/
ERROR_DIVISION_BY_ZERO,
/**
* la cote amont Z1 est plus basse que la cote aval Z2
*/
ERROR_ELEVATION_ZI_LOWER_THAN_Z2,
/**
* Something failed when calculating upstream Nubs
*/
ERROR_IN_CALC_CHAIN,
/** Jet submergé, pente trop faible: pas de solution pour calculer l'abscisse de l'impact */
ERROR_JET_SUBMERGED_NO_SOLUTION,
/** At least one of the %variables% variables must be defined */
ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED,
/** PAR - simulation : le nombre de ralentisseurs fourni ne correspond pas aux dimensions de la passe %stdNb% */
ERROR_PAR_NB_INCONSISTENT,
/**
* Passe à ralentisseurs: la valeur donnée de P est plus de 10% plus petite / plus de 5%
* plus grande que la valeur standard %stdP%
*/
ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT,
/** La valeur %val% de Q sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques de Q* */
ERROR_PAR_QSTAR_OUT_OF_RANGE,
/** La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques */
ERROR_PAR_HA_OUT_OF_RANGE,
/** Les valeurs de %var_ZR% et %var_ZD% ne correspondent pas : soit %var_ZR% devrait valoir %expectedZR%, soit %var_ZD% devrait valoir %expectedZD% */
ERROR_PAR_ZR_ZD_MISMATCH,
/**
* Something failed in certain steps (but not all), when calculating upstream Nubs with varying parameter
*/
WARNING_ERROR_IN_CALC_CHAIN_STEPS,
/**
* les bornes de l'intervalle d'un ParamDomain sont incorrectes
*/
ERROR_PARAMDOMAIN_INTERVAL_BOUNDS,
/**
* la valeur du ParamDomain est incorrecte
*/
ERROR_PARAMDOMAIN_INVALID,
/**
* la calculabilité d'un ParamDefinition est non définie
*/
ERROR_PARAMDEF_CALC_UNDEFINED,
/**
* la valeur d'un ParamDefinition est non définie
*/
ERROR_PARAMDEF_VALUE_UNDEFINED,
/**
* la valeur de la cible d'un ParamDefinition est non définie
*/
ERROR_PARAMDEF_LINKED_VALUE_UNDEFINED,
/**
* la valeur d'un ParamDefinition ne peut pas être changée
*/
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
ERROR_PARAMDEF_VALUE_FIXED,
/**
* la valeur d'un ParamDefinition doit être entière
*/
ERROR_PARAMDEF_VALUE_INTEGER,
/**
* la valeur d'un ParamDefinition doit être > 0
*/
ERROR_PARAMDEF_VALUE_POS,
/**
* la valeur d'un ParamDefinition doit être >= 0
*/
ERROR_PARAMDEF_VALUE_POSNULL,
/**
* la valeur d'un ParamDefinition doit être = 0
*/
ERROR_PARAMDEF_VALUE_NULL,
/**
* la valeur d'un ParamDefinition est en dehors de son intervalle autorisé
*/
ERROR_PARAMDEF_VALUE_INTERVAL,
/**
* la valeur passée à une méthode de la classe Interval est undefined
*/
ERROR_INTERVAL_UNDEF,
/**
* la valeur passée à une méthode de la classe Interval est hors de l'intervalle défini
*/
ERROR_INTERVAL_OUTSIDE,
/**
* Un seul ouvrage régulé est autorisé sur la cloison aval
*/
ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE,
/**
* PAB : La cote amont est plus basse que la cote aval
*/
ERROR_PAB_Z1_LOWER_THAN_Z2,
/**
* PAB : La cote amont est plus basse que la cloison amont de la passe
*/
ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL,
/** PAB : Erreur de calcul de la cote amont de la cloison %n% */
ERROR_PAB_CALC_Z1_CLOISON,
/** PAB : Erreur de calcul de la cote amont de la cloison aval */
ERROR_PAB_CALC_Z1_CLOISON_DW,
/** Aucune ligne d'eau ne peut être calculée (aucun tirant d'eau à l'amont ni nà l'aval) */
ERROR_REMOUS_NO_WATER_LINE,
/** Solveur : interdiction de faire varier des paramètres dans le Nub calculé */
ERROR_SOLVEUR_NO_VARIATED_PARAMS_ALLOWED,
/** Vérificateur : la passe à vérifier contient des erreurs */
ERROR_VERIF_ERRORS_IN_PASS,
/** Vérificateur : le critère testé %var_criterion% est indéfini */
ERROR_VERIF_MISSING_CRITERION,
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
/** Vérificateur : la passe variée à vérifier contient des erreurs à l'itération %i% */
ERROR_VERIF_VARYING_ERRORS_IN_PASS,
/** Vérificateur : les nubs Espece ont produit au moins un message de niveau erreur sur l'ensemble des résultats */
ERROR_VERIF_KO,
/** Vérificateur, passe variée : les nubs Espece ont produit au moins un message de niveau erreur pour chacune des itérations */
ERROR_VERIF_VARYING_KO,
/** Vérificateur : le nub Espece pour le groupe %speciesGroup% a produit au moins un message de niveau erreur dans le résultat en cours */
ERROR_VERIF_SPECIES_GROUP_KO,
/** Vérificateur : le nub Espece pour le groupe %speciesGroup% n'a pas produit de message de niveau erreur, mais en a produit de niveau avertissement, dans le résultat en cours */
WARNING_VERIF_SPECIES_GROUP_OK_BUT,
/** Vérificateur : le nub Espece pour le groupe %speciesGroup% n'a produit aucun message de niveau erreur */
INFO_VERIF_SPECIES_GROUP_OK,
/** Vérificateur : le nub Espece personnalisé %uid% a produit au moins un message de niveau erreur dans le résultat en cours */
ERROR_VERIF_SPECIES_NUB_KO,
/** Vérificateur : le nub Espece personnalisé %uid% n'a pas produit de message de niveau erreur, mais en a produit de niveau avertissement, dans le résultat en cours */
WARNING_VERIF_SPECIES_NUB_OK_BUT,
/** Vérificateur : le nub Espece personnalisé %uid% n'a produit aucun message de niveau erreur */
INFO_VERIF_SPECIES_NUB_OK,
/** Vérificateur, passe à macrorugosités : vitesse max. %V% trop élevée (maximum: %maxV%) */
ERROR_VERIF_MR_VMAX,
/** Vérificateur, passe à macrorugosités : Blocs submergés */
ERROR_VERIF_MR_SUBMERGED,
/** Vérificateur, passe à macrorugosités : puissance dissipée %PV% trop élevée (maximum: %maxPV%) */
ERROR_VERIF_MR_PVMAX,
/** Vérificateur, passe à macrorugosités : tirant d'eau %Y% insuffisant (minimum: %minY%) */
ERROR_VERIF_MR_YMIN,
/** Vérificateur, passe à macrorugosités complexe : au moins un radier doit être franchissable */
ERROR_VERIF_MRC_AT_LEAST_ONE_APRON,
/** Vérificateur, passe à macrorugosités complexe : la largeur franchissable %width% est inférieure à la largeur d'un motif de blocs %patternWidth% */
ERROR_VERIF_MRC_CROSSABLE_WIDTH,
/** Vérificateur, passe à macrorugosités complexe : vitesse max. %V% trop élevée (maximum: %maxV%) dans le radier %N% */
WARNING_VERIF_MRC_VMAX_APRON_N,
/** Vérificateur, passe à macrorugosités complexe : Blocs submergés dans le radier %N% */
WARNING_VERIF_MRC_SUBMERGED_APRON_N,
/** Vérificateur, passe à macrorugosités complexe : tirant d'eau %Y% insuffisant (minimum: %minY%) dans le radier %N% */
WARNING_VERIF_MRC_YMIN_APRON_N,
/** Vérificateur, passe à macrorugosités complexe : la largeur franchissable est %width% */
INFO_VERIF_MRC_CROSSABLE_WIDTH,
/** Vérificateur : aucun jeu de contraintes pour le couple espèce / type de passe */
ERROR_VERIF_NO_PRESET,
/** Vérificateur, passe à bassins : jet plongeant non supporté */
ERROR_VERIF_PAB_DIVING_JET_NOT_SUPPORTED,
/** Vérificateur, passe à bassins : jet plongeant non supporté */
WARNING_VERIF_PAB_DIVING_JET_NOT_SUPPORTED,
/** Vérificateur, passe à bassins : chute %DH% trop importante pour les deux types de jets (maximum: %maxDHS% et %maxDHP%) */
ERROR_VERIF_PAB_DHMAX,
/** Vérificateur, passe à bassins : chute %DH% trop importante pour le type de jet %jetType% (maximum: %maxDH%) */
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
ERROR_VERIF_PAB_DHMAX_JET,
/** Vérificateur, passe à bassins : chute %DH% trop importante pour le type de jet %jetType% (maximum: %maxDH%), mais la cloison est franchissable grâce à l'autre type de jet */
WARNING_VERIF_PAB_DHMAX_JET,
/** Vérificateur, passe à bassins : largeur de l'échancrure ou de la fente %L% insuffisante (minimum: %minB%) */
ERROR_VERIF_PAB_BMIN,
/** Vérificateur, passe à bassins : largeur de l'échancrure ou de la fente %L% insuffisante (minimum: %minB%) */
WARNING_VERIF_PAB_BMIN,
/** Vérificateur, passe à bassins : surface de l'orifice %S% insuffisante (minimum: %minS%) */
ERROR_VERIF_PAB_SMIN,
/** Vérificateur, passe à bassins : surface de l'orifice %S% insuffisante (minimum: %minS%) */
WARNING_VERIF_PAB_SMIN,
/** Vérificateur, passe à bassins : longueur de bassin %LB% insuffisante pour les deux types de jet (minimum: %minLBS% et %minLBP%) */
ERROR_VERIF_PAB_LMIN,
/** Vérificateur, passe à bassins : longueur de bassin %LB% insuffisante pour le type de jet %jetType% (minimum: %minLB%) */
ERROR_VERIF_PAB_LMIN_JET,
/** Vérificateur, passe à bassins : longueur de bassin %LB% insuffisante pour le type de jet %jetType% (minimum: %minLB%) */
WARNING_VERIF_PAB_LMIN_JET,
/** Vérificateur, passe à bassins : charge sur l'échancrure %h1% insuffisante (minimum: %minH%) */
WARNING_VERIF_PAB_HMIN,
/** Vérificateur, passe à bassins : profondeur de bassin %PB% insuffisante pour les deux types de jet (minimum: %minPBS% et %minPBP%) */
ERROR_VERIF_PAB_YMOY,
/** Vérificateur, passe à bassins : profondeur de bassin %PB% insuffisante pour le type de jet %jetType% (minimum: %minPB%) */
ERROR_VERIF_PAB_YMOY_JET,
/** Vérificateur, passe à bassins : profondeur de bassin %PB% insuffisante pour le type de jet %jetType% (minimum: %minPB%) */
WARNING_VERIF_PAB_YMOY_JET,
/** Vérificateur, passe à bassins, jet plongeant : profondeur de bassin %PB% inférieure à 2x la chute %DH% */
ERROR_VERIF_PAB_YMOY_2_DH,
/** Vérificateur, passe à bassins, jet plongeant : profondeur de bassin %PB% inférieure à 2x la chute %DH% */
WARNING_VERIF_PAB_YMOY_2_DH,
/** Vérificateur, passe à bassins : les poissons ne sont pas censés passer par les ouvrages de type "orifice" (cloison %NC%, ouvrage %NS%) */
WARNING_VERIF_PAB_ORIFICE,
/** Vérificateur, passe à bassins : la puissance dissipée %PV% est trop élevée (maximum : %maxPV%) sur la cloison %N% */
ERROR_VERIF_PAB_PVMAX,
/** Vérificateur, passe à bassins : aucun ouvrage de la cloison %N% n'est franchissable */
ERROR_VERIF_PAB_WALL_NOT_CROSSABLE,
/** Vérificateur, passe à bassins : aucun ouvrage de la cloison aval n'est franchissable */
ERROR_VERIF_PAB_DW_NOT_CROSSABLE,
/** Vérificateur, passe à ralentisseurs : présence d'une chute en bas de passe */
ERROR_VERIF_PAR_DH,
/** Vérificateur, passe à ralentisseurs : pente %S% trop forte (maximum : %maxS%) */
ERROR_VERIF_PAR_SLOPE,
/** Vérificateur, passe à ralentisseurs : tirant d'eau %h% insuffisant (minimum: %minY%) */
ERROR_VERIF_PAR_YMIN,
/** Vérificateur, passe à bassins : la puissance dissipée %PV% est très élevée (recommandée : %maxPV%) sur la cloison %N% */
WARNING_VERIF_PAB_PVMAX,
/** Vérificateur, passe à ralentisseurs : les groupes d'espèces 3a, 3b et 7b sont déconseillés */
WARNING_VERIF_PAR_SPECIES_GROUP,
351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
/**
* Dever : La cote du lit de la rivière ne peut pas être supérieure à la cote de l'eau
*/
WARNING_DEVER_ZR_SUP_Z1,
/**
* courbes de remous : Arrêt du calcul : hauteur critique atteinte à l'abscisse x
*/
WARNING_REMOUS_ARRET_CRITIQUE,
/** Baqssin d'un PréBarrage : description (numéro d'ordre %order%) */
INFO_PB_BASSIN_DESCRIPTION,
/** Cloison d'un PréBarrage : description (bassin amont %ub%, bassin aval %db%) */
INFO_PB_CLOISON_DESCRIPTION,
/**
* courbe de remous : Condition limite aval >= Hauteur critique : calcul de la partie fluviale à partir de l'aval
*/
INFO_REMOUS_CALCUL_FLUVIAL,
/**
* courbe de remous : Condition limite amont <= Hauteur critique :
* calcul de la partie torrentielle à partir de l'amont
*/
INFO_REMOUS_CALCUL_TORRENTIEL,
/**
* courbe de remous : ressaut hydraulique détecté à l'amont/aval de l'abscisse x
*/
INFO_REMOUS_RESSAUT_DEHORS,
/**
* courbe de remous : Largeur au niveau des berges
*/
INFO_REMOUS_LARGEUR_BERGE,
/**
* courbe de remous : Tirant d'eau critique
*/
INFO_REMOUS_H_CRITIQUE,
/**
* courbe de remous : Tirant d'eau normal
*/
INFO_REMOUS_H_NORMALE,
/**
* courbe de remous : Ressaut hydraulique détecté entre les abscisses Xmin et Xmax m
*/
INFO_REMOUS_RESSAUT_HYDRO,
/** Verificateur : tout s'est bien passé (aucun autre message d'avertissement ni d'erreur) */
INFO_VERIF_OK,
/** Verificateur, passe variée : tout s'est bien passé à toutes les itérations (aucun message d'erreur sur aucune des itérations) */
INFO_VERIF_VARYING_OK,
/** Verificateur : tout s'est bien passé mais il y a des messages d'avertissement */
WARNING_VERIF_OK_BUT,
/** Verificateur, passe variée : au moins une itération "passe" et au moins une "ne passe pas" */
WARNING_VERIF_VARYING_OK_BUT,
/**
* courbe de remous : La pente de la ligne d'eau est trop forte à l'abscisse x m
*/
ERROR_REMOUS_PENTE_FORTE,
421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
/**
* courbe de remous : Le pas de discrétisation doit être inférieur ou égal à la longueur du bief
*/
ERROR_REMOUS_PAS_SUPERIEUR_BIEF,
/**
* courbe de remous : Condition limite aval < Hauteur critique : pas de calcul possible depuis l'aval
*/
WARNING_REMOUS_PAS_CALCUL_DEPUIS_AVAL, // pas changer assiette pour fromage
/**
* courbe de remous : Condition limite amont > Hauteur critique : pas de calcul possible depuis l'amont
*/
WARNING_REMOUS_PAS_CALCUL_DEPUIS_AMONT,
/**
* courbe de remous : pas de calcul possible, ni depuis l'amont ni depuis l'aval
*/
ERROR_REMOUS_PAS_CALCUL,
/** RegimeUniforme : impossible de calculer avec uen conduite en charge (section circulaire) */
ERROR_RU_CIRC_LEVEL_TOO_HIGH,
/**
* section : Non convergence du calcul de la hauteur critique (Méthode de Newton)
*/
ERROR_SECTION_NON_CONVERGENCE_NEWTON_HCRITIQUE,
/**
* section : Non convergence du calcul de la hauteur normale (Méthode de Newton)
*/
ERROR_SECTION_NON_CONVERGENCE_NEWTON_HNORMALE,
/** équivalent de l'erreur ci-dessus, pour la courbe de remous */
WARNING_YN_SECTION_NON_CONVERGENCE_NEWTON_HNORMALE,
/**
* section : Non convergence du calcul de la hauteur conjuguée (Méthode de Newton)
*/
ERROR_SECTION_NON_CONVERGENCE_NEWTON_HCONJUG,
/**
* section : Non convergence du calcul de la hauteur correspondante (Méthode de Newton)
*/
ERROR_SECTION_NON_CONVERGENCE_NEWTON_HCOR,
/**
* section : La pente est négative ou nulle, la hauteur normale est infinie
*/
ERROR_SECTION_PENTE_NEG_NULLE_HNORMALE_INF,
/** équivalent de l'erreur ci-dessus, pour la courbe de remous */
WARNING_YN_SECTION_PENTE_NEG_NULLE_HNORMALE_INF,
/**
* section : calcul impossible à cause d'un périmètre nul
*/
ERROR_SECTION_PERIMETRE_NUL,
/**
* section : calcul impossible à cause d'un rayon nul
*/
ERROR_SECTION_RAYON_NUL,
/**
* section : calcul impossible à cause d'une surface nulle
*/
ERROR_SECTION_SURFACE_NULLE,
/**
491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
* newton : pas de convergence
*/
ERROR_NEWTON_NON_CONVERGENCE,
/**
* newton : dérivée nulle
*/
ERROR_NEWTON_DERIVEE_NULLE,
/**
* Le paramètre "Cote de radier" ne peut pas être calculé avec cette loi de débit
*/
ERROR_STRUCTURE_ZDV_PAS_CALCULABLE,
/**
* Le débit passant par les autres ouvrages est trop important
*/
ERROR_STRUCTURE_Q_TROP_ELEVE,
/**
* Les cotes amont aval sont égales et le débit n'est pas nul
*/
ERROR_STRUCTURE_Z_EGAUX_Q_NON_NUL,
/**
* Structure : l'ennoiement %submergencePerc% est inférieur à %min%
*/
ERROR_STRUCTURE_SUBMERGENCE_LOWER_THAN,
/**
* Il faut au moins un ouvrage dans une structure
*/
ERROR_STRUCTURE_AU_MOINS_UNE,
/** On essaye d'appliquer une puissance non entière à un nombre négatif */
ERROR_NON_INTEGER_POWER_ON_NEGATIVE_NUMBER,
/** abstract showing number of warning messages encountered in an iterative calculation */
WARNING_WARNINGS_ABSTRACT,
/** Déversoirs: la cote de déversoir est en dessous de la cote de fond du lit */
WARNING_DEVER_ZDV_INF_ZR,
/** La cote de fond aval est plus élevée que la code de l'eau aval */
WARNING_DOWNSTREAM_BOTTOM_HIGHER_THAN_WATER,
/** La cote de fond amont est plus élevée que la code de l'eau amont */
WARNING_UPSTREAM_BOTTOM_HIGHER_THAN_WATER,
/**
* La cote de l'eau aval est plus élevée que la cote du seuil (ennoiement possible)
*/
WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION,
/**
* Lechapt-Calmon : la vitesse est en dehors de l'intervalle [0.4, 2]
*/
WARNING_LECHAPT_CALMON_SPEED_OUTSIDE_04_2,
/**
* La cote de l'eau aval est plus élevée que la cote du centre de l'orifice (ennoiement possible)
*/
WARNING_ORIFICE_FREE_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION,
/**
* Grille orientée, préconisation pour le guidage des poissons : α ≤ 45°
*/
WARNING_GRILLE_ALPHA_GREATER_THAN_45,
/**
561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
* Grille inclinée, préconisation pour le guidage des poissons : β ≤ 26°
*/
WARNING_GRILLE_BETA_GREATER_THAN_26,
/** L'obstruction totale (saisie) est inférieure à l'obstruction due aux barreaux seulement (calculée) */
WARNING_GRILLE_O_LOWER_THAN_OB,
/**
* Préconisation pour éviter le placage des poissons sur le plan de grille (barrière physique),
* ou leur passage prématuré au travers (barrière comportementale) : VN ≤ 0.5 m/s
*/
WARNING_GRILLE_VN_GREATER_THAN_05,
/** La cote de départ du jet est plus basse que la code de l'eau */
WARNING_JET_START_SUBMERGED,
/** La cote de départ du jet est plus basse que la code de fond */
WARNING_JET_START_ELEVATION_UNDERGROUND,
/** La cote de l'eau est plus basse ou égale à la cote de fond */
WARNING_JET_WATER_ELEVATION_UNDERGROUND,
/** La longueur du résultat varié est limitée par un résultat varié lié trop court */
WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT,
/** Macrorugo : la rampe ne contient pas au moins un motif de plot */
WARNING_RAMP_WIDTH_LOWER_THAN_PATTERN_WIDTH,
/** Macrorugo : la largeur de la rampe devrait être un multiple de la demie-largeur d'un motif de plot */
WARNING_RAMP_WIDTH_NOT_MULTIPLE_OF_HALF_PATTERN_WIDTH,
/** MacroRugo : concentration des blocs hors 8-20% */
WARNING_MACRORUGO_CONCENTRATION_OUT_OF_BOUNDS,
/** section : le tirant d'eau dépasse la hauteur de berge */
WARNING_SECTION_OVERFLOW,
/** section : le tirant d'eau dépasse la hauteur de berge entre les abscisses %xa% et %xb% */
WARNING_SECTION_OVERFLOW_ABSC,
/**
* StructureKivi : La pelle du seuil doit mesurer au moins 0,1 m. Le coefficient béta est forcé à 0.
*/
WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE,
/**
* StructureKivi : h/p ne doit pas être supérieur à 2,5. h/p est forcé à 2,5.
*/
WARNING_STRUCTUREKIVI_HP_TROP_ELEVE,
/** Cloisons: la pelle de l'ouvrage est en dessous du radier */
WARNING_NEGATIVE_SILL,
/**
* La formule de l'échancrure n'est pas conseillée pour un ennoiement supérieur à 0.7
*/
WARNING_NOTCH_SUBMERGENCE_GREATER_THAN_07,
/**
* La formule de la fente n'est pas conseillée pour un ennoiement inférieur à 0.7 et supérieur à 0.9
*/
WARNING_SLOT_SUBMERGENCE_NOT_BETWEEN_07_AND_09,
/** PAR : la largeur est plus grande que la valeur d'alerte %max% */
WARNING_PAR_L,
/** PAR : la largeur est en dehors des valeurs admissibles %min% et %max% (comme ERROR_PAR_L), mais pas d'erreur fatale */
WARNING_ERROR_PAR_L,
/** PAR : la pente est en dehors des valeurs standard (%min%, facultatif) et %max% */
631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
WARNING_PAR_S,
/** PAR : la largeur est en dehors des valeurs admissibles %min% et %max% */
ERROR_PAR_L,
/** PAR : la pente est en dehors des valeurs admissibles %min% et %max% */
ERROR_PAR_S,
/** PAR superactive / chevrons : la hauteur est en dehors des valeurs admissibles %min% et %max% */
ERROR_PAR_A,
/** PAR superactive / chevrons : la hauteur dépasse la valeur d'alerte %max% */
WARNING_PAR_A,
/** PAR superactive / chevrons : le nombre de motifs a été arrondi à 0.5 près, à la valeur %val% */
WARNING_PAR_N_ROUNDED_TO_05,
/** PAR chevrons : le nombre de bandes dépasse deux fois le nombre de motifs %max% */
ERROR_PAR_M_GREATER_THAN_2_N,
/** PAR chevrons : le nombre de bandes a été arrondi à 1 près, à la valeur %val% */
WARNING_PAR_M_ROUNDED_TO_1,
/** PAR : La cote de l'eau aval doit être supérieure ou égale à la hauteur d'eau dans la passe au niveau du dernier ralentisseur aval %ZDB% */
WARNING_PAR_NOT_SUBMERGED,
/**
* La formule du seuil noyé n'est pas conseillé pour un ennoiement inférieur à 0.8
*/
WARNING_WEIR_SUBMERGENCE_LOWER_THAN_08,
/**
* Vanne levante : ZDV > ZDV max
*/
WARNING_VANLEV_ZDV_SUP_MAX,
/**
* Vanne levante : ZDV < ZDV min
*/
WARNING_VANLEV_ZDV_INF_MIN,
/**
* La valeur du paramètre a été arrondie à l'entier
*/
WARNING_VALUE_ROUNDED_TO_INTEGER,
/** %name% n°%position% : */
INFO_PARENT_PREFIX,
/** %name%%position% */
INFO_PARENT_PREFIX_SHORT,
/** downwall : */
INFO_PARENT_PREFIX_DOWNWALL,
/**
* Pré-barrage : non convergence du calcul
*/
WARNING_PREBARRAGE_NON_CONVERGENCE,
/** Pré-barrage : cote de l'eau aval supérieure à la cote de l'eau amont */
ERROR_PREBARRAGE_Z2_SUP_Z1,
/** Pré-barrage : cote de fond du bassin %n% supérieure à la cote de l'eau amont */
WARNING_PREBARRAGE_BASSIN_ZF_SUP_Z1,
/** Pré-barrage : cote de radier de l'ouvrage %ns% inférieure à la cote de fond du bassin amont de la cloison %cub%-%cdb% */
ERROR_PREBARRAGE_STRUCTURE_ZDV_INF_ZF
}
701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
/**
* niveau de criticité du message
*/
export enum MessageSeverity {
ERROR, WARNING, INFO
}
/**
* Résultat de calcul comprenant la valeur du résultat et des calculs annexes (flag, calculs intermédiaires...)
*/
export class Message {
/** Variables intermédiaires, flags d'erreur */
public extraVar: { [key: string]: any };
/**
* code du message
*/
private _code: MessageCode;
/** pointer to parent log */
public parent: cLog;
constructor(c: MessageCode, extraVar: { [key: string]: any } = {}) {
this._code = c;
this.extraVar = extraVar;
}
get code() { return this._code; }
/**
* retourne le niveau de criticité (erreur, warning, info) du message
*/
public getSeverity(): MessageSeverity {
const m: string = MessageCode[this._code];
const prefix: string = m.split("_")[0];
switch (prefix) {
case "ERROR":
return MessageSeverity.ERROR;
case "WARNING":
return MessageSeverity.WARNING;
case "INFO":
return MessageSeverity.INFO;
}
throw new Error("Message.getSeverity() : valeur de code '" + this._code + "' invalide");
}
public get sourceNub(): Nub {
return this.parent?.parent?.sourceNub;
}
public toString(): string {
const sourceNub = this.sourceNub;
return MessageCode[this._code] + " " + JSON.stringify(this.extraVar) + (sourceNub === undefined ? "" : " parentnub " + sourceNub.constructor.name);
}
}