From f156f1fe1ffcdfd15dbe3c5a281914e756447212 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 15 Mar 2019 11:57:29 +0100
Subject: [PATCH] Philippe 15/03/2019: use LFIINT of modd_precision (instead of
 LFI_INT compilation keyword)

---
 LIBTOOLS/tools/lfi2cdf/src/mode_util.f90      |  9 ++---
 src/LIB/SURCOUCHE/src/modd_io.f90             | 11 +++---
 src/LIB/SURCOUCHE/src/mode_io_file_lfi.f90    | 16 ++++-----
 .../SURCOUCHE/src/mode_io_manage_struct.f90   |  6 ++--
 src/LIB/SURCOUCHE/src/mode_io_read_lfi.f90    | 35 ++++++++++---------
 src/LIB/SURCOUCHE/src/mode_io_tools_lfi.f90   |  9 ++---
 src/LIB/SURCOUCHE/src/mode_io_write_lfi.f90   | 35 ++++++++++---------
 src/MNH/diag.f90                              |  3 +-
 src/MNH/ini_modeln.f90                        |  7 ++--
 src/MNH/prep_ideal_case.f90                   |  3 +-
 src/MNH/prep_pgd.f90                          |  3 +-
 src/MNH/spawn_model2.f90                      |  3 +-
 src/MNH/zoom_pgd.f90                          |  5 +--
 13 files changed, 79 insertions(+), 66 deletions(-)

diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
index 0f55191e7..f577d4bb4 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
@@ -7,6 +7,7 @@ MODULE mode_util
   USE MODD_IO_ll,  ONLY: TFILE_ELT
   USE MODD_NETCDF, ONLY: DIMCDF, IDCDF_KIND
   USE MODD_PARAMETERS, ONLY: NLFIMAXCOMMENTLENGTH, NMNHNAMELGTMAX
+  use modd_precision, only: LFIINT
 
   USE MODE_FIELD
   USE MODE_FMREAD
@@ -45,8 +46,8 @@ MODULE mode_util
      TYPE(DIMCDF),DIMENSION(:),ALLOCATABLE :: TDIMS  ! Dimensions of the field
   END TYPE workfield
 
-  LOGICAL(KIND=LFI_INT), PARAMETER :: ltrue  = .TRUE.
-  LOGICAL(KIND=LFI_INT), PARAMETER :: lfalse = .FALSE.
+  LOGICAL(KIND=LFIINT), PARAMETER :: ltrue  = .TRUE.
+  LOGICAL(KIND=LFIINT), PARAMETER :: lfalse = .FALSE.
 
   CHARACTER(LEN=6) :: CPROGRAM_ORIG
 
@@ -82,9 +83,9 @@ CONTAINS
     INTEGER                                  :: leng
     INTEGER                                  :: IID, IRESP, IDATES, ICURDATE
     INTEGER                                  :: IDXDATE, IDXTIME
-    INTEGER(KIND=LFI_INT)                    :: iresp2,ilu,ileng,ipos
     INTEGER(KIND=IDCDF_KIND)                 :: kcdf_id, kcdf_id2, var_id
     INTEGER(KIND=IDCDF_KIND)                 :: status
+    INTEGER(KIND=LFIINT)                     :: iresp2,ilu,ileng,ipos
     LOGICAL                                  :: ladvan
     LOGICAL                                  :: GOK
     TYPE(TLFIDATE),DIMENSION(MAXDATES)       :: TLFIDATES
@@ -964,7 +965,7 @@ END DO
     INTEGER                     :: idx, IRESP2
     INTEGER(KIND=IDCDF_KIND)    :: omode
     INTEGER(KIND=IDCDF_KIND)    :: status
-    INTEGER(KIND=LFI_INT)       :: ilu,iresp
+    INTEGER(KIND=LFIINT) :: ilu,iresp
 
 
     CALL PRINT_MSG(NVERB_DEBUG,'IO','OPEN_FILES','called')
diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90
index 62a02bf94..edb9bf50b 100644
--- a/src/LIB/SURCOUCHE/src/modd_io.f90
+++ b/src/LIB/SURCOUCHE/src/modd_io.f90
@@ -13,6 +13,7 @@ MODULE MODD_IO_ll
 !
 USE MODD_NETCDF,     ONLY: IDCDF_KIND, IOCDF, TPTR2DIMCDF
 USE MODD_PARAMETERS, ONLY: NDIRNAMELGTMAX, NFILENAMELGTMAX
+use modd_precision,  only: LFIINT
 !
 IMPLICIT NONE 
 !
@@ -92,11 +93,11 @@ TYPE TFILEDATA
   INTEGER,DIMENSION(3) :: NMNHVERSION = (/0,0,0/) !MesoNH version used to create the file
   !
   ! Fields for LFI files
-  INTEGER(KIND=LFI_INT) :: NLFININAR = 0  !Number of articles of the LFI file (only accurate if file opened in read mode)
-  INTEGER(KIND=LFI_INT) :: NLFINPRAR = 0  !Number of predicted articles of the LFI file (non crucial)
-  INTEGER               :: NLFITYPE  = -1 !Type of the file (used to generate list of files to transfers)
-  INTEGER               :: NLFIVERB  = 1  !LFI verbosity level
-  INTEGER(KIND=LFI_INT) :: NLFIFLU   = -1 !File identifier
+  INTEGER(KIND=LFIINT) :: NLFININAR = 0  !Number of articles of the LFI file (only accurate if file opened in read mode)
+  INTEGER(KIND=LFIINT) :: NLFINPRAR = 0  !Number of predicted articles of the LFI file (non crucial)
+  INTEGER              :: NLFITYPE  = -1 !Type of the file (used to generate list of files to transfers)
+  INTEGER              :: NLFIVERB  = 1  !LFI verbosity level
+  INTEGER(KIND=LFIINT) :: NLFIFLU   = -1 !File identifier
   !
   ! Fields for netCDF files
   INTEGER(KIND=IDCDF_KIND) :: NNCID = -1 !File identifier
diff --git a/src/LIB/SURCOUCHE/src/mode_io_file_lfi.f90 b/src/LIB/SURCOUCHE/src/mode_io_file_lfi.f90
index b79ff2ec1..7caa2eb48 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_file_lfi.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_file_lfi.f90
@@ -17,7 +17,7 @@
 module mode_io_file_lfi
 
 use modd_io_ll,  only: tfiledata
-use modd_netcdf, only: idcdf_kind
+use modd_precision, only: LFIINT
 
 use mode_msg
 
@@ -44,9 +44,9 @@ subroutine io_create_file_lfi(tpfile, kstatus)
 
   character(len=:), allocatable :: yfilem        ! name of the file
   character(len=:), allocatable :: yforstatus    ! Status for open of a file (for LFI) ('OLD','NEW','UNKNOWN','SCRATCH','REPLACE')
-  integer(kind=LFI_INT)         :: iresou, inumbr
-  integer(kind=LFI_INT)         :: imelev, inprar
-  integer(kind=LFI_INT)         :: ininar        ! Number of articles present in LFI file
+  integer(kind=LFIINT)          :: iresou, inumbr
+  integer(kind=LFIINT)          :: imelev, inprar
+  integer(kind=LFIINT)          :: ininar        ! Number of articles present in LFI file
   logical                       :: gnewfi
   logical                       :: gnamfi, gfater, gstats
 
@@ -91,7 +91,7 @@ subroutine io_close_file_lfi(tpfile, kstatus)
 
   character(len=*), parameter :: YSTATUS = 'KEEP'
 
-  integer(kind=LFI_INT) :: istatus
+  integer(kind=LFIINT) :: istatus
 
   call print_msg(NVERB_DEBUG,'IO','io_close_file_lfi','called for '//trim(tpfile%cname))
 
@@ -123,9 +123,9 @@ subroutine io_open_file_lfi(tpfile, kstatus)
   character(len=:),allocatable :: yfilem        ! name of the file
   character(len=:),allocatable :: yforstatus    ! Status for open of a file (for LFI) ('OLD','NEW','UNKNOWN','SCRATCH','REPLACE')
   integer                      :: istatus
-  integer(kind=LFI_INT)        :: iresou, inumbr
-  integer(kind=LFI_INT)        :: imelev, inprar
-  integer(kind=LFI_INT)        :: ininar        ! Number of articles present in LFI file
+  integer(kind=LFIINT)         :: iresou, inumbr
+  integer(kind=LFIINT)         :: imelev, inprar
+  integer(kind=LFIINT)         :: ininar        ! Number of articles present in LFI file
   logical                      :: gnewfi
   logical                      :: gnamfi, gfater, gstats
 
diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
index 8745773f0..0776549f4 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
@@ -15,6 +15,8 @@
 MODULE MODE_IO_MANAGE_STRUCT
 !
 USE MODD_IO_ll
+use modd_precision, only: LFIINT
+!
 USE MODE_MSG
 !
 IMPLICIT NONE
@@ -645,7 +647,7 @@ CHARACTER(LEN=*),       OPTIONAL,INTENT(IN)    :: HFORM     !Formatted/unformatt
 CHARACTER(LEN=*),       OPTIONAL,INTENT(IN)    :: HACCESS   !Direct/sequential
 CHARACTER(LEN=*),       OPTIONAL,INTENT(IN)    :: HFORMAT   !Fileformat (NETCDF4, LFI, LFICDF4...)
 CHARACTER(LEN=*),       OPTIONAL,INTENT(IN)    :: HDIRNAME  !File directory
-INTEGER(KIND=LFI_INT),  OPTIONAL,INTENT(IN)    :: KLFINPRAR !Number of predicted articles of the LFI file (non crucial)
+INTEGER(KIND=LFIINT),   OPTIONAL,INTENT(IN)    :: KLFINPRAR !Number of predicted articles of the LFI file (non crucial)
 INTEGER,                OPTIONAL,INTENT(IN)    :: KLFITYPE  !Type of the file (used to generate list of files to transfers)
 INTEGER,                OPTIONAL,INTENT(IN)    :: KLFIVERB  !LFI verbosity level
 INTEGER,                OPTIONAL,INTENT(IN)    :: KRECL     !Record length
@@ -657,7 +659,7 @@ LOGICAL,                OPTIONAL,INTENT(IN)    :: OOLD      !FALSE if new file (
                                                             !     (add it only if not yet present)
 !
 INTEGER :: IMI,IRESP
-INTEGER(KIND=LFI_INT) :: ILFINPRAR
+INTEGER(KIND=LFIINT) :: ILFINPRAR
 INTEGER :: ILFITYPE
 INTEGER :: ILFIVERB
 LOGICAL :: GOLD
diff --git a/src/LIB/SURCOUCHE/src/mode_io_read_lfi.f90 b/src/LIB/SURCOUCHE/src/mode_io_read_lfi.f90
index 17ec7f6e2..43febde92 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_read_lfi.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_read_lfi.f90
@@ -12,6 +12,7 @@ module mode_io_read_lfi
 !
 USE MODD_IO_ll
 USE MODD_PARAMETERS, ONLY: NLFIMAXCOMMENTLENGTH
+use modd_precision,  only: LFIINT
 !
 USE MODE_FIELD, ONLY : TFIELDDATA
 USE MODE_MSG
@@ -53,7 +54,7 @@ INTEGER,          INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -92,7 +93,7 @@ INTEGER,          INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -126,7 +127,7 @@ INTEGER,            INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -160,7 +161,7 @@ INTEGER,              INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -194,7 +195,7 @@ INTEGER,                INTENT(OUT)   :: KRESP   ! return-code if problems occur
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -228,7 +229,7 @@ INTEGER,                  INTENT(OUT)   :: KRESP   ! return-code if problems occ
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -262,7 +263,7 @@ INTEGER,                    INTENT(OUT)   :: KRESP   ! return-code if problems o
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -296,7 +297,7 @@ INTEGER,         INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -330,7 +331,7 @@ INTEGER,             INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -364,7 +365,7 @@ INTEGER,               INTENT(OUT)   :: KRESP   ! return-code if problems occure
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -398,7 +399,7 @@ INTEGER,         INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER                                  :: IFIELD
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
@@ -445,7 +446,7 @@ INTEGER,             INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG
 INTEGER                                  :: JI
 INTEGER, DIMENSION(SIZE(OFIELD))         :: IFIELD
@@ -500,7 +501,7 @@ INTEGER,         INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP,ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP,ITOTAL
 INTEGER                                  :: ILENG, ILENGMAX, JLOOP
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -550,7 +551,7 @@ INTEGER,         INTENT(OUT)   :: KRESP   ! return-code if problems occured
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER(KIND=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP, ITOTAL
 INTEGER                                  :: ILENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 LOGICAL                                  :: GGOOD
@@ -614,13 +615,13 @@ TYPE(TFILEDATA),                         INTENT(IN)    :: TPFILE
 TYPE(TFIELDDATA),                        INTENT(INOUT) :: TPFIELD
 INTEGER,                                 INTENT(IN)    :: KLENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE,INTENT(OUT)   :: KWORK
-INTEGER(KIND=LFI_INT),                   INTENT(OUT)   :: KTOTAL
-INTEGER(KIND=LFI_INT),                   INTENT(OUT)   :: KRESP
+INTEGER(KIND=LFIINT),                    INTENT(OUT)   :: KTOTAL
+INTEGER(KIND=LFIINT),                    INTENT(OUT)   :: KRESP
 LOGICAL,                                 INTENT(OUT)   :: OGOOD
 !
 INTEGER                      :: IERRLEVEL,IROW,J
 INTEGER,DIMENSION(JPXKRK)    :: ICOMMENT
-INTEGER(KIND=LFI_INT)        :: ICOMLEN,INUMBR,IPOSEX
+INTEGER(KIND=LFIINT)         :: ICOMLEN,INUMBR,IPOSEX
 CHARACTER(LEN=:),ALLOCATABLE :: YMSG
 CHARACTER(LEN=12)            :: YRECLENGTH_FILE, YRECLENGTH_MEM
 CHARACTER(LEN=12)            :: YVAL_FILE, YVAL_MEM
diff --git a/src/LIB/SURCOUCHE/src/mode_io_tools_lfi.f90 b/src/LIB/SURCOUCHE/src/mode_io_tools_lfi.f90
index a55365550..49631c23d 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_tools_lfi.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_tools_lfi.f90
@@ -8,7 +8,8 @@
 !-----------------------------------------------------------------
 module mode_io_tools_lfi
 
-use modd_io_ll, only: tfiledata
+use modd_io_ll,     only: tfiledata
+use modd_precision, only: LFIINT
 
 implicit none
 
@@ -19,9 +20,9 @@ public :: io_prepare_verbosity_lfi
 contains
 
 subroutine io_prepare_verbosity_lfi(tpfile, kmelev, ostats)
-  type(tfiledata),       intent(in)  :: tpfile
-  integer(kind=LFI_INT), intent(out) :: kmelev
-  logical,               intent(out) :: ostats
+  type(tfiledata),      intent(in)  :: tpfile
+  integer(kind=LFIINT), intent(out) :: kmelev
+  logical,              intent(out) :: ostats
 
   select case (tpfile%nlfiverb)
     case(:2)
diff --git a/src/LIB/SURCOUCHE/src/mode_io_write_lfi.f90 b/src/LIB/SURCOUCHE/src/mode_io_write_lfi.f90
index 0ec774476..0859de65f 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_write_lfi.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_write_lfi.f90
@@ -12,6 +12,7 @@ module mode_io_write_lfi
 !
 USE MODD_IO_ll
 USE MODD_PARAMETERS, ONLY: NLFIMAXCOMMENTLENGTH
+use modd_precision,  only: LFIINT
 !
 USE MODE_FIELD, ONLY : TFIELDDATA
 USE MODE_MSG
@@ -54,7 +55,7 @@ INTEGER,               INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(KIND=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(KIND=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -93,7 +94,7 @@ INTEGER,               INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -140,7 +141,7 @@ INTEGER,OPTIONAL,      INTENT(IN) :: KZFILE     ! Number of the Z-level splitted
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=4)                         :: YSUFFIX
 CHARACTER(LEN=LEN(TPFIELD%CMNHNAME)+4)   :: YVARNAME
@@ -204,7 +205,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -249,7 +250,7 @@ INTEGER,                  INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -294,7 +295,7 @@ INTEGER,                  INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -339,7 +340,7 @@ INTEGER,                    INTENT(OUT):: KRESP  ! return-code if problems arais
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -384,7 +385,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -423,7 +424,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -468,7 +469,7 @@ INTEGER,               INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -513,7 +514,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -559,7 +560,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !
 INTEGER                                  :: IFIELD
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -606,7 +607,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !
 INTEGER, DIMENSION(SIZE(OFIELD))         :: IFIELD
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -660,7 +661,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG, ILENGMAX, JLOOP
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
 CHARACTER(LEN=LEN_HREC)                  :: YRECFM
 !
@@ -718,7 +719,7 @@ INTEGER,                 INTENT(OUT):: KRESP  ! return-code if problems araised
 !*      0.2   Declarations of local variables
 !
 INTEGER                                  :: ILENG
-INTEGER(kind=LFI_INT)                    :: IRESP, ITOTAL
+INTEGER(kind=LFIINT)                     :: IRESP, ITOTAL
 TYPE(TFIELDDATA)                         :: TZFIELD
 INTEGER, DIMENSION(3)                    :: ITDATE    ! date array
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE :: IWORK
@@ -783,8 +784,8 @@ SUBROUTINE WRITE_PREPARE(TPFIELD,KLENG,KWORK,KTOTAL,KRESP)
 TYPE(TFIELDDATA),                        INTENT(IN)    :: TPFIELD
 INTEGER,                                 INTENT(IN)    :: KLENG
 INTEGER(KIND=8),DIMENSION(:),ALLOCATABLE,INTENT(INOUT) :: KWORK
-INTEGER(kind=LFI_INT),                   INTENT(OUT)   :: KTOTAL
-INTEGER(kind=LFI_INT),                   INTENT(OUT)   :: KRESP
+INTEGER(kind=LFIINT),                    INTENT(OUT)   :: KTOTAL
+INTEGER(kind=LFIINT),                    INTENT(OUT)   :: KRESP
 !
 INTEGER                   :: ICOMLEN
 INTEGER                   :: J
diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 79bc2c74b..06488a688 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -124,6 +124,7 @@ USE MODD_PARAM_LIMA,       ONLY: LLIMA_DIAG
 USE MODD_PARAM_MFSHALL_n
 USE MODD_PARAM_n
 USE MODD_PARAM_RAD_n
+use modd_precision,        only: LFIINT
 USE MODD_PROFILER_n
 USE MODD_RADAR
 USE MODD_RADIATIONS_n
@@ -187,7 +188,7 @@ INTEGER  :: ILUOUT0             ! Logical unit number for the output listing
 REAL*8,DIMENSION(2)     :: ZTIME0,ZTIME1,ZTIME2,ZRAD,ZDCONV,ZSHADOWS,ZGROUND, &
                          ZTRACER,ZDRAG,ZTURB,ZMAFL,ZCHEM,ZTIME_BU ! CPU time 
 REAL*8,DIMENSION(2)     :: ZSTART,ZINIT,ZWRIT,ZBALL,ZPHYS,ZSURF,ZWRITS,ZTRAJ ! storing variables
-INTEGER(KIND=LFI_INT) :: INPRAR ! number of articles predicted  in the LFIFM file
+INTEGER(KIND=LFIINT) :: INPRAR ! number of articles predicted  in the LFIFM file
 LOGICAL :: GCLOSE_OUT = .FALSE. ! conditional closure of the OUTPUT FM-file
 INTEGER :: ISTEPBAL   ! loop indice for balloons and aircraft
 INTEGER :: ILUNAM      ! Logical unit numbers for the namelist file
diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index dd7d2119f..e2f55f5bb 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -368,6 +368,7 @@ USE MODD_PASPOL_n
 USE MODD_DRAG_n
 USE MODD_BLOWSNOW
 USE MODD_BLOWSNOW_n
+use modd_precision, only: LFIINT
 !
 !
 USE MODI_INI_BUDGET
@@ -1671,9 +1672,9 @@ IF (KMI == 1) THEN
   DO IMI = 1 , NMODEL
     WRITE(IO_SURF_MNH_MODEL(IMI)%COUTFILE,'(A,".",I1,".",A)') CEXP,IMI,TRIM(ADJUSTL(CSEG))
     WRITE(YNAME, '(A,".",I1,".",A)') CEXP,IMI,TRIM(ADJUSTL(CSEG))//'.000'
-    CALL IO_FILE_ADD2LIST(LUNIT_MODEL(IMI)%TDIAFILE,YNAME,'DIACHRONIC','WRITE',     &
-                          HDIRNAME=CIO_DIR,                                         &
-                          KLFINPRAR=INT(50,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=NVERB, &
+    CALL IO_FILE_ADD2LIST(LUNIT_MODEL(IMI)%TDIAFILE,YNAME,'DIACHRONIC','WRITE',    &
+                          HDIRNAME=CIO_DIR,                                        &
+                          KLFINPRAR=INT(50,KIND=LFIINT),KLFITYPE=1,KLFIVERB=NVERB, &
                           TPDADFILE=LUNIT_MODEL(NDAD(IMI))%TDIAFILE )
   END DO
   !
diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90
index eb97a9091..3faed5ea6 100644
--- a/src/MNH/prep_ideal_case.f90
+++ b/src/MNH/prep_ideal_case.f90
@@ -349,6 +349,7 @@ USE MODD_IO_ll,     ONLY: NIO_VERB,NVERB_DEBUG,TFILE_DUMMY,TFILE_OUTPUTLISTING
 USE MODD_CONF_n
 USE MODD_NSV,      ONLY : NSV,NSV_CHEM,           &
                           NSV_DSTEND, NSV_DSTBEG
+use modd_precision, only: LFIINT
 !
 USE MODN_BLANK
 !
@@ -447,7 +448,7 @@ INTEGER :: NLUPRE,NLUOUT           ! Logical unit numbers for EXPRE file
                                    ! and for output_listing file
 INTEGER :: NRESP                   ! return code in FM routines
 INTEGER :: NTYPE                   ! type of file (cpio or not)
-INTEGER(KIND=LFI_INT) :: NNPRAR    ! number of articles predicted in the LFIFM file
+INTEGER(KIND=LFIINT) :: NNPRAR     ! number of articles predicted in the LFIFM file
 LOGICAL :: GFOUND                  ! Return code when searching namelist
 !
 INTEGER :: JLOOP,JILOOP,JJLOOP     ! Loop indexes
diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90
index d7b5899bc..77e99ac03 100644
--- a/src/MNH/prep_pgd.f90
+++ b/src/MNH/prep_pgd.f90
@@ -84,6 +84,7 @@ USE MODD_CONF_n,ONLY : CSTORAGE_TYPE
 USE MODD_LUNIT,  ONLY : CLUOUT0,TLUOUT0
 USE MODD_LUNIT_n,ONLY : LUNIT_MODEL
 USE MODD_PARAMETERS, ONLY : XUNDEF
+use modd_precision,   only: LFIINT
 USE MODD_IO_ll,   ONLY : NIO_VERB,NVERB_DEBUG,TFILEDATA,TFILE_OUTPUTLISTING,TFILE_SURFEX
 USE MODD_IO_SURF_MNH, ONLY : NHALO
 USE MODD_SPAWN, ONLY : NDXRATIO,NDYRATIO,NXSIZE,NYSIZE,NXOR,NYOR
@@ -244,7 +245,7 @@ CALL PGD_SURF_ATM(YSURF_CUR,'MESONH','                            ','      ',.FA
 !*    3.      Writes the physiographic fields
 !             -------------------------------
 !
-CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PREPPGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5)
+CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PREPPGD','WRITE',KLFINPRAR=INT(1,KIND=LFIINT),KLFITYPE=1,KLFIVERB=5)
 !
 CALL IO_FILE_OPEN_ll(TZFILE,OPARALLELIO=.FALSE.)
 !
diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90
index 9a4a7eca0..02a6f8a47 100644
--- a/src/MNH/spawn_model2.f90
+++ b/src/MNH/spawn_model2.f90
@@ -287,6 +287,7 @@ USE MODD_PASPOL, ONLY : LPASPOL
 !
 USE MODD_MPIF
 USE MODD_VAR_ll
+use modd_precision, only: LFIINT
 !
 IMPLICIT NONE
 !
@@ -314,7 +315,7 @@ LOGICAL,               INTENT(IN) :: OSPAWN_SURF  ! flag to spawn surface fields
 !
 !
 INTEGER :: ILUOUT   ! Logical unit number for the output listing 
-INTEGER(KIND=LFI_INT) :: INPRAR ! Number of articles predicted in the LFIFM file
+INTEGER(KIND=LFIINT) :: INPRAR ! Number of articles predicted in the LFIFM file
 !
 !
 INTEGER             :: IIU            ! Upper dimension in x direction
diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90
index af620d5b8..638c380a4 100644
--- a/src/MNH/zoom_pgd.f90
+++ b/src/MNH/zoom_pgd.f90
@@ -53,6 +53,7 @@ USE MODD_PARAMETERS, ONLY : XUNDEF, NUNDEF, JPVEXT, JPHEXT, JPMODELMAX
 USE MODD_PARAM_n,     ONLY : CSURF
 USE MODD_DIM_n,       ONLY : NIMAX, NJMAX
 USE MODD_CONF_n,   ONLY : CSTORAGE_TYPE
+use modd_precision, only: LFIINT
 !
 USE MODE_POS
 USE MODE_FM
@@ -148,7 +149,7 @@ CALL SET_CONFIO_ll()
 !*    2.1     Open PGD file
 !             -------------
 !
-CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGDFILE),'UNKNOWN','READ',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=2,KLFIVERB=5)
+CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGDFILE),'UNKNOWN','READ',KLFINPRAR=INT(1,KIND=LFIINT),KLFITYPE=2,KLFIVERB=5)
 CALL IO_FILE_OPEN_ll(TZPGDFILE)
 !
 !*    2.2     Reading of initial grid
@@ -194,7 +195,7 @@ IF ( (LEN_TRIM(YZOOMFILE) == 0) .OR. (ADJUSTL(YZOOMFILE) == ADJUSTL(CPGDFILE)) )
   YZOOMFILE=ADJUSTL(ADJUSTR(CPGDFILE)//'.z'//ADJUSTL(YZOOMNBR))
 END IF
 !
-CALL IO_FILE_ADD2LIST(TZZOOMFILE,TRIM(YZOOMFILE),'ZOOMPGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5)
+CALL IO_FILE_ADD2LIST(TZZOOMFILE,TRIM(YZOOMFILE),'ZOOMPGD','WRITE',KLFINPRAR=INT(1,KIND=LFIINT),KLFITYPE=1,KLFIVERB=5)
 !PW: TODO: points to dad file (if existing) ! TZZOOMFILE%TDADFILE =>
 !
 CALL IO_FILE_OPEN_ll(TZZOOMFILE)
-- 
GitLab