Visualiser les détails du résultat

IdentifiantProjetCatégorieVisibilitéDernière mise à jour
0001275SICFortran I/O XML et binairepublic2016-09-22 10:14
RapporteurdorchAssigné àdorch 
PrioritéurgenteImpactcritiqueReproductibilitétoujours
Statut ferméRésolutioncorrigé 
Version du produit5.37a 
Version ciblée5.37aRésolu dans la version5.37a 
Résumé0001275: Erreur d'écriture du résultat en binaire sur modèle Lez avec Fluvia
DescriptionAvec des permanents successifs, on a un message d'erreur provoqué par l'écriture binaire avec un code d'erreur = -2. Ce code signifie que le nombre de variables enregistrées ne correspond pas au nombre prévu lors du dimensionnement de la matrice de résultat.

Avec un calcul sur un pas de temps, l'application freeze.
BalisesAucune balise n'est associée.
Temps projeté (jours)

Activités

dorch

2016-09-22 09:54

administrateur   ~0001350

Le nombre de variables écrites au pas de temps 1 et aux pas de temps suivants est différent :
LezVeolia_v2_FLUVIA.dbg:5496: Debug :EcritBinReseau nbValTot=1168
LezVeolia_v2_FLUVIA.dbg:5969: T(0 01:00:00)-Debug :EcritBinReseau nbValTot=1167
LezVeolia_v2_FLUVIA.dbg:6442: T(0 02:00:00)-Debug :EcritBinReseau nbValTot=1167

Il doit y avoir un problème de copie du réseau pour le résultat ajouté par le régulateur PID. En permanent, le réseau d'un pas de temps est initialisé à partir du pas de temps initial contrairement au transitoire où il est initialisé à partir du pas de temps précédent. Il doit y avoir un problème de séquence entre :
- La lecture des données dans le réseau initial.
- L'initialisation du premier pas de temps à partir du réseau initial (en mémoire ça n'est pas la même chose pour Fluvia car il faut pouvoir initialiser les pas de temps suivant à partir d'un réseau sur lequel on n'a pas effectué de calcul).
- La lecture des régulateurs qui je subodore se fait sur le réseau du premier pas de temps alors qu'il faudrait que ce soit sur le réseau initial.

dorch

2016-09-22 10:14

administrateur   ~0001351

Le diagnostic était le bon.

La routine ReseauxInitComplet était appelée à la fin de FLUXML avant LitXmlRegulateurs. La lecture des régulateurs se faisait donc dans le réseau du premier pas de temps. Les pas de temps suivants étant initialisés à partir du réseau initial, ils ne possédaient pas les informations ajoutées par la lecture des régulateurs.

J'ai déplacé ReseauxInitComplet dans FLUVIA et SIRENE pour qu'il soit appelé après toutes les opérations de lecture.

FLUXML.N23G
FLUVIA2.N13F
SIRENE1&2.N21E

Historique du bogue

Date de modification Nom d’utilisateur Champ Changement
2016-09-21 23:14 dorch Nouveau bogue
2016-09-21 23:14 dorch Statut nouveau => affecté
2016-09-21 23:14 dorch Assigné à => dorch
2016-09-22 09:54 dorch Note ajoutée: 0001350
2016-09-22 10:14 dorch Note ajoutée: 0001351
2016-09-22 10:14 dorch Statut affecté => fermé
2016-09-22 10:14 dorch Résolution ouvert => corrigé
2016-09-22 10:14 dorch Résolu dans la version => 5.37a