From 069c950b4665f8d9466fd6aa5ae69a3a6adcf594 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Mon, 5 Sep 2022 13:00:15 +0200
Subject: [PATCH] Philippe 05/09/2022: MNH_BITREP: add missing BR_POW in p_abs

---
 src/MNH/p_abs.f90     | 16 ++++++++++++++++
 src/ZSOLVER/p_abs.f90 | 12 ++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/src/MNH/p_abs.f90 b/src/MNH/p_abs.f90
index 077bdf2f4..16f888bc8 100644
--- a/src/MNH/p_abs.f90
+++ b/src/MNH/p_abs.f90
@@ -261,7 +261,11 @@ IF ( CEQNSYS=='DUR' .OR. CEQNSYS=='MAE' ) THEN
       DO JJ = IJB,IJE
         DO JI = IIB,IIE
           ZMASSGUESS_2D(JI,JJ)  = ZMASSGUESS_2D(JI,JJ) +                               &
+#ifndef MNH_BITREP
              (PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK))**ZCVD_O_RD        &
+#else
+             BR_POW((PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK)),ZCVD_O_RD) &
+#endif
             * PRHODJ(JI,JJ,JK) / PRHODREF(JI,JJ,JK)                &
             / PTHETAV(JI,JJ,JK)
           ZMASS_O_PI_2D(JI,JJ)  = ZMASS_O_PI_2D(JI,JJ) +                               &
@@ -291,7 +295,11 @@ IF ( CEQNSYS=='DUR' .OR. CEQNSYS=='MAE' ) THEN
       DO JJ = IJB,IJE
         DO JI = IIB,IIE
           ZMASSGUESS_2D(JI,JJ)  = ZMASSGUESS_2D(JI,JJ) +                               &
+#ifndef MNH_BITREP
            (PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK))**ZCVD_O_RD          &
+#else
+           BR_POW((PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK)),ZCVD_O_RD) &
+#endif
           * ZWORK(JI,JJ,JK) / PTHETAV(JI,JJ,JK)
         END DO
       END DO
@@ -301,7 +309,11 @@ IF ( CEQNSYS=='DUR' .OR. CEQNSYS=='MAE' ) THEN
       DO JJ = IJB,IJE
         DO JI = IIB,IIE
           ZMASSGUESS_2D(JI,JJ)  = ZMASSGUESS_2D(JI,JJ) +                                &
+#ifndef MNH_BITREP
             (PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK))**ZCVD_O_RD          &
+#else
+            BR_POW((PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK)),ZCVD_O_RD) &
+#endif
            * PRHODJ(JI,JJ,JK) / PRHODREF(JI,JJ,JK) / PTHETAV(JI,JJ,JK)
         END DO
       END DO
@@ -331,7 +343,11 @@ ELSEIF( CEQNSYS == 'LHE' ) THEN
   IF (LBOUSS) THEN
     ZRHOREF(:,:,:) = PRHODREF(:,:,:)
   ELSE
+#ifndef MNH_BITREP
     ZRHOREF(:,:,:) = PEXNREF(:,:,:) ** ZCVD_O_RD    &
+#else
+    ZRHOREF(:,:,:) = BR_POW( PEXNREF(:,:,:), ZCVD_O_RD )&
+#endif
                   * XP00 / ( XRD * PTHVREF(:,:,:) )
   ENDIF        
   !
diff --git a/src/ZSOLVER/p_abs.f90 b/src/ZSOLVER/p_abs.f90
index e04c5db9b..3ea1219e4 100644
--- a/src/ZSOLVER/p_abs.f90
+++ b/src/ZSOLVER/p_abs.f90
@@ -310,7 +310,11 @@ IF ( CEQNSYS=='DUR' .OR. CEQNSYS=='MAE' ) THEN
       DO JJ = IJB,IJE
         DO JI = IIB,IIE
           ZMASSGUESS_2D(JI,JJ)  = ZMASSGUESS_2D(JI,JJ) +                               &
+#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
              (PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK))**ZCVD_O_RD        &
+#else
+             BR_POW((PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK)),ZCVD_O_RD) &
+#endif
             * PRHODJ(JI,JJ,JK) / PRHODREF(JI,JJ,JK)                &
             / PTHETAV(JI,JJ,JK)
           ZMASS_O_PI_2D(JI,JJ)  = ZMASS_O_PI_2D(JI,JJ) +                               &
@@ -361,7 +365,11 @@ IF ( CEQNSYS=='DUR' .OR. CEQNSYS=='MAE' ) THEN
       DO JJ = IJB,IJE
         DO JI = IIB,IIE
           ZMASSGUESS_2D(JI,JJ)  = ZMASSGUESS_2D(JI,JJ) +                                &
+#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
             (PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK))**ZCVD_O_RD          &
+#else
+            BR_POW((PEXNREF(JI,JJ,JK)+PPHIT(JI,JJ,JK)),ZCVD_O_RD) &
+#endif
            * PRHODJ(JI,JJ,JK) / PRHODREF(JI,JJ,JK) / PTHETAV(JI,JJ,JK)
         END DO
       END DO
@@ -393,7 +401,11 @@ ELSEIF( CEQNSYS == 'LHE' ) THEN
   IF (LBOUSS) THEN
     ZRHOREF(:,:,:) = PRHODREF(:,:,:)
   ELSE
+#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
     ZRHOREF(:,:,:) = PEXNREF(:,:,:) ** ZCVD_O_RD    &
+#else
+    ZRHOREF(:,:,:) = BR_POW( PEXNREF(:,:,:), ZCVD_O_RD )&
+#endif
                   * XP00 / ( XRD * PTHVREF(:,:,:) )
   ENDIF        
   !
-- 
GitLab