diff --git a/src/MNH/mnh2lpdm.f90 b/src/MNH/mnh2lpdm.f90 index 2cb695388a4a6125e53c1127fb68433a8dacfb74..d567c6b09f7aa7647d39bbcba0b4f373a34f518d 100644 --- a/src/MNH/mnh2lpdm.f90 +++ b/src/MNH/mnh2lpdm.f90 @@ -23,8 +23,11 @@ !* 0.1 Modules. ! USE MODD_MNH2LPDM -USE MODI_IO_LL +USE MODE_IO_LL USE MODD_CONF, ONLY : CPROGRAM +USE MODE_MODELN_HANDLER +USE MODN_CONFIO +USE MODE_POS ! USE MODI_MNH2LPDM_INI USE MODI_MNH2LPDM_ECH @@ -38,6 +41,7 @@ CHARACTER(LEN=28) :: YFNML,YFLOG ! Nom NAMELIST et LOG. INTEGER :: IFNML,IFLOG ! Unite NAMELIST et LOG. INTEGER :: IFMTO,IFGRI,IFDAT ! Unite METEO et GRILLE. INTEGER :: IREP,IVERB,JFIC +LOGICAL :: GFOUND ! Return code when searching namelist ! ! ! @@ -45,6 +49,9 @@ INTEGER :: IREP,IVERB,JFIC !* 1. INITIALISATION. ! --------------- ! +CPROGRAM='M2LPDM' +CALL GOTO_MODEL(1) +! !* 1.1 Variables generales. ! YFLOG = 'METEO.log' @@ -58,7 +65,7 @@ IFDAT = 53 ! !* 1.2 Initialisation routines LL. ! -CALL INITIO_LL +CALL INITIO_ll() ! ! !* 1.3 Ouverture du fichier log. @@ -75,6 +82,12 @@ print *,'Ouverture fichier Namlist OK' READ(UNIT=IFNML,NML=NAM_TURB) READ(UNIT=IFNML,NML=NAM_FIC) print *,'Lecture de NAM_FIC OK.' + +CALL POSNAM(IFNML,'NAM_CONFIO',GFOUND) +IF (GFOUND) THEN + READ(UNIT=IFNML,NML=NAM_CONFIO) +END IF +CALL SET_CONFIO_ll(.FALSE., .FALSE., .FALSE.) CALL CLOSE_LL(YFNML,IREP,'KEEP') ! ! diff --git a/src/MNH/mnh2lpdm_ech.f90 b/src/MNH/mnh2lpdm_ech.f90 index 33fee06aee494f590434c6c380b783cdb234b83d..6655be62219569ed67e2d89010b06ddbfe58d5e3 100644 --- a/src/MNH/mnh2lpdm_ech.f90 +++ b/src/MNH/mnh2lpdm_ech.f90 @@ -29,9 +29,9 @@ USE MODD_TIME ! USE MODD_MNH2LPDM ! -USE MODI_IO_LL -USE MODI_FM_LL -USE MODI_FMREAD_LL +USE MODE_IO_ll +USE MODE_FM +USE MODE_FMREAD USE MODI_INI_CST ! IMPLICIT NONE diff --git a/src/MNH/mnh2lpdm_ini.f90 b/src/MNH/mnh2lpdm_ini.f90 index 3c4c2771d5cb61b957bedc9b98e3f0342c114ea5..c8bf72ebef74b234de875450d9fe94d954499460 100644 --- a/src/MNH/mnh2lpdm_ini.f90 +++ b/src/MNH/mnh2lpdm_ini.f90 @@ -46,7 +46,7 @@ USE MODD_LUNIT ! USE MODI_INI_CST USE MODI_READ_HGRID -USE MODI_FMREAD_LL +USE MODE_FMREAD ! USE MODE_GRIDPROJ USE MODI_XYTOLATLON @@ -229,9 +229,11 @@ NSJMAX = NSJE-NSJB+1 ! ------------------------------- ! ! Domaine horizontal Meso-NH. +!modif 12.2014 : passage a 1 seul domaine MesoNH ! --------------------------- WRITE(KFLOG,'(I1,a12)') IGRILLE,' ngrid ' -WRITE(KFLOG,'(a13)') '2 ngrids' +!WRITE(KFLOG,'(a13)') '2 ngrids' +WRITE(KFLOG,'(a13)') '1 ngrids' WRITE(KFLOG,'(i4,3x,a6)') NSIMAX,'nx ' WRITE(KFLOG,'(i4,3x,a6)') NSJMAX,'ny ' WRITE(KFLOG,'(i4,3x,a6)') NKU-2,'nz ' @@ -396,9 +398,13 @@ WRITE(KFLOG,*)' ==================================================' WRITE(KFLOG,*) 'TERRAIN TOPOGRAPHY' c=1 a=0 -300 format(i2,'|',18i4) -400 format(i2,'|',18(f4.2)) -301 format(3x,18('__',i2)) +!modif 12/2014 : passage a une grille haute resolution MesoNH, on depasse 99 +!300 format(i2,'|',18i4) +300 format(i3,'|',18i5) +!400 format(i2,'|',18(f4.2)) +!400 format(i3,'|',18(f5.2)) +!301 format(3x,18('__',i2)) +301 format(3x,18('__',i3)) ALLOCATE(TAB2D(NSIMAX,NSJMAX)) ALLOCATE(TAB1D(NSIMAX)) DO I=1,NSIMAX diff --git a/src/MNH/read_hgrid.f90 b/src/MNH/read_hgrid.f90 index d7e1e4ed5adf0a1f2e7cb3eb07207e5feb769715..000cdc2123fd2182c1ecfc0eb4923931f7e6461c 100644 --- a/src/MNH/read_hgrid.f90 +++ b/src/MNH/read_hgrid.f90 @@ -79,6 +79,7 @@ END MODULE MODI_READ_HGRID !! ------------- !! Original 26/09/96 !! M.Faivre 2014 +!! G.Delautier 2017 BUG for MNH2LPDM !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -91,6 +92,7 @@ USE MODD_PGDGRID USE MODD_GRID USE MODD_PARAMETERS USE MODD_LUNIT +USE MODD_CONF ! USE MODE_FMREAD USE MODE_GRIDPROJ @@ -132,13 +134,22 @@ IF (KMI<0 .OR. KMI>JPMODELMAX) THEN STOP ENDIF IF (KMI/=0) THEN - IMI = GET_CURRENT_MODEL_INDEX() - CALL GOTO_MODEL(KMI) - CALL GO_TOMODEL_ll(KMI, IINFO_ll) - CALL READ_HGRID_n(HFMFILE,HMY_NAME,HDAD_NAME,HSTORAGE_TYPE) - CALL GO_TOMODEL_ll(IMI, IINFO_ll) - CALL GOTO_MODEL(IMI) - RETURN + IF (CPROGRAM/='M2LPDM') THEN + IMI = GET_CURRENT_MODEL_INDEX() + CALL GOTO_MODEL(KMI) + CALL GO_TOMODEL_ll(KMI, IINFO_ll) + CALL READ_HGRID_n(HFMFILE,HMY_NAME,HDAD_NAME,HSTORAGE_TYPE) + CALL GO_TOMODEL_ll(IMI, IINFO_ll) + CALL GOTO_MODEL(IMI) + RETURN + ELSE + IMI = GET_CURRENT_MODEL_INDEX() + CALL GOTO_MODEL(KMI) + CALL READ_HGRID_n(HFMFILE,HMY_NAME,HDAD_NAME,HSTORAGE_TYPE) + CALL GOTO_MODEL(IMI) + RETURN + RETURN + END IF END IF ! !* 2. READING IN MODD_PGD...