Gaelle 18/01/2016: modif for PREPLL from M.Moge
authorGaelle Tanguy <gaelle.tanguy@meteo.fr>
Mon, 18 Jan 2016 10:41:47 +0000 (10:41 +0000)
committerPhilippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Thu, 19 May 2016 14:44:49 +0000 (16:44 +0200)
src/MNH/get_nb_procio_read_mnh.f90 [new file with mode: 0644]
src/MNH/get_nb_procio_write_mnh.f90 [new file with mode: 0644]

diff --git a/src/MNH/get_nb_procio_read_mnh.f90 b/src/MNH/get_nb_procio_read_mnh.f90
new file mode 100644 (file)
index 0000000..baad404
--- /dev/null
@@ -0,0 +1,79 @@
+!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier\r
+!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence\r
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  \r
+!MNH_LIC for details. version 1.\r
+  SUBROUTINE GET_NB_PROCIO_READ_MNH( KNB_PROCIO, KRESP )\r
+!\r
+!!****  *GET_NB_PROCIO_READ_MNH* - gets the number of processes used for Input of file MODD_IO_SURF_MNH::CFILE\r
+!!                        \r
+!!\r
+!!    PURPOSE\r
+!!    -------\r
+!!      call GET_NB_PROCIO_READ_MNH from SURFEX to get the number of processes used \r
+!!      for Iinput of file MODD_IO_SURF_MNH::CFILE in MESO-NH (defined by user in namelist)\r
+!!\r
+!!**  METHOD\r
+!!    ------\r
+!!\r
+!!    EXTERNAL\r
+!!    --------\r
+!!\r
+!!\r
+!!    IMPLICIT ARGUMENTS\r
+!!    ------------------\r
+!!\r
+!!    REFERENCE\r
+!!    ---------\r
+!!\r
+!!\r
+!!    AUTHOR\r
+!!    ------\r
+!!     M. Moge   *LA - UPS*  08/01/2016        \r
+!!\r
+!!    MODIFICATIONS\r
+!!    -------------\r
+!!\r
+!-------------------------------------------------------------------------------\r
+!\r
+USE MODE_FD_ll,        ONLY : GETFD,JPFINL,FD_ll\r
+USE MODD_IO_SURF_MNH,  ONLY : COUT, CFILE\r
+!\r
+IMPLICIT NONE\r
+!\r
+!*      0.    DECLARATIONS\r
+!             ------------\r
+!\r
+!*      0.1   Declarations of arguments\r
+!\r
+!CHARACTER(LEN=*), INTENT(IN)  :: HFILEM  ! FM-file name\r
+INTEGER,          INTENT(OUT) :: KNB_PROCIO    ! number of processes used for IO\r
+INTEGER,          INTENT(OUT) :: KRESP   ! return-code \r
+!\r
+!*      0.2   Declarations of local variables\r
+!\r
+!----------------------------------------------------------------\r
+CHARACTER(LEN=JPFINL)        :: YFNLFI\r
+TYPE(FD_ll), POINTER         :: TZFD\r
+INTEGER                      :: IRESP\r
+INTEGER                      :: ILUPRI\r
+!\r
+!*      1. get the number of processes used for IO\r
+!\r
+IRESP = 0\r
+YFNLFI=TRIM(ADJUSTL(CFILE))//'.lfi'\r
+!\r
+TZFD=>GETFD(YFNLFI)\r
+IF (ASSOCIATED(TZFD)) THEN\r
+  KNB_PROCIO = TZFD%nb_procio\r
+ELSE\r
+  IRESP = -61\r
+END IF\r
+!----------------------------------------------------------------\r
+IF (IRESP.NE.0) THEN\r
+  CALL FMLOOK_ll(COUT,COUT,ILUPRI,IRESP)\r
+  WRITE (ILUPRI,*) ' exit from GET_NB_PROCIO_READ_MNH with RESP:',IRESP\r
+  WRITE (ILUPRI,*) '   | CFILE = ',CFILE\r
+END IF\r
+KRESP = IRESP\r
+!\r
+  END SUBROUTINE GET_NB_PROCIO_READ_MNH
\ No newline at end of file
diff --git a/src/MNH/get_nb_procio_write_mnh.f90 b/src/MNH/get_nb_procio_write_mnh.f90
new file mode 100644 (file)
index 0000000..3b89bc3
--- /dev/null
@@ -0,0 +1,79 @@
+!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier\r
+!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence\r
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  \r
+!MNH_LIC for details. version 1.\r
+  SUBROUTINE GET_NB_PROCIO_WRITE_MNH( KNB_PROCIO, KRESP )\r
+!\r
+!!****  *GET_NB_PROCIO_WRITE_MNH* - gets the number of processes used for Output of file MODD_IO_SURF_MNH::COUTFILE\r
+!!                        \r
+!!\r
+!!    PURPOSE\r
+!!    -------\r
+!!      call GET_NB_PROCIO_WRITE_MNH from SURFEX to get the number of processes used \r
+!!      for Output of file MODD_IO_SURF_MNH::COUTFILE in MESO-NH (defined by user in namelist)\r
+!!\r
+!!**  METHOD\r
+!!    ------\r
+!!\r
+!!    EXTERNAL\r
+!!    --------\r
+!!\r
+!!\r
+!!    IMPLICIT ARGUMENTS\r
+!!    ------------------\r
+!!\r
+!!    REFERENCE\r
+!!    ---------\r
+!!\r
+!!\r
+!!    AUTHOR\r
+!!    ------\r
+!!     M. Moge   *LA - UPS*  08/01/2016        \r
+!!\r
+!!    MODIFICATIONS\r
+!!    -------------\r
+!!\r
+!-------------------------------------------------------------------------------\r
+!\r
+USE MODE_FD_ll,        ONLY : GETFD,JPFINL,FD_ll\r
+USE MODD_IO_SURF_MNH,  ONLY : COUT, COUTFILE\r
+!\r
+IMPLICIT NONE\r
+!\r
+!*      0.    DECLARATIONS\r
+!             ------------\r
+!\r
+!*      0.1   Declarations of arguments\r
+!\r
+!CHARACTER(LEN=*), INTENT(IN)  :: HFILEM  ! FM-file name\r
+INTEGER,          INTENT(OUT) :: KNB_PROCIO    ! number of processes used for IO\r
+INTEGER,          INTENT(OUT) :: KRESP   ! return-code \r
+!\r
+!*      0.2   Declarations of local variables\r
+!\r
+!----------------------------------------------------------------\r
+CHARACTER(LEN=JPFINL)        :: YFNLFI\r
+TYPE(FD_ll), POINTER         :: TZFD\r
+INTEGER                      :: IRESP\r
+INTEGER                      :: ILUPRI\r
+!\r
+!*      1. get the number of processes used for IO\r
+!\r
+IRESP = 0\r
+YFNLFI=TRIM(ADJUSTL(COUTFILE))//'.lfi'\r
+!\r
+TZFD=>GETFD(YFNLFI)\r
+IF (ASSOCIATED(TZFD)) THEN\r
+  KNB_PROCIO = TZFD%nb_procio\r
+ELSE\r
+  IRESP = -61\r
+END IF\r
+!----------------------------------------------------------------\r
+IF (IRESP.NE.0) THEN\r
+  CALL FMLOOK_ll(COUT,COUT,ILUPRI,IRESP)\r
+  WRITE (ILUPRI,*) ' exit from GET_NB_PROCIO_WRITE_MNH with RESP:',IRESP\r
+  WRITE (ILUPRI,*) '   | COUTFILE = ',COUTFILE\r
+END IF\r
+KRESP = IRESP\r
+!\r
+  END SUBROUTINE GET_NB_PROCIO_WRITE_MNH
\ No newline at end of file