diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90 index 80aff4d870f53010eb168ff5d4235bfce20c7703..b3f941d230e6864cc9c095a924e709d9cf44723d 100644 --- a/src/MNH/diag.f90 +++ b/src/MNH/diag.f90 @@ -608,8 +608,8 @@ END IF IF (NCONV_KF == -1) CDCONV = 'NONE' ! IF (NCONV_KF >= 0 ) THEN - CALL SM_PRINT_TIME(TDTCUR,CLUOUT0,'CURRENT TIME ') - CALL SM_PRINT_TIME(TDTDCONV,CLUOUT0,'LAST CONVECTION CALL') + CALL SM_PRINT_TIME(TDTCUR, TLUOUT0,'CURRENT TIME ') + CALL SM_PRINT_TIME(TDTDCONV,TLUOUT0,'LAST CONVECTION CALL') CDCONV='KAFR' LDIAGCONV= .TRUE. TDTDCONV=TDTCUR diff --git a/src/MNH/ini_cpl.f90 b/src/MNH/ini_cpl.f90 index dd7702eedaa01c1567291383a6dbb86a7e1c9d6a..cd7d1cc67d5c48b2fede73881cb83198f2355ce3 100644 --- a/src/MNH/ini_cpl.f90 +++ b/src/MNH/ini_cpl.f90 @@ -14,7 +14,7 @@ ! INTERFACE ! - SUBROUTINE INI_CPL(HLUOUT,KSTOP,PTSTEP,OSTEADY_DMASS,HCONF, & + SUBROUTINE INI_CPL(KSTOP,PTSTEP,OSTEADY_DMASS,HCONF, & HGETTKEM, & HGETRVM,HGETRCM,HGETRRM,HGETRIM, & HGETRSM,HGETRGM,HGETRHM,HGETSVM,OCH_INIT_FIELD, & @@ -29,7 +29,6 @@ INTERFACE PLBXUS,PLBXVS,PLBXWS,PLBXTHS,PLBXTKES,PLBXRS,PLBXSVS, & PLBYUS,PLBYVS,PLBYWS,PLBYTHS,PLBYTKES,PLBYRS,PLBYSVS ) ! -CHARACTER(LEN=*), INTENT(IN) :: HLUOUT ! Name of the output-listing INTEGER, INTENT(IN) :: KSTOP ! Number of time steps for ! current segment REAL, INTENT(IN) :: PTSTEP ! Time step @@ -92,7 +91,7 @@ END MODULE MODI_INI_CPL ! ! ! ##################################################################### - SUBROUTINE INI_CPL(HLUOUT,KSTOP,PTSTEP,OSTEADY_DMASS,HCONF, & + SUBROUTINE INI_CPL(KSTOP,PTSTEP,OSTEADY_DMASS,HCONF, & HGETTKEM, & HGETRVM,HGETRCM,HGETRRM,HGETRIM, & HGETRSM,HGETRGM,HGETRHM,HGETSVM,OCH_INIT_FIELD, & @@ -231,6 +230,7 @@ USE MODD_TIME_n ! USE MODD_FOREFIRE_n ! #endif ! +USE MODE_FM, ONLY: IO_FILE_OPEN_ll, IO_FILE_CLOSE_ll USE MODE_FMREAD USE MODE_IO_ll USE MODE_IO_MANAGE_STRUCT, ONLY : IO_FILE_ADD2LIST @@ -248,7 +248,6 @@ IMPLICIT NONE ! ! ! -CHARACTER(LEN=*), INTENT(IN) :: HLUOUT ! Name of the output-listing INTEGER, INTENT(IN) :: KSTOP ! Number of time steps for ! current segment REAL, INTENT(IN) :: PTSTEP ! Time step @@ -306,7 +305,6 @@ REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PLBYRS ,PLBYSVS ! in x and y-d !* 0.2 declarations of local variables ! INTEGER :: ILUOUT ! Logical unit number - ! associated with HLUOUT INTEGER :: IRESP CHARACTER (LEN=40) :: YTITLE ! Title for date print INTEGER :: JCI ! Loop index on number of @@ -372,9 +370,9 @@ DO JCI=1,NCPL_NBR & CORRESPONDING TO THE BEGINNING OF THE SEGMENT. IT WILL & & NOT BE TAKEN INTO ACCOUNT.' YTITLE='CURRENT DATE AND TIME IN THE INITIAL FILE' - CALL SM_PRINT_TIME(TDTCUR,HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTCUR,TLUOUT,YTITLE) YTITLE='CURRENT DATE AND TIME OF THE FILE'//YCI - CALL SM_PRINT_TIME(TDTCPL(JCI),HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTCPL(JCI),TLUOUT,YTITLE) GSKIP(JCI)=.TRUE. ! flag to skip after this coupling file ELSE NCPL_TIMES(JCI,1) = NINT( ZDIST / PTSTEP ) + 2 @@ -392,10 +390,10 @@ DO JCI=1,NCPL_NBR WRITE(ILUOUT,*) 'YOU MUST SPECIFY THE COUPLING FILES IN A CHRONOLOGICAL & & ORDER' YTITLE='CURRENT DATE AND TIME OF THE FILE'//YCI - CALL SM_PRINT_TIME(TDTCPL(JCI),HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTCPL(JCI),TLUOUT,YTITLE) WRITE(YCI,'(I2.0)') JCI-1 YTITLE='CURRENT DATE AND TIME OF THE FILE'//YCI - CALL SM_PRINT_TIME(TDTCPL(JCI-1),HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTCPL(JCI-1),TLUOUT,YTITLE) GEND=.TRUE. ! error flag set to true END IF ! @@ -431,9 +429,9 @@ IF (ICPLEND==NCPL_NBR .AND. NCPL_TIMES(NCPL_NBR,1) < KSTOP) THEN WRITE(ILUOUT,*) 'PLEASE, REFER TO THE USER GUIDE TO OBTAIN MORE INFORMATIONS' WRITE(ILUOUT,*) 'ON THE TEMPORAL GRID.' YTITLE='CURRENT DATE AND TIME OF THE LAST FILE' - CALL SM_PRINT_TIME(TDTCPL(NCPL_NBR),HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTCPL(NCPL_NBR),TLUOUT,YTITLE) YTITLE='DATE AND TIME OF THE BEGINNING OF THE SEGMENT YOU WANT TO BE PERFORMED' - CALL SM_PRINT_TIME(TDTCUR,HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTCUR,TLUOUT,YTITLE) WRITE(ILUOUT,*) 'XSEGLEN = ', XSEGLEN !callabortstop CALL PRINT_MSG(NVERB_FATAL,'GEN','INI_CPL','') diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90 index 4d0fd1eb56e8dfb073599b788e216bc359af2381..5fc10c2580f319cdedd65e570aa20f9aa402db6b 100644 --- a/src/MNH/ini_modeln.f90 +++ b/src/MNH/ini_modeln.f90 @@ -1554,7 +1554,7 @@ END IF !* 7. INITIALIZE GRIDS AND METRIC COEFFICIENTS ! ---------------------------------------- ! -CALL SET_GRID(KMI,TPINIFILE,HLUOUT,IIU,IJU,IKU,NIMAX_ll,NJMAX_ll, & +CALL SET_GRID(KMI,TPINIFILE,IIU,IJU,IKU,NIMAX_ll,NJMAX_ll, & XBMX1,XBMX2,XBMX3,XBMX4,XBMY1,XBMY2,XBMY3,XBMY4, & XBFX1,XBFX2,XBFX3,XBFX4,XBFY1,XBFY2,XBFY3,XBFY4, & NXOR_ALL(KMI),NYOR_ALL(KMI),NXEND_ALL(KMI),NYEND_ALL(KMI), & @@ -1719,7 +1719,7 @@ END IF ! IF ((KMI==1).AND.(.NOT. LSTEADYLS)) THEN CALL MPPDB_CHECK3D(XUT,"INI_MODEL_N-before ini_cpl::XUT",PRECISION) - CALL INI_CPL(HLUOUT,NSTOP,XTSTEP,LSTEADYLS,CCONF, & + CALL INI_CPL(NSTOP,XTSTEP,LSTEADYLS,CCONF, & CGETTKET, & CGETRVT,CGETRCT,CGETRRT,CGETRIT, & CGETRST,CGETRGT,CGETRHT,CGETSVT,LCH_INIT_FIELD, & diff --git a/src/MNH/ini_spectren.f90 b/src/MNH/ini_spectren.f90 index 788ec923f7cce4b4470a0b6ea9a3bd95f1a698dc..384d41ffa6d7acb244d48811d16d0b10569fa937 100644 --- a/src/MNH/ini_spectren.f90 +++ b/src/MNH/ini_spectren.f90 @@ -707,7 +707,7 @@ CALL INI_BIKHARDT_n (NDXRATIO_ALL(KMI),NDYRATIO_ALL(KMI),KMI) !* 6. INITIALIZE GRIDS AND METRIC COEFFICIENTS ! ---------------------------------------- ! -CALL SET_GRID(KMI,TPINIFILE,HLUOUT,IIU,IJU,IKU,NIMAX_ll,NJMAX_ll, & +CALL SET_GRID(KMI,TPINIFILE,IIU,IJU,IKU,NIMAX_ll,NJMAX_ll, & XBMX1,XBMX2,XBMX3,XBMX4,XBMY1,XBMY2,XBMY3,XBMY4, & XBFX1,XBFX2,XBFX3,XBFX4,XBFY1,XBFY2,XBFY3,XBFY4, & NXOR_ALL(KMI),NYOR_ALL(KMI),NXEND_ALL(KMI),NYEND_ALL(KMI), & @@ -795,7 +795,7 @@ END IF IF ((KMI==1).AND.(.NOT. LSTEADYLS)) THEN IF (LSPECTRE_LSU.OR.LSPECTRE_LSV.OR.LSPECTRE_LSW.OR. & LSPECTRE_LSRV.OR.LSPECTRE_LSTH) THEN - CALL INI_CPL(HLUOUT,NSTOP,XTSTEP,LSTEADYLS,CCONF, & + CALL INI_CPL(NSTOP,XTSTEP,LSTEADYLS,CCONF, & CGETTKET, & CGETRVT,CGETRCT,CGETRRT,CGETRIT, & CGETRST,CGETRGT,CGETRHT,CGETSVT,LCH_INIT_FIELD, & diff --git a/src/MNH/init_for_convlfi.f90 b/src/MNH/init_for_convlfi.f90 index 4521c64b3b86f1fd8821390d8c7051569a56d522..c3d723b7498cf523b5534c58adce41bf2a85c2b3 100644 --- a/src/MNH/init_for_convlfi.f90 +++ b/src/MNH/init_for_convlfi.f90 @@ -14,19 +14,18 @@ MODULE MODI_INIT_FOR_CONVLFI ! ! INTERFACE - SUBROUTINE INIT_FOR_CONVLFI(TPINIFILE,HLUOUT) + SUBROUTINE INIT_FOR_CONVLFI(TPINIFILE) ! USE MODD_IO_ll,ONLY: TFILEDATA ! TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE ! file being read -CHARACTER(LEN=*), INTENT(IN) :: HLUOUT ! output listing ! END SUBROUTINE INIT_FOR_CONVLFI END INTERFACE END MODULE MODI_INIT_FOR_CONVLFI ! ! ############################################ - SUBROUTINE INIT_FOR_CONVLFI(TPINIFILE,HLUOUT) + SUBROUTINE INIT_FOR_CONVLFI(TPINIFILE) ! ############################################ ! !!**** *INIT_FOR_CONVLFI * - light monitor to initialize the variables @@ -79,7 +78,7 @@ USE MODD_DIM_n USE MODD_FIELD_n USE MODD_GRID USE MODD_GRID_n -USE MODD_LUNIT +USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_TIME USE MODD_TIME_n USE MODD_VAR_ll, ONLY : NPROC @@ -105,7 +104,6 @@ IMPLICIT NONE !* 0.1 Arguments variables ! TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE ! file being read -CHARACTER(LEN=*), INTENT(IN) :: HLUOUT ! output listing ! !* 0.2 Local variables ! @@ -252,7 +250,7 @@ CALL IO_READ_FIELD(TPINIFILE,'DTSEG',TDTSEG) CALL IO_READ_FIELD(TPINIFILE,'DTCUR',TDTCUR) ! YTITLE='CURRENT DATE AND TIME' -CALL SM_PRINT_TIME(TDTCUR,HLUOUT,YTITLE) +CALL SM_PRINT_TIME(TDTCUR,TLUOUT,YTITLE) ! !* 2.2 Spatial grid ! diff --git a/src/MNH/mode_time.f90 b/src/MNH/mode_time.f90 index 45ca1d9094a50fc7356c7d189e25cecae95522bf..53f0c76a293ee0cc8504543e4dd2fe5831bebf2a 100644 --- a/src/MNH/mode_time.f90 +++ b/src/MNH/mode_time.f90 @@ -43,9 +43,8 @@ !* 0. DECLARATIONS ! ------------ ! +USE MODD_IO_ll, ONLY: TFILEDATA USE MODD_TIME -USE MODE_FM -USE MODE_IO_ll ! IMPLICIT NONE !------------------------------------------------------------------------------- @@ -57,9 +56,9 @@ CONTAINS !* 1. ROUTINE SM_PRINT_TIME ! --------------------- !------------------------------------------------------------------------------- -! ################################################# - SUBROUTINE SM_PRINT_TIME(TPDATETIME,HLUOUT,HTITLE) -! ################################################ +! ##################################################### + SUBROUTINE SM_PRINT_TIME(TPDATETIME,TPOUTFILE,HTITLE) +! ##################################################### ! !!**** *SM_PRINT_TIME * - routine to print a variable of type DATE_TIME !! @@ -79,8 +78,6 @@ CONTAINS !! !! EXTERNAL !! -------- -!! FMLOOK : to retrieve a logical unit number for a file -!! FMATTR : to associate a logical unit number to a file name !! !! IMPLICIT ARGUMENTS !! ------------------ @@ -108,8 +105,8 @@ IMPLICIT NONE !* 0.1 Declarations of arguments ! ------------------------- ! -TYPE (DATE_TIME), INTENT(IN) :: TPDATETIME ! Date and time variable -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! Name of output listing +TYPE(DATE_TIME), INTENT(IN) :: TPDATETIME ! Date and time variable +TYPE(TFILEDATA), INTENT(IN) :: TPOUTFILE ! Output listing file CHARACTER (LEN=*), INTENT(IN), OPTIONAL :: HTITLE ! Title for Date and time ! variable ! @@ -118,7 +115,7 @@ CHARACTER (LEN=*), INTENT(IN), OPTIONAL :: HTITLE ! Title for Date and time ! INTEGER :: IHOUR,IMINUTE REAL :: ZSECOND,ZREMAIN -INTEGER :: ILUOUT,IRESP +INTEGER :: ILUOUT !------------------------------------------------------------------------------- ! !* 1. CONVERT TIME IN HOURS,MINUTES AND SECONDS : @@ -134,7 +131,7 @@ ZSECOND = MOD(ZREMAIN,60.) !* 2. PRINT ON OUTPUT-LISTING ! ----------------------- ! -CALL FMLOOK_ll(HLUOUT,HLUOUT,ILUOUT,IRESP) +ILUOUT = TPOUTFILE%NLU ! IF (PRESENT(HTITLE)) THEN IF ((TPDATETIME%TDATE%YEAR < 0).OR.(TPDATETIME%TDATE%MONTH < 0).OR. & diff --git a/src/MNH/read_all_data_grib_case.f90 b/src/MNH/read_all_data_grib_case.f90 index 0d1fbae8d17379ea72b41a0e119b72718ddc9bef..aeb6ae5b7c67d7189b050861c4165e2428ff44ba 100644 --- a/src/MNH/read_all_data_grib_case.f90 +++ b/src/MNH/read_all_data_grib_case.f90 @@ -133,6 +133,9 @@ END MODULE MODI_READ_ALL_DATA_GRIB_CASE ! !* 0. DECLARATIONS !------------ +! +USE MODE_FM, ONLY: IO_FILE_CLOSE_ll +USE MODE_IO_ll, ONLY: UPCASE USE MODE_MSG USE MODE_TIME USE MODE_THERMO @@ -1388,13 +1391,13 @@ CALL ADD_FORECAST_TO_DATE(TPTCUR%TDATE%YEAR, & TPTCUR%TDATE%DAY, & TPTCUR%TIME ) IF (HFILE(1:3)=='ATM') THEN - CALL SM_PRINT_TIME(TPTCUR,CLUOUT0,'MESONH current date') + CALL SM_PRINT_TIME(TPTCUR,TLUOUT0,'MESONH current date') TDTCUR = TPTCUR TDTMOD = TPTCUR TDTSEG = TPTCUR TDTEXP = TPTCUR ELSE IF (HFILE=='CHEM') THEN - CALL SM_PRINT_TIME(TPTCUR,CLUOUT0,'current date in MesoNH format') + CALL SM_PRINT_TIME(TPTCUR,TLUOUT0,'current date in MesoNH format') ENDIF ! !------------------------------------------------------------------------------- diff --git a/src/MNH/set_grid.f90 b/src/MNH/set_grid.f90 index ae740c0445d11600e3f4e950e7e29b261f3d28c7..a9d5d2fca18976cb98c5a6b1e4c2eb47c12890fe 100644 --- a/src/MNH/set_grid.f90 +++ b/src/MNH/set_grid.f90 @@ -14,7 +14,7 @@ ! INTERFACE ! - SUBROUTINE SET_GRID(KMI,TPINIFILE,HLUOUT, & + SUBROUTINE SET_GRID(KMI,TPINIFILE, & KIU,KJU,KKU,KIMAX_ll,KJMAX_ll, & PBMX1,PBMX2,PBMX3,PBMX4,PBMY1,PBMY2,PBMY3,PBMY4, & PBFX1,PBFX2,PBFX3,PBFX4,PBFY1,PBFY2,PBFY3,PBFY4, & @@ -33,8 +33,6 @@ USE MODD_IO_ll, ONLY: TFILEDATA,TOUTBAK ! INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE !Initial file -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name for output-listing - ! of nested models INTEGER, INTENT(IN) :: KIU ! Upper dimension in x direction ! for sub-domain arrays INTEGER, INTENT(IN) :: KJU ! Upper dimension in y direction @@ -105,7 +103,7 @@ END MODULE MODI_SET_GRID ! ! ! ######################################################################### - SUBROUTINE SET_GRID(KMI,TPINIFILE,HLUOUT, & + SUBROUTINE SET_GRID(KMI,TPINIFILE, & KIU,KJU,KKU,KIMAX_ll,KJMAX_ll, & PBMX1,PBMX2,PBMX3,PBMX4,PBMY1,PBMY2,PBMY3,PBMY4, & PBFX1,PBFX2,PBFX3,PBFX4,PBFY1,PBFY2,PBFY3,PBFY4, & @@ -264,8 +262,6 @@ IMPLICIT NONE ! INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE !Initial file -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name for output-listing - ! of nested models INTEGER, INTENT(IN) :: KIU ! Upper dimension in x direction ! for sub-domain arrays INTEGER, INTENT(IN) :: KJU ! Upper dimension in y direction @@ -507,16 +503,16 @@ IF (NVERB >= 10) THEN WRITE(ILUOUT,FMT=*) PZS(1,1),PZS(IIUP/2,IJUP/2),PZS(IIUP,IJUP) ! YTITLE='CURRENT DATE AND TIME' - CALL SM_PRINT_TIME(TPDTCUR,HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TPDTCUR,TLUOUT,YTITLE) END IF IF (NVERB >= 5) THEN YTITLE='DATE AND TIME OF EXPERIMENT BEGINNING' - CALL SM_PRINT_TIME(TDTEXP,HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TDTEXP,TLUOUT,YTITLE) YTITLE='DATE AND TIME OF MODEL BEGINNING' - CALL SM_PRINT_TIME(TPDTMOD,HLUOUT,YTITLE) + CALL SM_PRINT_TIME(TPDTMOD,TLUOUT,YTITLE) END IF YTITLE='DATE AND TIME OF SEGMENT BEGINNING' -CALL SM_PRINT_TIME(TDTSEG,HLUOUT,YTITLE) +CALL SM_PRINT_TIME(TDTSEG,TLUOUT,YTITLE) ! !------------------------------------------------------------------------------- ! diff --git a/src/MNH/spawn_grid2.f90 b/src/MNH/spawn_grid2.f90 index 8fbfb9263c86072eb0ea8f04ad1d5106c951629d..98cef4efd9393f280f54005121848c90d5ee0d4e 100644 --- a/src/MNH/spawn_grid2.f90 +++ b/src/MNH/spawn_grid2.f90 @@ -162,7 +162,7 @@ USE MODD_SPAWN USE MODD_GRID, ONLY: XLONORI,XLATORI USE MODD_LBC_n, ONLY: LBC_MODEL ! -USE MODD_LUNIT_n +USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_BIKHARDT_n USE MODD_VAR_ll USE MODE_ll @@ -513,11 +513,11 @@ TPDTMOD = TDTCUR1 TPDTCUR = TDTCUR1 ! YTITLE='OUTER MODEL : CURRENT DATE AND TIME ' -CALL SM_PRINT_TIME(TDTCUR1, CLUOUT, YTITLE) +CALL SM_PRINT_TIME(TDTCUR1, TLUOUT, YTITLE) YTITLE='SPAWNED MODEL : DATE AND TIME BEGINNING' -CALL SM_PRINT_TIME(TPDTMOD, CLUOUT, YTITLE) +CALL SM_PRINT_TIME(TPDTMOD, TLUOUT, YTITLE) YTITLE='SPAWNED MODEL : CURRENT DATE AND TIME ' -CALL SM_PRINT_TIME(TPDTCUR, CLUOUT, YTITLE) +CALL SM_PRINT_TIME(TPDTCUR, TLUOUT, YTITLE) ! !------------------------------------------------------------------------------- CALL GOTO_MODEL(IMI)