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