diff --git a/src/MNH/check_zhat.f90 b/src/MNH/check_zhat.f90 index 589de31d509d0a7e2a392f70386fa8892dd5d068..a0027bb66d919c201d9a922ef3097ffab9255968 100644 --- a/src/MNH/check_zhat.f90 +++ b/src/MNH/check_zhat.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !##################### @@ -95,7 +95,6 @@ CHARACTER(LEN=*), INTENT(INOUT) :: HDAD_NAME ! true name of the Mesonh input ! ------------------------------ ! INTEGER :: IKMAX ! vertical dimension in input file -INTEGER :: IMASDEV ! Masdev version REAL, DIMENSION(:), ALLOCATABLE :: ZZHAT ! vertical grid in input file LOGICAL :: GSLEVE ! flag for sleve coordinate REAL :: ZLEN1 ! Decay scale for smooth topography @@ -121,8 +120,7 @@ CALL IO_READ_FIELD(TZFMFILE,'KMAX',IKMAX) ALLOCATE(ZZHAT(IKMAX+2*JPVEXT)) CALL IO_READ_FIELD(TZFMFILE,'ZHAT',ZZHAT) CALL IO_READ_FIELD(TZFMFILE,'THINSHELL',GTHINSHELL) -CALL IO_READ_FIELD(TZFMFILE,'MASDEV',IMASDEV) -IF (IMASDEV<=46) THEN +IF ( TZFMFILE%NMNHVERSION(1)<4 .OR. (TZFMFILE%NMNHVERSION(1)==4 .AND. TZFMFILE%NMNHVERSION(2)<=6) ) THEN GSLEVE = .FALSE. ELSE CALL IO_READ_FIELD(TZFMFILE,'SLEVE',GSLEVE) diff --git a/src/MNH/compare_dad.f90 b/src/MNH/compare_dad.f90 index 62398468fe0c174f4cc63cd916c6ea41bc66bc8d..5446348efd96ba60b4c0b8ade73aef7b9c8aaec7 100644 --- a/src/MNH/compare_dad.f90 +++ b/src/MNH/compare_dad.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !######################## @@ -91,7 +91,6 @@ INTEGER, INTENT(OUT) :: KRESP INTEGER :: IID INTEGER :: IRESP ! Return codes in FM routines INTEGER :: ILUOUT ! Logical unit number for the output listing -INTEGER :: IMASDEV ! INTEGER :: IIU_1,IIU_2 ! Upper dimension in x direction INTEGER :: IJU_1,IJU_2 ! Upper dimension in y direction @@ -166,9 +165,8 @@ IF (.NOT.LCARTESIAN) THEN CALL IO_READ_FIELD(TZDADINIFILE,'RPK',ZRPK_1) CALL IO_READ_FIELD(TZDADINIFILE,'LATORI',ZLATORI_1) CALL IO_READ_FIELD(TZDADINIFILE,'LONORI',ZLONORI_1) - CALL IO_READ_FIELD(TZDADINIFILE,'MASDEV',IMASDEV) ! - IF (IMASDEV<=45) THEN + IF (TZDADINIFILE%NMNHVERSION(1)<4 .OR. (TZDADINIFILE%NMNHVERSION(1)==4 .AND. TZDADINIFILE%NMNHVERSION(2)<=5) ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'LONOR' @@ -223,9 +221,8 @@ IF (.NOT.LCARTESIAN) THEN CALL IO_READ_FIELD(TZDADSPAFILE,'RPK',ZRPK_2) CALL IO_READ_FIELD(TZDADSPAFILE,'LATORI',ZLATORI_2) CALL IO_READ_FIELD(TZDADSPAFILE,'LONORI',ZLONORI_2) - CALL IO_READ_FIELD(TZDADSPAFILE,'MASDEV',IMASDEV) ! - IF (IMASDEV<=45) THEN + IF (TZDADSPAFILE%NMNHVERSION(1)<4 .OR. (TZDADSPAFILE%NMNHVERSION(1)==4 .AND. TZDADSPAFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'LONOR' diff --git a/src/MNH/ini_lb.f90 b/src/MNH/ini_lb.f90 index 34a5e012f224a09a1a4dc3ced31cd2fcec90ae3f..eb93466cf480caafe489156463fb6eeef365a339 100644 --- a/src/MNH/ini_lb.f90 +++ b/src/MNH/ini_lb.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ###################### @@ -227,7 +227,6 @@ LOGICAL :: GHORELAX_R, GHORELAX_SV ! switch for the horizontal relaxation CHARACTER (LEN= LEN(HGETRVM)), DIMENSION (7) :: YGETRXM ! Arrays with the get indicators ! for the moist variables CHARACTER (LEN=1), DIMENSION (7) :: YC ! array with the prefix of the moist variables -INTEGER :: IMASDEV CHARACTER(LEN=2) :: INDICE ! to index CCN and IFN fields of LIMA scheme TYPE(TFIELDDATA) :: TZFIELD !------------------------------------------------------------------------------- @@ -235,8 +234,7 @@ TYPE(TFIELDDATA) :: TZFIELD ! !* 0. READ CPL_AROME to know which LB_fileds there are to read ! -------------------- -CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) -IF (IMASDEV > 48) THEN +IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>8) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN CALL IO_READ_FIELD(TPINIFILE,'CPL_AROME',LCPL_AROME) ELSE LCPL_AROME=.FALSE. diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90 index c16588e4a3c1b65e9c29478d52ffb6bb7b810479..84f0fea5d09a84f8503047f62cac9360d958975d 100644 --- a/src/MNH/ini_modeln.f90 +++ b/src/MNH/ini_modeln.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ####################### @@ -462,7 +462,6 @@ TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE ! Initial file INTEGER :: JSV ! Loop index INTEGER :: IRESP ! Return code of FM routines INTEGER :: ININAR ! File management variable -INTEGER :: IMASDEV ! version of MESONH in the input file INTEGER :: ILUOUT ! Logical unit number of output-listing CHARACTER(LEN=28) :: YNAME INTEGER :: IIU ! Upper dimension in x direction (local) @@ -550,7 +549,6 @@ NULLIFY(TZINITHALO3D_ll) ! ILUOUT = TLUOUT%NLU ! -CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) !------------------------------------------------------------------------------- ! !* 2. END OF READING @@ -1662,7 +1660,7 @@ IF (CCLOUD=='LIMA') CALL INIT_AEROSOL_PROPERTIES ! -------------------------------- ! CALL MPPDB_CHECK3D(XUT,"INI_MODEL_N-before read_field::XUT",PRECISION) -CALL READ_FIELD(TPINIFILE,IMASDEV, IIU,IJU,IKU,XTSTEP, & +CALL READ_FIELD(TPINIFILE,IIU,IJU,IKU,XTSTEP, & CGETTKET,CGETRVT,CGETRCT,CGETRRT,CGETRIT,CGETCIT, & CGETRST,CGETRGT,CGETRHT,CGETSVT,CGETSRCT,CGETSIGS,CGETCLDFR, & CGETBL_DEPTH,CGETSBL_DEPTH,CGETPHC,CGETPHR,CUVW_ADV_SCHEME, & @@ -2049,7 +2047,7 @@ ALLOCATE(ZSCA_ALB(IIU,IJU,NSWB_MNH)) ALLOCATE(ZEMIS (IIU,IJU,NLWB_MNH)) ALLOCATE(ZTSRAD (IIU,IJU)) ! -IF (IMASDEV>=46) THEN +IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>=6) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN CALL IO_READ_FIELD(TPINIFILE,'SURF',CSURF) ELSE CSURF = "EXTE" diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90 index 48e2a16bdbf6aa26b906b12f85a2338a5cadea05..a8e99f7c106eeb41eb70a88d1bc74444ed2780e7 100644 --- a/src/MNH/ini_segn.f90 +++ b/src/MNH/ini_segn.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ################### @@ -209,7 +209,6 @@ REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL mod LOGICAL :: GFOUND ! Return code when searching namelist CHARACTER (LEN=28) :: YINIFILE ! name of initial file CHARACTER (LEN=2) :: YMI ! string for model index -INTEGER :: IMASDEV ! version of MESOHN file INTEGER :: ILUOUT ! Logical unit number ! associated with CLUOUT ! @@ -384,10 +383,8 @@ END IF !* 6. READ in the LFI file SOME VARIABLES of MODD_CONF ! ------------------------------------------------ ! -CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) -! IF (CPROGRAM=='MESONH' .OR. CPROGRAM=='SPAWN ') THEN - IF (IMASDEV > 49) THEN + IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>9) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN CALL IO_READ_FIELD(TPINIFILE,'COUPLING',LCOUPLING) IF (LCOUPLING) THEN WRITE(ILUOUT,*) 'Error with the initial file' @@ -413,7 +410,7 @@ IF (KMI == 1) THEN ! Read the thinshell approximation CALL IO_READ_FIELD(TPINIFILE,'THINSHELL',LTHINSHELL) ! - IF (IMASDEV>=46) THEN + IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>=6) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN CALL IO_READ_FIELD(TPINIFILE,'L1D',L1D,IRESP) IF (IRESP/=0) L1D=.FALSE. ! @@ -427,7 +424,7 @@ IF (KMI == 1) THEN L2D=.FALSE. LPACK=.TRUE. END IF - IF (IMASDEV>=410) THEN + IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>=10) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN CALL IO_READ_FIELD(TPINIFILE,'LBOUSS',LBOUSS) END IF ! diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90 index 7e9e119aa1b5fb58b1edf6b34d458e24ecb87d7e..5e9dcd590e7dd73d0f2799ea585c1356df5efc9d 100644 --- a/src/MNH/ini_size_spawn.f90 +++ b/src/MNH/ini_size_spawn.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !######################### @@ -116,7 +116,6 @@ TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE ! Model 1 file INTEGER :: IRESP ! Return codes in FM routines INTEGER :: ILUOUT ! Logical unit number for the output listing INTEGER :: ININAR ! Number of articles present in the LFIFM file -INTEGER :: IMASDEV CHARACTER(LEN=2) :: YDIR ! Type of the data field in LFIFM file ! CHARACTER (LEN=5) :: YPRESOPT ! Pressure solver option of model 1 @@ -263,9 +262,7 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN ALLOCATE(XPGDYHAT(DIM_MODEL(1)%NJMAX+2*JPHEXT)) CALL IO_READ_FIELD(TPINIFILE,'YHAT',XPGDYHAT) ! - CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) - ! - IF (IMASDEV<=45) THEN + IF (TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'LONOR' diff --git a/src/MNH/init_for_convlfi.f90 b/src/MNH/init_for_convlfi.f90 index 1651fe8bcadf58b5b18a0a9b76a2ebd441aca251..d302211ec3d11f56f8a669b7cad85eaac39eb67e 100644 --- a/src/MNH/init_for_convlfi.f90 +++ b/src/MNH/init_for_convlfi.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !########################### @@ -117,7 +117,6 @@ REAL :: ZLATORI, ZLONORI ! lat and lon of left-bottom po INTEGER :: IIU,IJU ! Upper dimension in x,y direction (local) INTEGER :: IKU ! Upper dimension in z direction INTEGER :: IINFO_ll ! return code of // routines -INTEGER :: IMASDEV ! masdev of the file INTEGER :: IID TYPE(TFIELDDATA) :: TZFIELD ! @@ -193,12 +192,11 @@ CALL IO_READ_FIELD(TPINIFILE,'XHAT',XXHAT) CALL IO_READ_FIELD(TPINIFILE,'YHAT',XYHAT) ! IF (.NOT.LCARTESIAN) THEN - CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) CALL IO_READ_FIELD(TPINIFILE,'RPK',XRPK) CALL IO_READ_FIELD(TPINIFILE,'LONORI',XLONORI) CALL IO_READ_FIELD(TPINIFILE,'LATORI',XLATORI) ! - IF (IMASDEV<=45) THEN + IF (TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'LONOR' diff --git a/src/MNH/mesonh.f90 b/src/MNH/mesonh.f90 index 6234bbf8cd45a4c0799e49497d6ad80786e4c188..b058f104ff5dbfcc4988b5a2d48e067250a7238c 100644 --- a/src/MNH/mesonh.f90 +++ b/src/MNH/mesonh.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ############## @@ -42,7 +42,7 @@ !! IMPLICIT ARGUMENTS !! ------------------ !! -!! MODD_CONF: NMODEL, NMASDEV, CPROGRAM +!! MODD_CONF: NMODEL, CPROGRAM !! MODD_CONF_n: CSTORAGE_TYPE !! !! diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90 index 6b8ed11cd488f50fd0858727452991e2b6db54f7..69040521e955c96f05312eeab4e62ebd18061d98 100644 --- a/src/MNH/prep_surfex.f90 +++ b/src/MNH/prep_surfex.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 2004-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. --------------------------------------------------------------- ! ############################# @@ -31,7 +31,7 @@ !* 0. DECLARATIONS ! ------------ ! -USE MODD_CONF, ONLY : CPROGRAM,NMASDEV,NBUGFIX,CBIBUSER,& +USE MODD_CONF, ONLY : CPROGRAM,& L1D, L2D, LPACK USE MODD_CONF_n, ONLY : CSTORAGE_TYPE USE MODD_IO_ll, ONLY : TFILEDATA, NIO_VERB, NVERB_DEBUG, TFILE_SURFEX diff --git a/src/MNH/read_all_data_mesonh_case.f90 b/src/MNH/read_all_data_mesonh_case.f90 index 8fe3c43b02633c6923ff11a354b573d06e275091..0b619c2a13c02f3d698c93e9e32f93cb49da2153 100644 --- a/src/MNH/read_all_data_mesonh_case.f90 +++ b/src/MNH/read_all_data_mesonh_case.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !#################################### @@ -185,8 +185,6 @@ CHARACTER(LEN=28) :: YPGD_NAME, YPGD_DAD_NAME CHARACTER(LEN=28) :: YOUTFILE CHARACTER(LEN=2) :: YPGD_TYPE ! -INTEGER :: IMASDEV ! Masdev version -! !* temporary namelist configuration variables ! INTEGER :: IVERB ! verbosity level @@ -312,8 +310,7 @@ CALL IO_READ_FIELD(TPPGDFILE,'ZS',XZS) CALL ZS_BOUNDARY(XZS,XZS_LS) ! ALLOCATE(XZSMT(IISUP_LS-IIINF_LS+1,IJSUP_LS-IJINF_LS+1)) -CALL IO_READ_FIELD(TPPGDFILE,'MASDEV',IMASDEV) -IF (IMASDEV<=46) THEN +IF (TPPGDFILE%NMNHVERSION(1)<4 .OR. (TPPGDFILE%NMNHVERSION(1)==4 .AND. TPPGDFILE%NMNHVERSION(2)<=6)) THEN XZSMT = XZS ELSE CALL IO_READ_FIELD(TPPGDFILE,'ZSMT',XZSMT) diff --git a/src/MNH/read_dummy_gr_fieldn.f90 b/src/MNH/read_dummy_gr_fieldn.f90 index 3f7cd684255864349b1dd3c663c7ba876d1af5a7..be766bd67b5efec20925e2b75e27a9a556ddf911 100644 --- a/src/MNH/read_dummy_gr_fieldn.f90 +++ b/src/MNH/read_dummy_gr_fieldn.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- MODULE MODI_READ_DUMMY_GR_FIELD_n @@ -99,8 +99,6 @@ CHARACTER (LEN=20 ) :: YSTRING20 ! string CHARACTER (LEN=3 ) :: YSTRING03 ! string INTEGER :: JDUMMY ! Loop index for cover data ! -INTEGER :: IMASDEV ! masdev used for creation of input FM file -! REAL, DIMENSION(:,:), ALLOCATABLE :: ZWORK ! work array read in the file INTEGER :: IIWORK ! 1st dimension of work array INTEGER :: IJWORK ! 2nd dimension of work array @@ -112,15 +110,7 @@ TYPE(TFIELDDATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! -!* 1.. TEST MASDEV VERSION OF INPUT FILE -! --------------------------------- -! -CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV,IRESP) -IF (IRESP /= 0) IMASDEV=33 -! -!------------------------------------------------------------------------------- -! -!* 2.. READ DIMENSIONS IN THE FILE +!* 1.. READ DIMENSIONS IN THE FILE ! --------------------------- ! IF (OREAD_ALL) THEN @@ -152,11 +142,11 @@ END IF ! !------------------------------------------------------------------------------- ! -!* 3.. READ DUMMY VARIABLES +!* 2.. READ DUMMY VARIABLES ! ---------------------- ! ! -IF (IMASDEV>=40) THEN +IF (TPINIFILE%NMNHVERSION(1)>=4) THEN TZFIELD%CMNHNAME = 'DUMMY_GR_NBR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'DUMMY_GR_NBR' diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90 index 355c4cf6ccc05315a294cc8e32d9248fe07546b6..10730a3ead87e0d0197687351e0b17f8e5ce34fd 100644 --- a/src/MNH/read_field.f90 +++ b/src/MNH/read_field.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. ! ###################### MODULE MODI_READ_FIELD @@ -8,7 +8,7 @@ ! INTERFACE ! - SUBROUTINE READ_FIELD(TPINIFILE,KMASDEV,KIU,KJU,KKU,PTSTEP, & + SUBROUTINE READ_FIELD(TPINIFILE,KIU,KJU,KKU,PTSTEP, & HGETTKET,HGETRVT,HGETRCT,HGETRRT,HGETRIT,HGETCIT, & HGETRST,HGETRGT,HGETRHT,HGETSVT,HGETSRCT,HGETSIGS,HGETCLDFR, & HGETBL_DEPTH,HGETSBL_DEPTH,HGETPHC,HGETPHR,HUVW_ADV_SCHEME, & @@ -35,8 +35,6 @@ USE MODD_TIME ! for type DATE_TIME ! ! TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE !Initial file -INTEGER, INTENT(IN) :: KMASDEV - ! version of the input file INTEGER, INTENT(IN) :: KIU, KJU, KKU ! array sizes in x, y and z directions REAL, INTENT(IN) :: PTSTEP @@ -126,7 +124,7 @@ END INTERFACE END MODULE MODI_READ_FIELD ! ! ######################################################################## - SUBROUTINE READ_FIELD(TPINIFILE,KMASDEV,KIU,KJU,KKU,PTSTEP, & + SUBROUTINE READ_FIELD(TPINIFILE,KIU,KJU,KKU,PTSTEP, & HGETTKET,HGETRVT,HGETRCT,HGETRRT,HGETRIT,HGETCIT, & HGETRST,HGETRGT,HGETRHT,HGETSVT,HGETSRCT,HGETSIGS,HGETCLDFR, & HGETBL_DEPTH,HGETSBL_DEPTH,HGETPHC,HGETPHR,HUVW_ADV_SCHEME, & @@ -293,8 +291,6 @@ IMPLICIT NONE ! ! TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE !Initial file -INTEGER, INTENT(IN) :: KMASDEV - ! version of the input file INTEGER, INTENT(IN) :: KIU, KJU, KKU ! array sizes in x, y and z directions REAL, INTENT(IN) :: PTSTEP @@ -412,7 +408,7 @@ ZWORK = 0.0 ! !* 2.1 Time t: ! -IF (KMASDEV<50) THEN +IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('UT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'UM' @@ -447,7 +443,7 @@ ENDIF ! SELECT CASE(HGETTKET) CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('TKET',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'TKEM' @@ -455,7 +451,8 @@ SELECT CASE(HGETTKET) ELSE CALL IO_READ_FIELD(TPINIFILE,'TKET',PTKET) END IF - IF (KMASDEV>50 .AND. (CCONF == 'RESTA') .AND. LSPLIT_CFL) THEN + IF ( ( (TPINIFILE%NMNHVERSION(1)==5 .AND. TPINIFILE%NMNHVERSION(2)>0) .OR. TPINIFILE%NMNHVERSION(1)>5 ) & + .AND. (CCONF == 'RESTA') .AND. LSPLIT_CFL) THEN CALL IO_READ_FIELD(TPINIFILE,'TKEMS',PRTKEMS) END IF CASE('INIT') @@ -465,7 +462,7 @@ END SELECT ! SELECT CASE(HGETRVT) ! vapor CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RVT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RVM' @@ -479,7 +476,7 @@ END SELECT ! SELECT CASE(HGETRCT) ! cloud CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RCT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RCM' @@ -493,7 +490,7 @@ END SELECT ! SELECT CASE(HGETRRT) ! rain CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RRT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RRM' @@ -507,7 +504,7 @@ END SELECT ! SELECT CASE(HGETRIT) ! cloud ice CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RIT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RIM' @@ -521,7 +518,7 @@ END SELECT ! SELECT CASE(HGETRST) ! snow CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RST',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RSM' @@ -535,7 +532,7 @@ END SELECT ! SELECT CASE(HGETRGT) ! graupel CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RGT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RGM' @@ -549,7 +546,7 @@ END SELECT ! SELECT CASE(HGETRHT) ! hail CASE('READ') - IF (KMASDEV<50) THEN + IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RHT',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'RHM' diff --git a/src/MNH/read_grid_time_mesonh_case.f90 b/src/MNH/read_grid_time_mesonh_case.f90 index e083859bacbd8a87ca81ded0ae6ea4ca0028fac1..9c2c6669ee73b63f80a483ca4007bcedb86eb5a5 100644 --- a/src/MNH/read_grid_time_mesonh_case.f90 +++ b/src/MNH/read_grid_time_mesonh_case.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !##################################### @@ -118,7 +118,6 @@ CHARACTER(LEN=*), INTENT(OUT):: HDAD_NAME! dad name of the FM file REAL :: ZEPS ! a little number INTEGER :: IRESP ! return-code INTEGER :: ILUOUT0 ! logical number for listing file -INTEGER :: IMASDEV ! Masdev version INTEGER :: JL ! loop controls INTEGER :: ILMAX_LS ! @@ -223,9 +222,8 @@ ILMAX_LS=ILMAX_LS+2*JPVEXT ALLOCATE(XZHAT_LS(ILMAX_LS)) CALL IO_READ_FIELD(TZFMFILE,'ZHAT',XZHAT_LS) ! -CALL IO_READ_FIELD(TZFMFILE,'MASDEV',IMASDEV) CALL DEFAULT_SLEVE(LSLEVE_LS,XLEN1_LS,XLEN2_LS) -IF (IMASDEV<=46) THEN +IF (TZFMFILE%NMNHVERSION(1)<4 .OR. (TZFMFILE%NMNHVERSION(1)==4 .AND. TZFMFILE%NMNHVERSION(2)<=6)) THEN LSLEVE_LS = .FALSE. ELSE CALL IO_READ_FIELD(TZFMFILE,'SLEVE',LSLEVE_LS) diff --git a/src/MNH/read_hgrid.f90 b/src/MNH/read_hgrid.f90 index e8b64f378a1a62fc8df5e9ef70bbdde47baf08dc..b501ea10088792d607002228cf6c7a30611a220f 100644 --- a/src/MNH/read_hgrid.f90 +++ b/src/MNH/read_hgrid.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ###################### @@ -111,7 +111,6 @@ CHARACTER(LEN=2) , INTENT(OUT) :: HSTORAGE_TYPE !* 0.2 declarations of local variables ! INTEGER :: IRESP -INTEGER :: IMASDEV INTEGER :: IID, IMI LOGICAL :: G1D,G2D,GPACK INTEGER :: IINFO_ll @@ -152,7 +151,6 @@ END IF CALL IO_READ_FIELD(TPFMFILE,'MY_NAME', HMY_NAME) CALL IO_READ_FIELD(TPFMFILE,'DAD_NAME', HDAD_NAME) CALL IO_READ_FIELD(TPFMFILE,'STORAGE_TYPE',HSTORAGE_TYPE) -CALL IO_READ_FIELD(TPFMFILE,'MASDEV', IMASDEV) ! !* 2.2 Grid information : ! ---------------- @@ -199,7 +197,7 @@ IF (IRESP/=0) GPACK=.TRUE. ! CALL SET_FMPACK_ll(G1D,G2D,GPACK) !------------------------------------------------------------------------------- -IF (IMASDEV<=45) THEN +IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'LONOR' diff --git a/src/MNH/read_hgridn.f90 b/src/MNH/read_hgridn.f90 index 6d10da610fbf6e97c0863410f7ae23361f7e47ae..4429ec2faa4e895c8e65efb3b3f6f32357bf6e1b 100644 --- a/src/MNH/read_hgridn.f90 +++ b/src/MNH/read_hgridn.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ####################### @@ -108,7 +108,6 @@ INTEGER :: ILUOUT INTEGER :: IRESP REAL :: ZLAT0,ZLON0,ZRPK,ZBETA REAL :: ZEPS = 1.E-10 -INTEGER :: IMASDEV INTEGER :: IID, IMI ! !------------------------------------------------------------------------------- @@ -121,6 +120,7 @@ INTEGER :: IXOR, IYOR, IXEND, IYEND INTEGER :: IJPHEXT TYPE(TFIELDDATA) :: TZFIELD ! +print *,'PW: READ_HGRIDn called' ILUOUT = TLUOUT%NLU ! !* 1. General information : @@ -129,12 +129,12 @@ ILUOUT = TLUOUT%NLU CALL IO_READ_FIELD(TPFMFILE,'MY_NAME', HMY_NAME) CALL IO_READ_FIELD(TPFMFILE,'DAD_NAME', HDAD_NAME) CALL IO_READ_FIELD(TPFMFILE,'STORAGE_TYPE',HSTORAGE_TYPE) -CALL IO_READ_FIELD(TPFMFILE,'MASDEV', IMASDEV) ! !* 2. Grid information : ! ---------------- ! -IF(IMASDEV<=45 .AND. HSTORAGE_TYPE == 'PG') THEN +IF( (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) & + .AND. HSTORAGE_TYPE == 'PG') THEN LCARTESIAN=.FALSE. ELSE CALL IO_READ_FIELD(TPFMFILE,'CARTESIAN',LCARTESIAN) @@ -268,7 +268,7 @@ IF (.NOT. (ASSOCIATED(XZSMT))) ALLOCATE(XZSMT(NIMAX+2*JPHEXT,NJMAX+2*JPHEXT)) ENDIF !JUAN REALZ -IF (IMASDEV<=46) THEN +IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=6)) THEN XZSMT = XZS ELSE CALL IO_READ_FIELD(TPFMFILE,'ZSMT',XZSMT) @@ -276,7 +276,7 @@ ELSE END IF ! !------------------------------------------------------------------------------- -IF (IMASDEV<=45) THEN +IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) TZFIELD = TFIELDLIST(IID) TZFIELD%CMNHNAME = 'LONOR' diff --git a/src/MNH/read_surf_mnh.f90 b/src/MNH/read_surf_mnh.f90 index e2a5d849762cc77591d69896330c6880c355b677..21ddfeba6708d033295a94378d08843ffff32332 100644 --- a/src/MNH/read_surf_mnh.f90 +++ b/src/MNH/read_surf_mnh.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 2003-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! Modifications: @@ -164,7 +164,6 @@ CHARACTER(LEN=100), INTENT(OUT) :: HCOMMENT ! comment INTEGER :: IGRID ! IGRID : grid indicator INTEGER :: ILENCH ! ILENCH : length of comment string INTEGER :: ILUOUT -INTEGER :: IMASDEV INTEGER :: IID,IRESP INTEGER :: IIMAX,IJMAX REAL,DIMENSION(:), ALLOCATABLE :: ZXHAT,ZYHAT @@ -178,8 +177,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX0_MNH',TRIM(TPINFILE%CNAME)//': readi ILUOUT = TOUT%NLU ! IF (HREC=='LONORI' .OR. HREC=='LATORI') THEN - CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - IF (IMASDEV<=45) THEN + IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN ZLATORI = XUNDEF ZLONORI = XUNDEF !* saves projection parameters of MODD_GRID @@ -333,7 +331,6 @@ REAL, DIMENSION(:,:), ALLOCATABLE :: ZWORK ! work array read in the file REAL, DIMENSION(:), ALLOCATABLE :: ZWORK1D! work array read in the file REAL :: ZW ! work value -INTEGER :: IMASDEV CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=2) :: YSTORAGE_TYPE ! @@ -470,8 +467,7 @@ ELSE YREC = ' ' YREC(1:LEN(HREC)) = HREC IF (HREC(1:8)=='Q_CANYON') THEN - CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - IF (IMASDEV<=45) THEN + IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YSTORAGE_TYPE) IF (YSTORAGE_TYPE=='TT') THEN PFIELD = 0. @@ -483,15 +479,15 @@ ELSE END IF END IF IF (HREC(1:8)=='T_CANYON') THEN - CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - IF (IMASDEV<=45) THEN + IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YSTORAGE_TYPE) IF (YSTORAGE_TYPE=='TT') YREC = 'T_ROAD1 ' END IF END IF IF (HREC(1:7)=='SSO_DIR') THEN - CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - IF (IMASDEV<=45) YREC = 'SSO_DIRECTION ' + IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN + YREC = 'SSO_DIRECTION ' + END IF END IF ! ALLOCATE(ZWORK(IIU,IJU)) @@ -1328,7 +1324,6 @@ INTEGER :: IGRID ! IGRID : grid indicator INTEGER :: ILENCH ! ILENCH : length of comment string INTEGER :: ILUOUT ! -INTEGER :: IMASDEV ! mesonh version of the input file INTEGER :: ILUDES ! .des file logical unit ! LOGICAL :: GFOUND @@ -1343,72 +1338,73 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': readi ! KRESP = 0 ILUOUT = TOUT%NLU -! On lit la version de Mesonh usilisée pour fabriquer le fichier ! -CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - -IF (HREC=='SNOW_VEG_TYPE'.AND.IMASDEV<46) THEN - HFIELD='D95' -ELSE IF (HREC=='SNOW_ROAD_TYPE'.AND.IMASDEV<46) THEN - HFIELD='1-L' -ELSE IF (HREC=='SNOW_ROOF_TYPE'.AND.IMASDEV<46) THEN - HFIELD='1-L' -ELSE IF (HREC=='PHOTO'.AND.IMASDEV<46) THEN - HFIELD='NON' -ELSE IF ( HREC=='GRID_TYPE'.AND. (IMASDEV<46 .OR. & +IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN + SELECT CASE(TRIM(HREC)) + CASE('SNOW_VEG_TYPE') + HFIELD='D95' + CASE('SNOW_ROAD_TYPE') + HFIELD='1-L' + CASE('SNOW_ROOF_TYPE') + HFIELD='1-L' + CASE('PHOTO') + HFIELD='NON' + CASE('ISBA') + HFIELD = '3-L' + CASE('GRID_TYPE') + IF (LCARTESIAN) THEN + HFIELD="CARTESIAN " + ELSE + HFIELD='CONF PROJ ' + END IF + CASE('NATURE','SEA','WATER','TOWN') + IF (CPROGRAM=='REAL ' .OR. CPROGRAM=='IDEAL ') THEN + CGROUND='ISBA' + ELSE + CGROUND='NONE' + ILUDES = TPINFILE%TDESFILE%NLU + CALL POSNAM(ILUDES,'NAM_PARAMN',GFOUND,ILUOUT) + IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAMn) + END IF + IF (CGROUND=='NONE') THEN + HFIELD ='NONE ' + ELSE IF (CGROUND=='FLUX') THEN + HFIELD ='FLUX ' + ELSE IF (CGROUND=='ISBA') THEN + IF(HREC=='SEA ') HFIELD ='SEAFLX' + IF(HREC=='WATER ') HFIELD ='WATFLX' + IF(HREC=='NATURE') HFIELD ='ISBA ' + IF(HREC=='TOWN ') HFIELD ='TEB ' + ELSE + CALL PRINT_MSG(NVERB_FATAL,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': error when reading article '//TRIM(HREC)// & + ' with CGROUND='//TRIM(CGROUND)) + END IF + CASE DEFAULT + CALL PREPARE_METADATA_READ_SURF(HREC,'--',0,TYPECHAR,0,'READ_SURFC0_MNH',TZFIELD) + CALL IO_READ_FIELD(TPINFILE,TZFIELD,HFIELD,KRESP) + ! + IF (KRESP /=0) THEN + CALL PRINT_MSG(NVERB_FATAL,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': error when reading article '//TRIM(HREC)// & + ' default value may be used, who knows???') + ENDIF + END SELECT +ELSE IF ( HREC=='GRID_TYPE'.AND. ( & (CPROGRAM=='IDEAL ' .AND. .NOT.ASSOCIATED(TPGDFILE,TOUT)) .OR. & (CPROGRAM=='SPAWN ' .AND. .NOT.ASSOCIATED(TPGDFILE,TOUT)) .OR. & - CPROGRAM=='ZOOMPG' )) THEN + CPROGRAM=='ZOOMPG' )) THEN IF (LCARTESIAN) THEN HFIELD="CARTESIAN " ELSE HFIELD='CONF PROJ ' END IF -ELSE IF ( HREC=='ISBA ' .AND.IMASDEV<46) THEN - HFIELD = '3-L' -ELSE IF ( (HREC=='NATURE'.OR.HREC=='SEA '.OR.HREC=='WATER ' & - .OR.HREC=='TOWN ') .AND.IMASDEV<46) THEN - IF (CPROGRAM=='REAL ' .OR. CPROGRAM=='IDEAL ') THEN - CGROUND='ISBA' - ELSE - CGROUND='NONE' - ILUDES = TPINFILE%TDESFILE%NLU - CALL POSNAM(ILUDES,'NAM_PARAMN',GFOUND,ILUOUT) - IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAMn) - END IF - IF (CGROUND=='NONE') THEN - HFIELD ='NONE ' - ELSE IF (CGROUND=='FLUX') THEN - HFIELD ='FLUX ' - ELSE IF (CGROUND=='ISBA') THEN - IF(HREC=='SEA ') HFIELD ='SEAFLX' - IF(HREC=='WATER ') HFIELD ='WATFLX' - IF(HREC=='NATURE') HFIELD ='ISBA ' - IF(HREC=='TOWN ') HFIELD ='TEB ' - ELSE - WRITE(ILUOUT,*) ' ' - WRITE(ILUOUT,*) 'error when reading article', HREC,'KRESP=',KRESP - WRITE(ILUOUT,*) 'avec CGROUND = "',CGROUND,'"' - !callabortstop -CALL ABORT - STOP - END IF - ELSE - CALL PREPARE_METADATA_READ_SURF(HREC,'--',0,TYPECHAR,0,'READ_SURFC0_MNH',TZFIELD) - CALL IO_READ_FIELD(TPINFILE,TZFIELD,HFIELD,KRESP) - ! - IF (KRESP /=0) THEN - WRITE(ILUOUT,*) 'WARNING' - WRITE(ILUOUT,*) '-------' - WRITE(ILUOUT,*) 'error when reading article ', HREC,'KRESP=',KRESP - WRITE(ILUOUT,*) 'default value may be used, who knows???' - WRITE(ILUOUT,*) ' ' - !callabortstop -CALL ABORT - STOP - ENDIF - + CALL PREPARE_METADATA_READ_SURF(HREC,'--',0,TYPECHAR,0,'READ_SURFC0_MNH',TZFIELD) + CALL IO_READ_FIELD(TPINFILE,TZFIELD,HFIELD,KRESP) + ! + IF (KRESP /=0) THEN + CALL PRINT_MSG(NVERB_FATAL,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': error when reading article '//TRIM(HREC)// & + ' default value may be used, who knows???') + ENDIF ENDIF ! !------------------------------------------------------------------------------- @@ -1591,7 +1587,6 @@ CHARACTER(LEN=100), INTENT(OUT) :: HCOMMENT ! comment ! !* 0.2 Declarations of local variables ! -INTEGER :: IMASDEV ! MESONH version INTEGER :: ILUOUT TYPE(TFIELDDATA) :: TZFIELD !------------------------------------------------------------------------------- @@ -1600,8 +1595,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFL0_MNH',TRIM(TPINFILE%CNAME)//': readi ILUOUT = TOUT%NLU ! IF (HREC(1:4)=='BUDC') THEN - CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - IF (IMASDEV<=45) THEN + IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN OFIELD = .FALSE. KRESP = 0 RETURN @@ -1609,8 +1603,7 @@ IF (HREC(1:4)=='BUDC') THEN END IF ! IF (HREC=='ECOCLIMAP') THEN - CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) - IF (IMASDEV<=46) THEN + IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=6)) THEN OFIELD = .TRUE. KRESP = 0 RETURN @@ -1703,7 +1696,6 @@ CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written CHARACTER(LEN=40) :: YFILETYPE40! MESONH file type CHARACTER(LEN=2) :: YFILETYPE2 ! MESONH file type INTEGER, DIMENSION(3) :: ITDATE -INTEGER :: IMASDEV ! MESONH version TYPE(TFIELDDATA) :: TZFIELD TYPE(DATE_TIME) :: TZDATETIME !------------------------------------------------------------------------------- @@ -1712,8 +1704,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFT0_MNH',TRIM(TPINFILE%CNAME)//': readi ! ILUOUT = TOUT%NLU ! -CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) -IF (IMASDEV<46) THEN +IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YFILETYPE2) ELSE TZFIELD%CMNHNAME = 'STORAGETYPE' @@ -1830,7 +1821,6 @@ CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written CHARACTER(LEN=40) :: YFILETYPE40! MESONH file type CHARACTER(LEN=2) :: YFILETYPE2 ! MESONH file type INTEGER, DIMENSION(3,KL1) :: ITDATE -INTEGER :: IMASDEV ! MESONH version TYPE(TFIELDDATA) :: TZFIELD !------------------------------------------------------------------------------- ! @@ -1838,8 +1828,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFT1_MNH',TRIM(TPINFILE%CNAME)//': readi ! ILUOUT = TOUT%NLU ! -CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV) -IF (IMASDEV<46) THEN +IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YFILETYPE2) ELSE TZFIELD%CMNHNAME = 'STORAGETYPE' diff --git a/src/MNH/set_grid.f90 b/src/MNH/set_grid.f90 index 9951b1470eabbebe8aa4ad7ab4a72bd187400adb..0880b974cd302c996e1bb4d1b9ca62e8ffbc9edc 100644 --- a/src/MNH/set_grid.f90 +++ b/src/MNH/set_grid.f90 @@ -335,12 +335,9 @@ INTEGER :: IIUP,IJUP ,ISUP=1 ! size of working ! window arrays, ! supp. time steps ! -INTEGER :: IMASDEV ! masdev of the file TYPE(TFIELDDATA) :: TZFIELD !------------------------------------------------------------------------------- ! -CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) -! !* 1. READ GRID VARIABLES IN INITIAL FILE ! ------------------------------------ ! @@ -369,7 +366,7 @@ CALL IO_READ_FIELD(TPINIFILE,'YHAT',PYHAT) IF (.NOT.LCARTESIAN) THEN CALL IO_READ_FIELD(TPINIFILE,'RPK',XRPK) ! - IF (IMASDEV > 45) THEN + IF ( (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>5) .OR. TPINIFILE%NMNHVERSION(1)>4 ) THEN CALL IO_READ_FIELD(TPINIFILE,'LONORI',PLONORI) CALL IO_READ_FIELD(TPINIFILE,'LATORI',PLATORI) ! @@ -403,7 +400,7 @@ CALL IO_READ_FIELD(TPINIFILE,'ZTOP',PZTOP) ! CALL DEFAULT_SLEVE(OSLEVE,PLEN1,PLEN2) ! -IF (IMASDEV<=46) THEN +IF ( TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=6) ) THEN PZSMT = PZS OSLEVE = .FALSE. ELSE diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90 index e9312af77e59630bb05a65745b075435312dfa86..af620d5b8b42d0197d85d8ce18f6ffeddc23258d 100644 --- a/src/MNH/zoom_pgd.f90 +++ b/src/MNH/zoom_pgd.f90 @@ -46,8 +46,7 @@ !* 0. DECLARATION ! ----------- ! -USE MODD_CONF, ONLY : CPROGRAM, NMASDEV, NBUGFIX, CBIBUSER, & - L1D, L2D, LPACK +USE MODD_CONF, ONLY : CPROGRAM, L1D, L2D, LPACK USE MODD_IO_ll, ONLY: NIO_VERB,NVERB_DEBUG,TFILE_OUTPUTLISTING,TFILEDATA USE MODD_LUNIT, ONLY : CLUOUT0, TLUOUT0, TOUTDATAFILE USE MODD_PARAMETERS, ONLY : XUNDEF, NUNDEF, JPVEXT, JPHEXT, JPMODELMAX