From c4540393282e1a6bbe7e0963e69c3db9c46a7bcd Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Mon, 12 Feb 2018 09:26:04 +0100
Subject: [PATCH] Philippe 12/02/2018: corrections for running on Ada *
 corrected intent in READ_ALL_DATA_GRIB_CASE * workaround for compiler bug
 (Intel 2013.1) in IO_WRITE_HEADER * use own NetCDF (bug in default version of
 Ada (4.1.3))

---
 src/LIB/SURCOUCHE/src/fmwrit_ll.f90 | 4 +++-
 src/MNH/read_all_data_grib_case.f90 | 4 ++--
 src/configure                       | 1 +
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/fmwrit_ll.f90 b/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
index 9b93ac0f4..303a081fd 100644
--- a/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
+++ b/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
@@ -304,6 +304,7 @@ CONTAINS
     CHARACTER(LEN=*),OPTIONAL,INTENT(IN)  :: HDAD_NAME
     !
     CHARACTER(LEN=:),ALLOCATABLE :: YDAD_NAME
+    INTEGER                      :: ILEN
     !
     CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER','called for file '//TRIM(TPFILE%CNAME))
     !
@@ -327,7 +328,8 @@ CONTAINS
       ALLOCATE(CHARACTER(LEN=MAX(NFILENAMELGTMAXLFI,LEN_TRIM(TPFILE%TDADFILE%CNAME))) :: YDAD_NAME)
       YDAD_NAME(:) = TPFILE%TDADFILE%CNAME
     ELSE IF (PRESENT(HDAD_NAME)) THEN
-      ALLOCATE(CHARACTER(LEN=MAX(NFILENAMELGTMAXLFI,LEN_TRIM(HDAD_NAME))) :: YDAD_NAME)
+      ILEN = LEN_TRIM(HDAD_NAME)
+      ALLOCATE(CHARACTER(LEN=MAX(NFILENAMELGTMAXLFI,ILEN)) :: YDAD_NAME)
       YDAD_NAME(:) = HDAD_NAME
     ELSE
       CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER',TRIM(TPFILE%CNAME)// &
diff --git a/src/MNH/read_all_data_grib_case.f90 b/src/MNH/read_all_data_grib_case.f90
index aeb6ae5b7..70a16b2c2 100644
--- a/src/MNH/read_all_data_grib_case.f90
+++ b/src/MNH/read_all_data_grib_case.f90
@@ -18,7 +18,7 @@ SUBROUTINE READ_ALL_DATA_GRIB_CASE(HFILE,TPPRE_REAL1,HGRIB,TPPGDFILE,    &
 USE MODD_IO_ll, ONLY: TFILEDATA
 !
 CHARACTER(LEN=4),  INTENT(IN)    :: HFILE       ! which file ('ATM0','ATM1' or 'CHEM')
-TYPE(TFILEDATA),POINTER,INTENT(IN) :: TPPRE_REAL1 ! PRE_REAL1 file
+TYPE(TFILEDATA),POINTER,INTENT(INOUT) :: TPPRE_REAL1 ! PRE_REAL1 file
 CHARACTER(LEN=28), INTENT(IN)    :: HGRIB       ! name of the GRIB file
 TYPE(TFILEDATA),   INTENT(IN)    :: TPPGDFILE   ! physiographic data file
 INTEGER,           INTENT(IN)    :: KVERB       ! verbosity level
@@ -185,7 +185,7 @@ IMPLICIT NONE
 !       ------------------------
 !
 CHARACTER(LEN=4),  INTENT(IN)    :: HFILE       ! which file ('ATM0','ATM1' or 'CHEM')
-TYPE(TFILEDATA),POINTER,INTENT(IN) :: TPPRE_REAL1! PRE_REAL1 file
+TYPE(TFILEDATA),POINTER,INTENT(INOUT) :: TPPRE_REAL1! PRE_REAL1 file
 CHARACTER(LEN=28), INTENT(IN)    :: HGRIB       ! name of the GRIB file
 TYPE(TFILEDATA),   INTENT(IN)    :: TPPGDFILE   ! physiographic data file
 INTEGER,           INTENT(IN)    :: KVERB       ! verbosity level
diff --git a/src/configure b/src/configure
index 99d8933a3..9a3f1538c 100755
--- a/src/configure
+++ b/src/configure
@@ -163,6 +163,7 @@ module load ga/\${VER_GA}
                 export  VER_MPI=${VER_MPI:-MPIINTEL}
                 export OPTLEVEL=${OPTLEVEL:-O2}
                 export MVWORK=${MVWORK:-YES}
+                export VER_CDF=${VER_CDF:-CDFAUTO}
                 export MNHENV=${MNHENV:-"
 #export OBJDIR_PATH=$WORKDIR/DIR_OBJ_ADA
 export MP_MPILIB=pempi
-- 
GitLab