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