From 0323dbc56d250c9244b2c809d32f6a479744164a Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 16 Jul 2019 12:42:00 +0200
Subject: [PATCH] Philippe 16/07/2019: add MPPDB_CHECK calls at beginning and
 end of several advection subroutines

---
 src/MNH/advec_4th_order_aux.f90 |  12 +++
 src/MNH/advection_uvw_cen.f90   |  31 +++++++
 src/MNH/advecuvw_4th.f90        |  31 +++++--
 src/MNH/ppm.f90                 | 150 +++++++++++++++++++++++++++++++-
 4 files changed, 213 insertions(+), 11 deletions(-)

diff --git a/src/MNH/advec_4th_order_aux.f90 b/src/MNH/advec_4th_order_aux.f90
index 5f2092ff0..6352bb536 100644
--- a/src/MNH/advec_4th_order_aux.f90
+++ b/src/MNH/advec_4th_order_aux.f90
@@ -112,6 +112,7 @@ USE MODD_CONF
 USE MODE_DEVICE
 #endif
 use mode_ll,          only: GET_INDICE_ll, LWEST_ll, LEAST_ll, LNORTH_ll, LSOUTH_ll
+use mode_mppdb
 #ifdef _OPENACC
 use mode_msg
 #endif
@@ -147,6 +148,11 @@ REAL, DIMENSION(SIZE(PFIELDT,2),SIZE(PFIELDT,3))      :: ZHALO2_WEST,ZHALO2_EAST
 REAL, DIMENSION(SIZE(PFIELDT,1),SIZE(PFIELDT,3))      :: ZHALO2_SOUTH,ZHALO2_NORTH
 !$acc declare create (ZHALO2_WEST,ZHALO2_EAST,ZHALO2_SOUTH,ZHALO2_NORTH)
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PFIELDT,"ADVEC_4TH_ORDER_ALGO beg:PFIELDT")
+END IF
+
 !-------------------------------------------------------------------------------
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
@@ -445,6 +451,12 @@ ELSE
 !$acc end kernels
 ENDIF
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PMEANX,"ADVEC_4TH_ORDER_ALGO end:PMEANX")
+  CALL MPPDB_CHECK(PMEANY,"ADVEC_4TH_ORDER_ALGO end:PMEANY")
+END IF
+
 !-------------------------------------------------------------------------------
 !
 END SUBROUTINE ADVEC_4TH_ORDER_ALGO
diff --git a/src/MNH/advection_uvw_cen.f90 b/src/MNH/advection_uvw_cen.f90
index f0d4b1e81..9cc640dfb 100644
--- a/src/MNH/advection_uvw_cen.f90
+++ b/src/MNH/advection_uvw_cen.f90
@@ -96,6 +96,7 @@ END MODULE MODI_ADVECTION_UVW_CEN
 !              ------------
 !
 USE MODE_ll
+use mode_mppdb
 USE MODD_ARGSLIST_ll, ONLY : LIST_ll, HALO2LIST_ll
 USE MODD_CONF
 USE MODD_PARAMETERS
@@ -200,6 +201,29 @@ call Print_msg( NVERB_WARNING, 'GEN', 'ADVECTION_UVW_CEN', 'OpenACC: not yet tes
 #endif
 !-------------------------------------------------------------------------------
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PUM,"ADVECTION_UVW_CEN beg:PUM")
+  CALL MPPDB_CHECK(PVM,"ADVECTION_UVW_CEN beg:PVM")
+  CALL MPPDB_CHECK(PWM,"ADVECTION_UVW_CEN beg:PWM")
+  CALL MPPDB_CHECK(PDUM,"ADVECTION_UVW_CEN beg:PDUM")
+  CALL MPPDB_CHECK(PDVM,"ADVECTION_UVW_CEN beg:PDVM")
+  CALL MPPDB_CHECK(PDWM,"ADVECTION_UVW_CEN beg:PDWM")
+  CALL MPPDB_CHECK(PUT,"ADVECTION_UVW_CEN beg:PUT")
+  CALL MPPDB_CHECK(PVT,"ADVECTION_UVW_CEN beg:PVT")
+  CALL MPPDB_CHECK(PWT,"ADVECTION_UVW_CEN beg:PWT")
+  CALL MPPDB_CHECK(PRHODJ,"ADVECTION_UVW_CEN beg:PRHODJ")
+  CALL MPPDB_CHECK(PDXX,"ADVECTION_UVW_CEN beg:PDXX")
+  CALL MPPDB_CHECK(PDYY,"ADVECTION_UVW_CEN beg:PDYY")
+  CALL MPPDB_CHECK(PDZZ,"ADVECTION_UVW_CEN beg:PDZZ")
+  CALL MPPDB_CHECK(PDZX,"ADVECTION_UVW_CEN beg:PDZX")
+  CALL MPPDB_CHECK(PDZY,"ADVECTION_UVW_CEN beg:PDZY")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PRUS,"ADVECTION_UVW_CEN beg:PRUS")
+  CALL MPPDB_CHECK(PRVS,"ADVECTION_UVW_CEN beg:PRVS")
+  CALL MPPDB_CHECK(PRWS,"ADVECTION_UVW_CEN beg:PRWS")
+END IF
+
 #ifdef _OPENACC
 CALL INIT_ON_HOST_AND_DEVICE(ZUS,-1e99,'ADVECTION_UVW_CEN::ZUS')
 CALL INIT_ON_HOST_AND_DEVICE(ZVS,-2e99,'ADVECTION_UVW_CEN::ZVS')
@@ -327,6 +351,13 @@ IF (LBUDGET_W)  CALL BUDGET (PRWS,3,'ADV_BU_RW')
 #ifdef _OPENACC
 CALL MNH_REL_ZT3D(IZ1, IZ2)
 #endif
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PRUS,"ADVECTION_UVW_CEN end:PRUS")
+  CALL MPPDB_CHECK(PRVS,"ADVECTION_UVW_CEN end:PRVS")
+  CALL MPPDB_CHECK(PRWS,"ADVECTION_UVW_CEN end:PRWS")
+END IF
 !-------------------------------------------------------------------------------
 !
 END SUBROUTINE ADVECTION_UVW_CEN
diff --git a/src/MNH/advecuvw_4th.f90 b/src/MNH/advecuvw_4th.f90
index 6b934947c..a08f06bd1 100644
--- a/src/MNH/advecuvw_4th.f90
+++ b/src/MNH/advecuvw_4th.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2005-2019 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ###########################
       MODULE MODI_ADVECUVW_4TH
 !     ###########################
@@ -184,6 +179,7 @@ USE MODD_GRID_n
 USE MODD_PARAMETERS
 
 USE MODE_ll
+use mode_mppdb
 #ifdef _OPENACC
 use mode_msg
 #endif
@@ -263,6 +259,20 @@ INTEGER                                              :: II
 #ifdef _OPENACC
 call Print_msg( NVERB_WARNING, 'GEN', 'ADVECUVW_4TH', 'OpenACC: not yet tested' )
 #endif
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PRUCT,"ADVECUVW_4TH beg:PRUCT")
+  CALL MPPDB_CHECK(PRVCT,"ADVECUVW_4TH beg:PRVCT")
+  CALL MPPDB_CHECK(PRWCT,"ADVECUVW_4TH beg:PRWCT")
+  CALL MPPDB_CHECK(PUT,"ADVECUVW_4TH beg:PUT")
+  CALL MPPDB_CHECK(PVT,"ADVECUVW_4TH beg:PVT")
+  CALL MPPDB_CHECK(PWT,"ADVECUVW_4TH beg:PWT")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PRUS,"ADVECUVW_4TH beg:PRUS")
+  CALL MPPDB_CHECK(PRVS,"ADVECUVW_4TH beg:PRVS")
+  CALL MPPDB_CHECK(PRWS,"ADVECUVW_4TH beg:PRWS")
+END IF
 !-------------------------------------------------------------------------------
 !
 !*       1.     COMPUTES THE DOMAIN DIMENSIONS
@@ -448,6 +458,13 @@ PRWS(:,:,:) = PRWS(:,:,:) - ZTEMP4
 !$acc end kernels
 #endif
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PRUS,"ADVECUVW_4TH end:PRUS")
+  CALL MPPDB_CHECK(PRVS,"ADVECUVW_4TH end:PRVS")
+  CALL MPPDB_CHECK(PRWS,"ADVECUVW_4TH end:PRWS")
+END IF
+
 !-------------------------------------------------------------------------------
 !
 #ifdef _OPENACC
diff --git a/src/MNH/ppm.f90 b/src/MNH/ppm.f90
index 707ad9846..bd8606399 100644
--- a/src/MNH/ppm.f90
+++ b/src/MNH/ppm.f90
@@ -1,6 +1,6 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 ! Modifications:
@@ -428,6 +428,7 @@ CONTAINS
 !-------------------------------------------------------------------------------
 !
 USE MODE_ll
+use mode_mppdb
 #ifdef _OPENACC
 use mode_msg
 #endif
@@ -512,6 +513,14 @@ INTEGER                :: IJS,IJN
 #endif
 LOGICAL                :: GWEST , GEAST
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR, "PPM_01_X beg:PCR")
+  CALL MPPDB_CHECK(PRHO,"PPM_01_X beg:PRHO")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_01_X beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -999,6 +1008,13 @@ ENDDO ; ENDDO ; ENDDO
 !
 END SELECT
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_01_X end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_01_X end:PR")
+END IF
+
 #ifndef _OPENACC
 CONTAINS
 !
@@ -1145,6 +1161,8 @@ USE MODE_ll
 #ifdef _OPENACC
 use mode_msg
 #endif
+use mode_mppdb
+
 #ifndef _OPENACC
 USE MODI_SHUMAN
 #else
@@ -1227,6 +1245,14 @@ INTEGER                          :: IJN,IJS
 #endif
 integer :: ji, jj, jk
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR, "PPM_01_Y beg:PCR")
+  CALL MPPDB_CHECK(PRHO,"PPM_01_Y beg:PRHO")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_01_Y beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -1699,6 +1725,13 @@ CALL GET_HALO_D(ZFPOS,HDIR="01_Y")
 !
 END SELECT
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_01_Y end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_01_Y end:PR")
+END IF
+
 #ifndef _OPENACC
 CONTAINS
 !
@@ -1917,6 +1950,14 @@ INTEGER                          :: I,J,K
 integer                          :: ji, jj, jk
 !
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR, "PPM_01_Z beg:PCR")
+  CALL MPPDB_CHECK(PRHO,"PPM_01_Z beg:PRHO")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_01_Z beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -2185,7 +2226,12 @@ end do
 !Unnecessary CALL GET_HALO_D(PR)
 #endif
 !
-CALL MPPDB_CHECK3DM("PPM::PPM_01_Z ::PR",PRECISION,PR)
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_01_Z end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_01_Z end:PR")
+END IF
 !
 #ifndef _OPENACC
 CONTAINS
@@ -2406,6 +2452,14 @@ INTEGER                          :: I,J,K
 REAL, DIMENSION(SIZE(PCR,2),SIZE(PCR,3))             :: ZPSRC_HALO2_WEST
 !$acc declare present (ZPSRC_HALO2_WEST)
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR, "PPM_S0_X beg:PCR")
+  CALL MPPDB_CHECK(PRHO,"PPM_S0_X beg:PRHO")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S0_X beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -2671,6 +2725,13 @@ CALL MPPDB_CHECK3DM("PPM::PPM_S0_X OPEN ::PR",PRECISION,PR)
 !-------------------------------------------------------------------------------
 CALL  DEL_HALO2_ll(TZ_PSRC_HALO2_ll)
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S0_X end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_S0_X end:PR")
+END IF
+!
 #ifdef _OPENACC
 END SUBROUTINE PPM_S0_X_D
 
@@ -2826,6 +2887,14 @@ REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,3))             :: ZPSRC_HALO2_SOUTH
 !$acc declare present (ZPSRC_HALO2_SOUTH)
 !
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR, "PPM_S0_Y beg:PCR")
+  CALL MPPDB_CHECK(PRHO,"PPM_S0_Y beg:PRHO")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S0_Y beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -3088,6 +3157,13 @@ CALL MPPDB_CHECK3DM("PPM::PPM_S0_Y OPEN ::PR",PRECISION,PR)
 !
 CALL  DEL_HALO2_ll(TZ_PSRC_HALO2_ll)
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S0_Y end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_S0_Y end:PR")
+END IF
+
 #ifdef _OPENACC
 END SUBROUTINE PPM_S0_Y_D
 
@@ -3219,6 +3295,14 @@ REAL, DIMENSION(:,:,:),INTENT(OUT):: ZFPOS, ZFNEG &
 #endif
 !
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR, "PPM_S0_Z beg:PCR")
+  CALL MPPDB_CHECK(PRHO,"PPM_S0_Z beg:PRHO")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S0_Z beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -3322,7 +3406,12 @@ PR = PSRC * PRHO - &
    CALL GET_HALO_D(PR)
 !$acc update device(PR)
 #endif
-CALL MPPDB_CHECK3DM("PPM::PPM_S0_Z ::PR",PRECISION,PR)
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S0_Z end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_S0_Z end:PR")
+END IF
 !
 #ifdef _OPENACC
 END SUBROUTINE PPM_S0_Z_D
@@ -3421,6 +3510,8 @@ INTEGER :: IZPHAT,IZRUT,IZFUP,IZFCOR,IZRPOS,IZRNEG
 !-------------------------------------------------------------------------------
 !
 USE MODE_ll
+use mode_mppdb
+
 #ifndef _OPENACC
 USE MODI_SHUMAN
 #else
@@ -3486,6 +3577,15 @@ INTEGER :: II, IJ, IK
 INTEGER                          :: IRESP             ! for prints
 !
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR,  "PPM_S1_X beg:PCR")
+  CALL MPPDB_CHECK(PRHO, "PPM_S1_X beg:PRHO")
+  CALL MPPDB_CHECK(PRHOT,"PPM_S1_X beg:PRHOT")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC, "PPM_S1_X beg:PSRC")
+END IF
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -3669,6 +3769,12 @@ ZFCOR(IIB-1,:,:) = MIN( &
 !
 PR = PR - PTSTEP*DXF(ZFCOR)
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S1_X end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_S1_X end:PR")
+END IF
 !
 #ifdef _OPENACC
   END SUBROUTINE PPM_S1_X_D
@@ -3766,6 +3872,8 @@ INTEGER :: IZPHAT,IZRVT,IZFUP,IZFCOR,IZRPOS,IZRNEG
 !-------------------------------------------------------------------------------
 !
 USE MODE_ll
+use mode_mppdb
+
 #ifndef _OPENACC
 USE MODI_SHUMAN
 #else
@@ -3835,6 +3943,16 @@ INTEGER :: II, IJ, IK
 INTEGER  :: IRESP   ! Return code of FM-routines
 !
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR,  "PPM_S1_Y beg:PCR")
+  CALL MPPDB_CHECK(PRHO, "PPM_S1_Y beg:PRHO")
+  CALL MPPDB_CHECK(PRHOT,"PPM_S1_Y beg:PRHOT")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC, "PPM_S1_Y beg:PSRC")
+END IF
+
 !
 IF ( L2D ) THEN
    PR = PSRC*PRHO
@@ -4020,6 +4138,12 @@ ZFCOR(:,IJB-1,:) = MIN( &
 !
 PR = PR - PTSTEP*DYF(ZFCOR)
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S1_Y end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_S1_Y end:PR")
+END IF
 !
 #ifdef _OPENACC
   END SUBROUTINE PPM_S1_Y_D
@@ -4113,6 +4237,8 @@ INTEGER :: IZPHAT,IZRVT,IZFUP,IZFCOR,IZRPOS,IZRNEG
 !-------------------------------------------------------------------------------
 !
 USE MODE_ll
+use mode_mppdb
+
 #ifndef _OPENACC
 USE MODI_SHUMAN
 #else
@@ -4179,6 +4305,16 @@ REAL, PARAMETER :: ZEPS = 1.0E-16
 INTEGER :: II, IJ, IK
 !
 !-------------------------------------------------------------------------------
+
+IF (MPPDB_INITIALIZED) THEN
+  !Check all IN arrays
+  CALL MPPDB_CHECK(PCR,  "PPM_S1_Z beg:PCR")
+  CALL MPPDB_CHECK(PRHO, "PPM_S1_Z beg:PRHO")
+  CALL MPPDB_CHECK(PRHOT,"PPM_S1_Z beg:PRHOT")
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC, "PPM_S1_Z beg:PSRC")
+END IF
+
 !
 !*       0.3.     COMPUTES THE DOMAIN DIMENSIONS
 !                 ------------------------------
@@ -4427,6 +4563,12 @@ ZFCOR(:,:,IKB-1) = MIN( &
 !
 PR = PR - PTSTEP*DZF(1,IKU,1,ZFCOR)
 !
+IF (MPPDB_INITIALIZED) THEN
+  !Check all INOUT arrays
+  CALL MPPDB_CHECK(PSRC,"PPM_S1_Z end:PSRC")
+  !Check all OUT arrays
+  CALL MPPDB_CHECK(PR,"PPM_S1_Z end:PR")
+END IF
 !
 #ifdef _OPENACC
   END SUBROUTINE PPM_S1_Z_D
-- 
GitLab