G.Delautier 19/09/2017 : bug MNH2LPDM
authorGaelle DELAUTIER <gaelle.delautier@meteo.fr>
Tue, 19 Sep 2017 08:46:08 +0000 (10:46 +0200)
committerGaelle DELAUTIER <gaelle.delautier@meteo.fr>
Tue, 19 Sep 2017 08:46:08 +0000 (10:46 +0200)
src/MNH/mnh2lpdm.f90
src/MNH/mnh2lpdm_ech.f90
src/MNH/mnh2lpdm_ini.f90
src/MNH/read_hgrid.f90

index 2cb6953..d567c6b 100644 (file)
 !*     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')
 !
 !
index 33fee06..6655be6 100644 (file)
@@ -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
index 3c4c277..c8bf72e 100644 (file)
@@ -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
index d7e1e4e..972786c 100644 (file)
@@ -91,6 +91,7 @@ USE MODD_PGDGRID
 USE MODD_GRID
 USE MODD_PARAMETERS
 USE MODD_LUNIT
+USE MODD_CONF
 !
 USE MODE_FMREAD
 USE MODE_GRIDPROJ
@@ -132,13 +133,21 @@ 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
+  END IF
 END IF
 !
 !*       2.     READING IN MODD_PGD...