From dd7e554a0a8ca66766745eec28afb09e0b5c4e50 Mon Sep 17 00:00:00 2001
From: Florent Taccone <florent.taccone@edf.Fr>
Date: Thu, 27 Mar 2025 11:21:51 +0100
Subject: [PATCH 1/3] [src] fix for mass balance tracer in fv

---
 sources/telemac2d/fv_balance.f     | 1 +
 sources/telemac2d/telemac2d_init.F | 1 +
 2 files changed, 2 insertions(+)

diff --git a/sources/telemac2d/fv_balance.f b/sources/telemac2d/fv_balance.f
index 90efc88193..192da387f6 100644
--- a/sources/telemac2d/fv_balance.f
+++ b/sources/telemac2d/fv_balance.f
@@ -118,6 +118,7 @@
 !
 !           FINAL BALANCE OF TRACER
             MASSOU(ITRAC) = MASSOU(ITRAC) + DT*SMTR%ADR(ITRAC)%P%R(I)
+     &                      * MESH%IFAC%I(I)
           ENDDO
 !
           IF(INCLUS(COUPLING,'GAIA').AND.
diff --git a/sources/telemac2d/telemac2d_init.F b/sources/telemac2d/telemac2d_init.F
index f4c49cb669..7015132233 100644
--- a/sources/telemac2d/telemac2d_init.F
+++ b/sources/telemac2d/telemac2d_init.F
@@ -1368,6 +1368,7 @@
             FLUTENT = 0.D0
             IF(DEBUG.GT.0) WRITE(LU,*) 'CALLING BILANT1'
             DO ITRAC=1,NTRAC
+            MASSOU(ITRAC) = 0.D0
             CALL BILANT1(H,UCONV,VCONV,HPROP,T3,T4,T5,T6,
      &                   LT,TOTAL_ITER,ENTET,MASKTR,
      &                   T%ADR(ITRAC)%P,TN%ADR(ITRAC)%P,TETAT,
-- 
GitLab


From ca3b7f269072075c944aaf7d264dc3f268d426ae Mon Sep 17 00:00:00 2001
From: Florent Taccone <florent.taccone@edf.Fr>
Date: Thu, 27 Mar 2025 15:45:00 +0100
Subject: [PATCH 2/3] [src] add an if for proper use of IFAC

---
 sources/telemac2d/fv_balance.f | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sources/telemac2d/fv_balance.f b/sources/telemac2d/fv_balance.f
index 192da387f6..dc836ad4bd 100644
--- a/sources/telemac2d/fv_balance.f
+++ b/sources/telemac2d/fv_balance.f
@@ -117,8 +117,12 @@
             ENDIF
 !
 !           FINAL BALANCE OF TRACER
-            MASSOU(ITRAC) = MASSOU(ITRAC) + DT*SMTR%ADR(ITRAC)%P%R(I)
+            IF(NCSIZE.GT.1) THEN
+              MASSOU(ITRAC) = MASSOU(ITRAC) + DT*SMTR%ADR(ITRAC)%P%R(I)
      &                      * MESH%IFAC%I(I)
+            ELSE
+              MASSOU(ITRAC) = MASSOU(ITRAC) + DT*SMTR%ADR(ITRAC)%P%R(I)
+            ENDIF
           ENDDO
 !
           IF(INCLUS(COUPLING,'GAIA').AND.
-- 
GitLab


From 945ea2ebf2207c25e8d39fdac0e4cc0bab0ee6f8 Mon Sep 17 00:00:00 2001
From: Florent Taccone <florent.taccone@edf.Fr>
Date: Fri, 28 Mar 2025 09:44:21 +0100
Subject: [PATCH 3/3] update NEWS.txt

---
 NEWS.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/NEWS.txt b/NEWS.txt
index 5a4f247d10..88c525ed5e 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,5 +1,7 @@
 Latest changes
 ==============
+TELEMAC-2D: Fix mass balance issue with finite volumes and tracer
+
 MASCARET: Fix Bazin's friction Law
 
 KHIONE: Addition of a new formula to compute under ice cover friction
-- 
GitLab