From 6ad856c849fb6b69d78d71d75e9476df3d1168f8 Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Tue, 31 Jan 2023 15:55:38 +0100
Subject: [PATCH] P.Tulet 31/01/2023: bugfix MEGAN with RELACS3

---
 src/SURFEX/coupling_isban.F90 | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/SURFEX/coupling_isban.F90 b/src/SURFEX/coupling_isban.F90
index 044da5c75..4253c26b2 100644
--- a/src/SURFEX/coupling_isban.F90
+++ b/src/SURFEX/coupling_isban.F90
@@ -574,6 +574,7 @@ ENDIF
 IF (CHI%SVI%NBEQ>0 .AND. CHI%LCH_BIO_FLUX) THEN
   IF (TRIM(CHI%CPARAMBVOC) == 'MEGAN') THEN
         ! Get output Isoprene flux
+        IF (MGN%CMECHANISM == "RELACS") THEN
          DO II=1,SIZE(MGN%XBIOFLX,1)
             IF ((S%XPATCH(II,1) + S%XPATCH(II,2) + S%XPATCH(II,3)) .LT. 1.) THEN
                MGN%XBIOFLX(II) = PSFTS(II,MGN%NBIO)/(1. - S%XPATCH(II,1) - S%XPATCH(II,2) - S%XPATCH(II,3))
@@ -581,6 +582,16 @@ IF (CHI%SVI%NBEQ>0 .AND. CHI%LCH_BIO_FLUX) THEN
                MGN%XBIOFLX(:) = PSFTS(:,MGN%NBIO)
             ENDIF
          ENDDO
+        END IF 
+        IF ((MGN%CMECHANISM == "RELACS2").OR.(MGN%CMECHANISM == "CACM")) THEN
+         DO II=1,SIZE(MGN%XBIOFLX,1)
+            IF ((S%XPATCH(II,1) + S%XPATCH(II,2) + S%XPATCH(II,3)) .LT. 1.) THEN
+               MGN%XBIOFLX(II) = PSFTS(II,MGN%NISOP)/(1. - S%XPATCH(II,1) - S%XPATCH(II,2) - S%XPATCH(II,3))
+            ELSE
+               MGN%XBIOFLX(:) = PSFTS(:,MGN%NISOP)
+            ENDIF
+         ENDDO
+        END IF 
   ENDIF
 ENDIF
 
-- 
GitLab