From 6f8cb5dcab2ad62e528947abad0a0a09c2e0e95a Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 7 Dec 2017 14:50:07 +0100
Subject: [PATCH] Philippe 07/12/2017: IO: DIAG: bug correction for TINIFILE
 usage

---
 src/MNH/diag.f90     | 17 +++++++++--------
 src/MNH/ini_segn.f90 |  5 +++--
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index b3f941d23..b30e6d715 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -203,6 +203,7 @@ REAL, DIMENSION(:,:,:,:),ALLOCATABLE          :: ZWETDEPAER
 !
 TYPE(TFILEDATA),POINTER :: TZDIACFILE => NULL()
 TYPE(TFILEDATA),POINTER :: TZNMLFILE  => NULL() !Namelist file
+TYPE(TFILEDATA),POINTER :: TZOUTFILE  => NULL()
 !
 NAMELIST/NAM_DIAG/ CISO, LVAR_RS, LVAR_LS,   &
                    NCONV_KF, NRAD_3D, CRAD_SAT, NRTTOVINFO, LRAD_SUBG_COND,  &
@@ -442,9 +443,9 @@ ENDIF
 INPRAR = 24 +2*(4+NRR+NSV)
 COUTFMFILE=TRIM(CINIFILE)//YSUFFIX
 !
-CALL IO_FILE_ADD2LIST(TINIFILE,TRIM(CINIFILE)//YSUFFIX,'DIAG','WRITE',KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB)
+CALL IO_FILE_ADD2LIST(TZOUTFILE,TRIM(CINIFILE)//YSUFFIX,'DIAG','WRITE',KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB)
 !
-CALL IO_FILE_OPEN_ll(TINIFILE)
+CALL IO_FILE_OPEN_ll(TZOUTFILE)
 !
 CALL SECOND_MNH2(ZTIME2)
 ZSTART=ZTIME2-ZTIME1
@@ -490,7 +491,7 @@ ENDIF
 !
 !*       4.0    Stores the fields in MESONH files if necessary
 !
-CALL WRITE_LFIFM1_FOR_DIAG(TINIFILE,CDAD_NAME(1))
+CALL WRITE_LFIFM1_FOR_DIAG(TZOUTFILE,CDAD_NAME(1))
 !
 WRITE(ILUOUT0,*) ' '
 WRITE(ILUOUT0,*) 'DIAG AFTER WRITE_LFIFM1_FOR_DIAG'
@@ -674,7 +675,7 @@ ZCHEM=0.
 XTIME_LES=0.
 XTIME_LES_BU_PROCESS=0.
 XTIME_BU_PROCESS=0.
-CALL PHYS_PARAM_n(1,TINIFILE,GCLOSE_OUT,                      &
+CALL PHYS_PARAM_n(1,TZOUTFILE,GCLOSE_OUT,                      &
                   ZRAD,ZSHADOWS,ZDCONV,ZGROUND,ZMAFL,ZDRAG, &
                   ZTURB,ZTRACER, ZTIME_BU,ZWETDEPAER,GMASKkids,GCLOUD_ONLY)
 WRITE(ILUOUT0,*) 'DIAG AFTER PHYS_PARAM1'
@@ -698,7 +699,7 @@ ZTIME1=ZTIME2
 !
 IF (CSURF=='EXTE') THEN
   CALL GOTO_SURFEX(1)
-  TFILE_SURFEX => TINIFILE
+  TFILE_SURFEX => TZOUTFILE
   CALL WRITE_SURF_ATM_n(YSURF_CUR,'MESONH','ALL',.FALSE.)
   CALL DIAG_SURF_ATM_n(YSURF_CUR%IM%DGEI, YSURF_CUR%FM%DGF, YSURF_CUR%DGL, YSURF_CUR%IM%DGI, &
                              YSURF_CUR%SM%DGS, YSURF_CUR%DGU, YSURF_CUR%TM%DGT, YSURF_CUR%WM%DGW, &
@@ -717,7 +718,7 @@ ZTIME1=ZTIME2
 !
 !*       7.0    Stores other fields in MESONH files if necessary
 !
-CALL WRITE_LFIFM1_FOR_DIAG_SUPP(TINIFILE)
+CALL WRITE_LFIFM1_FOR_DIAG_SUPP(TZOUTFILE)
 WRITE(ILUOUT0,*) ' '
 WRITE(ILUOUT0,*) 'DIAG AFTER WRITE_LFIFM1_FOR_DIAG_SUPP'
 !
@@ -728,7 +729,7 @@ ZTIME1=ZTIME2
 !
 !*       8.0    Initial positions computation (back into simulation segments)
 !
-IF (LTRAJ .AND. JF/=1) CALL COMPUTE_R00(TINIFILE)
+IF (LTRAJ .AND. JF/=1) CALL COMPUTE_R00(TZOUTFILE)
 !
 CALL SECOND_MNH2(ZTIME2)
 ZTRAJ =ZTIME2-ZTIME1
@@ -741,7 +742,7 @@ DEALLOCATE(GMASKkids)
 DEALLOCATE(ZWETDEPAER)
 IF (GCLOSE_OUT) THEN
   GCLOSE_OUT=.FALSE.
-  CALL IO_FILE_CLOSE_ll(TINIFILE)
+  CALL IO_FILE_CLOSE_ll(TZOUTFILE)
 END IF
 !
 CALL IO_FILE_CLOSE_ll(TLUOUT)
diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90
index ff854ef15..160de1094 100644
--- a/src/MNH/ini_segn.f90
+++ b/src/MNH/ini_segn.f90
@@ -294,8 +294,9 @@ ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL  '.OR. CPROGRAM=='SPEC  ') THEN
 ELSE IF (CPROGRAM=='DIAG  ') THEN
   YINIFILE    = CINIFILE_n
   HINIFILEPGD = CINIFILEPGD_n
-  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
-  CALL IO_FILE_OPEN_ll(TPINIFILE)
+  CALL IO_FILE_ADD2LIST(TINIFILE_n,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_OPEN_ll(TINIFILE_n)
+  TPINIFILE  => TINIFILE_n
   TZFILE_DES => TPINIFILE%TDESFILE
 !   
 !*       1.4   Other program cases
-- 
GitLab