Voir les révisions: Bogue #1355

Résumé 0001355: Création de NaN dans le .Geo de Talweg par TAL71 dans certains cas
Révision 2017-07-11 16:45 par pom
Description Lors de Tal71, lors de l'interpolation des sections, il y a une division 0/0 pour le calcul du facteur d'interpolation C, qui créé des NaN dans le fichier .geo, ce qui créé des pb ensuite (Ediflu avec message disant qu'il y a un débit hors de la Q(Z) aval, Fluvia avec message qu'il n'arrive pas à calculer le tirant d'eau critique dans cette section 531, on a ce message en fait dans le fichier .bak créé par resflu, sinon Talweg et Fluvia disent que tout se passe bien). Je protège donc ce calcul :

      IF(L.NE.0) THEN
         ! On protège pour éviter division par 0
         ! Cas obtenus par Hind 10/07/2017 sur géométrie simplifié fleuve Po
         IF(ABS(YC(L2,N)-YC(L2,L)).GT.1.0E-6) THEN
            C=(YE(K)-YC(L2,L))/(YC(L2,N)-YC(L2,L))
            !WRITE(200,*) 'C,YE ...',C,YE(K),YC(L2,L),YC(L2,N),YC(L2,L)
         ENDIF
      ENDIF

Même si sur le même fichier la version 5.38 se passe bien, probablement du fait de petites différences numériques (ou alors autre raison que je n'ai pas pistée), j'ai reporté la même protection dans la version 5.38

En V4 (4.33): SET VTALW=N06C
En V5 (5.38B): SET VTALW=N15O
Révision 2017-07-11 16:45 par pom
Description Lors de Tal71, lors de l'interpolation des sections, il y a une division 0/0 pour le calcul du facteur d'interpolation C, qui créé des NaN dans le fichier .geo, ce qui créé des pb ensuite (Ediflu avec message disant qu'il y a un débit hors de la Q(Z) aval, Fluvia avec message qu'il n'arrive pas à calculer le tirant d'eau critique dans cette section 531, on a ce message en fait dans le fichier .bak créé par resflu, sinon Talweg et Fluvia disent que tout se passe bien). Je protège donc ce calcul :

      IF(L.NE.0) THEN
         ! On protège pour éviter division par 0
         ! Cas obtenus par Hind 10/07/2017 sur géométrie simplifié fleuve Po
         IF(ABS(YC(L2,N)-YC(L2,L)).GT.1.0E-6) THEN
            C=(YE(K)-YC(L2,L))/(YC(L2,N)-YC(L2,L))
            !WRITE(200,*) 'C,YE ...',C,YE(K),YC(L2,L),YC(L2,N),YC(L2,L)
         ENDIF
      ENDIF

Même si sur le même fichier la version 5.38 se passe bien, probablement du fait de petites différences numériques (ou alors autre raison que je n'ai pas pistée), j'ai reporté la même protection dans la version 5.38

En V4 (4.33): SET VTALW=N06C
En V5 (4.38B): SET VTALW=N15O