diff --git a/src/MNH/eol_error.f90 b/src/MNH/eol_error.f90
index 1c45428b6e28a3422919233047e30fc418442d6c..d52f099f02264a76815fc4b917c513a6668fc401 100644
--- a/src/MNH/eol_error.f90
+++ b/src/MNH/eol_error.f90
@@ -23,31 +23,39 @@ SUBROUTINE EOL_CSVEMPTY_ERROR(HFILE,KNBLINE)
 END SUBROUTINE EOL_CSVEMPTY_ERROR
 !
 !
-! ***
-! ALM
-! ***
+! *********
+! ALM & ADR
+! *********
 !
 SUBROUTINE EOL_AIRFOILNOTFOUND_ERROR(HFILE,HVAR)
   CHARACTER(LEN=*),  INTENT(IN)    :: HFILE    ! file read   
   CHARACTER(LEN=*),  INTENT(IN)    :: HVAR     ! missing data
 END SUBROUTINE EOL_AIRFOILNOTFOUND_ERROR
 !
-SUBROUTINE EOL_WTCFL_ERROR(PMAXTSTEP)
-   REAL, INTENT(IN) :: PMAXTSTEP               ! maximum acceptable time-step 
-END SUBROUTINE EOL_WTCFL_ERROR
-!
 SUBROUTINE EOL_BLADEDATA_ERROR(PDELTARAD)
    REAL, INTENT(IN) :: PDELTARAD               ! Span lenght of an element
 END SUBROUTINE EOL_BLADEDATA_ERROR
 !
+SUBROUTINE EOL_DR_ERROR(KNB_RELT_MIN)
+   INTEGER, INTENT(IN) :: KNB_RELT_MIN    ! minimum number of rad elt for ADR
+END SUBROUTINE EOL_DR_ERROR  
+!
+! ***
+! ALM
+! ***
+!
+SUBROUTINE EOL_WTCFL_ERROR(PMAXTSTEP)
+   REAL, INTENT(IN) :: PMAXTSTEP               ! maximum acceptable time-step 
+END SUBROUTINE EOL_WTCFL_ERROR
 !
 ! ***
 ! ADR
 ! ***
 !
-SUBROUTINE EOL_ADRELT_ERROR(PDXX,PDYY,PDZZ,XRAD,NNB_RADELT,NNB_AZIELT)
-   REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ    ! mesh size
-END SUBROUTINE EOL_ADRELT_ERROR  
+SUBROUTINE EOL_DA_ERROR(KNB_AELT_MIN)
+   INTEGER, INTENT(IN) :: KNB_AELT_MIN    ! minimum number of rad elt for ADR
+END SUBROUTINE EOL_DA_ERROR  
+!
 !
 END INTERFACE
 !
@@ -157,7 +165,7 @@ USE MODE_IO_FILE, ONLY: IO_File_close
 USE MODE_MSG
 USE MODD_EOL_SHARED_IO, ONLY: CBLADE_CSVDATA
 !
-REAL,    INTENT(IN) :: PDELTARAD    ! hals section width 
+REAL,    INTENT(IN) :: PDELTARAD    ! aero section width 
 ! 
 CHARACTER(LEN=4) :: YDELTARAD
 !
@@ -173,23 +181,47 @@ CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_BLADEDATA_ERROR' )
 END SUBROUTINE EOL_BLADEDATA_ERROR
 !#########################################################
 !
-SUBROUTINE EOL_ADRELT_ERROR(PDXX,PDYY,PDZZ)
+!#########################################################
+SUBROUTINE EOL_DR_ERROR(KNB_RELT_MIN)
+!
+USE MODD_LUNIT_n, ONLY: TLUOUT
+USE MODE_IO_FILE, ONLY: IO_File_close
+USE MODE_MSG
+!
+INTEGER,    INTENT(IN) :: KNB_RELT_MIN    ! minimum number of radial element
+! 
+CHARACTER(LEN=4) :: YNB_RELT_MIN
+!
+WRITE( YNB_RELT_MIN, '( I3 )' ) KNB_RELT_MIN
+!
+CMNHMSG(1) = 'EOL Initialization error: error while meshing blades.'
+CMNHMSG(2) = 'Considering the grid, the number of discretized radial'
+CMNHMSG(3) = 'element should be at least : ' // TRIM(YNB_RELT_MIN) 
+CMNHMSG(4) = 'Please, modify NNB_RADELT (NAM_ADR) or NNB_BLAELT (NAM_ALM)'
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_MESH_ERROR' )
+!
+END SUBROUTINE EOL_DR_ERROR
+!
+!#########################################################
+!
+!#########################################################
+SUBROUTINE EOL_DA_ERROR(KNB_AELT_MIN)
 !
-USE MODD_EOL_ADR, ONLY: BLADE, NNB_RADELT, NNB_AZIELT
+USE MODD_LUNIT_n, ONLY: TLUOUT
+USE MODE_IO_FILE, ONLY: IO_File_close
 USE MODE_MSG
-USE MODD_CST,     ONLY: XPI
 !
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ    ! mesh size
+INTEGER,    INTENT(IN) :: KNB_AELT_MIN    ! minimum number of radial element
+! 
+CHARACTER(LEN=4) :: YNB_AELT_MIN
+!
+WRITE( YNB_AELT_MIN, '( I3 )' ) KNB_AELT_MIN
+!
+CMNHMSG(1) = 'EOL Initialization error: error while meshing blades.'
+CMNHMSG(2) = 'Considering the grid, the number of discretized azimutal'
+CMNHMSG(3) = 'element should be at least : ' // TRIM(YNB_AELT_MIN) 
+CMNHMSG(4) = 'Please, modify NNB_AZIELT in NAM_ADR'
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_MESH_ERROR' )
+!
+END SUBROUTINE EOL_DA_ERROR
 !
-!IF (NNB_RADELT < (XRAD/PDXX)) THEN
-! CMNHMSG(1) = 'EOL error: error in radial elements number '
-! CMNHMSG(2) = 'The number of radial elements is too small '
-
-! IF (NNB_AZIELT < (2d0*XPI*XRAD/PDXX)) THEN
-!  CMNHMSG(1) = 'EOL error: error in azimutal elements number '
-!  CMNHMSG(2) = 'The number of azimutal elements is too small '
-
-! END IF 
-!END IF 
-!CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_ADRELT_ERROR' )
-END SUBROUTINE EOL_ADRELT_ERROR 
diff --git a/src/MNH/ini_eol_adr.f90 b/src/MNH/ini_eol_adr.f90
index 89e937f54bb87c7beba7e2b985b5fd02b9ec9aee..2ecf8c777af6fa68543d6e8dce608a4cc55995c8 100644
--- a/src/MNH/ini_eol_adr.f90
+++ b/src/MNH/ini_eol_adr.f90
@@ -9,9 +9,9 @@
 !
 INTERFACE
 !
-SUBROUTINE INI_EOL_ADR(PDXX,PDYY)
+SUBROUTINE INI_EOL_ADR(PDXX,PDYY,PDZZ)
 !
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY    ! mesh size
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ    ! mesh size
 !
 END SUBROUTINE INI_EOL_ADR                  
 !
@@ -20,7 +20,7 @@ END INTERFACE
 END MODULE MODI_INI_EOL_ADR
 !
 !     ############################################################
-      SUBROUTINE INI_EOL_ADR(PDXX,PDYY)
+      SUBROUTINE INI_EOL_ADR(PDXX,PDYY,PDZZ)
 !     ############################################################
 !
 !!****  *INI_EOL_ADR* - routine to initialize the Actuator Disc 
@@ -97,6 +97,7 @@ END MODULE MODI_INI_EOL_ADR
 !*       0.1    Modules
 !
 USE MODD_EOL_ADR
+USE MODI_EOL_ERROR,     ONLY: EOL_DR_ERROR, EOL_DA_ERROR
 USE MODD_EOL_SHARED_IO, ONLY: CFARM_CSVDATA, CTURBINE_CSVDATA
 USE MODD_EOL_SHARED_IO, ONLY: CBLADE_CSVDATA, CAIRFOIL_CSVDATA
 USE MODD_EOL_SHARED_IO, ONLY: XTHRUT, XTORQT, XPOWT
@@ -126,12 +127,13 @@ USE MODD_PARAMETERS,    ONLY: JPVEXT
 USE MODD_VAR_ll,        ONLY: NMNH_COMM_WORLD
 USE MODD_PRECISION,     ONLY: MNHREAL_MPI
 USE MODD_MPIF,          ONLY: MPI_SUM
+USE MODE_SUM_ll,        ONLY: MIN_ll
 !
 !*       0.2    Variables
 !
 IMPLICIT NONE
 ! Interface
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY    ! mesh size
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ    ! mesh size
 !
 ! Some loop controlers 
 ! .. for wind turbines
@@ -145,11 +147,14 @@ INTEGER  :: IIB,IJB,IKB             ! Begin of a CPU domain
 INTEGER  :: IIE,IJE                 ! End of a CPU domain
 INTEGER  :: JI,JJ                   ! Domain index
 ! Some variables to be coder-friendly
-INTEGER  :: INB_WT, INB_B           ! Total numbers of wind turbines, blade
-INTEGER  :: INB_RELT, INB_AELT      ! Total numbers of radial elt and azimut elt
-INTEGER  :: INB_TELT, INB_NELT      ! Total numbers of tower elt and nacelle elt
-REAL     :: ZRAD                    ! Radius along the blade 
-REAL     :: ZDELTA_AZI, ZDELTA_RAD  ! Azimuthal and radial step 
+INTEGER  :: INB_WT, INB_B              ! Total numbers of wind turbines, blade
+INTEGER  :: INB_RELT, INB_AELT         ! Total numbers of radial elt and azimut elt
+INTEGER  :: INB_TELT, INB_NELT         ! Total numbers of tower elt and nacelle elt
+REAL     :: ZRAD                       ! Radius along the blade 
+REAL     :: ZDELTA_AZI, ZDELTA_RAD     ! Azimuthal and radial step 
+REAL     :: ZMIN_SIZE                      ! Minimum size of a mesh side
+REAL     :: ZDELTA_RAD_MAX, ZDELTA_AZI_MAX ! Max size of ADR element
+INTEGER  :: INB_RELT_MIN, INB_AELT_MIN     ! Minimum number of ADR mesh elements
 ! Tower base folowing the terrain
 REAL,DIMENSION(:,:),ALLOCATABLE :: ZPOSINI_TOWO_RG ! Initial tower origin position
 INTEGER  :: IINFO                   ! code info return
@@ -206,18 +211,38 @@ CALL PRINT_DATA_AIRFOIL_ADR(TLUOUT%NLU,TAIRFOIL)
 !              -------------------- 
 !
 !*       3.0    Preliminaries
+!
+!*       3.0.a) Shortening the names of the most frequently used var
 INB_WT    = TFARM%NNB_TURBINES
 INB_B     = TTURBINE%NNB_BLADES
 INB_AELT  = TBLADE%NNB_AZIELT
 INB_RELT  = TBLADE%NNB_RADELT
-! Hard coded variables, but they will be usefull in next updates
-INB_TELT  = 2
-INB_NELT  = 2
+INB_TELT  = 2 ! Hard coded variable, usefull for next updates
+INB_NELT  = 2 ! Hard coded variable, usefull for next updates
 !
+!*       3.0.b) Mesh variable
 ZDELTA_AZI     =  2d0*XPI/INB_AELT                                  ! Rotor disc azimutal devision
 ZDELTA_RAD     =  (TTURBINE%XR_MAX - TTURBINE%XR_MIN)/INB_RELT      ! Rotor disc radialal devision
-
-
+!
+!*       3.0.c) Checking mesh
+! Finding the minimum size of a cell, in the whole domain.
+! (Later, the research could be done only in wind turbine area)
+ZMIN_SIZE = MIN(MIN_ll(PDXX(:,:,:),IINFO),&
+                MIN_ll(PDYY(:,:,:),IINFO),&
+                MIN_ll(PDZZ(:,:,:),IINFO))
+!        3.0.c)i) Check the number of radial elements:
+ZDELTA_RAD_MAX = ZMIN_SIZE
+IF (ZDELTA_RAD > ZDELTA_RAD_MAX) THEN
+ INB_RELT_MIN = INT(CEILING((TTURBINE%XR_MAX - TTURBINE%XR_MIN)/ZDELTA_RAD_MAX)) ! User proper value
+ CALL EOL_DR_ERROR(INB_RELT_MIN)
+END IF 
+!        3.0.c)ii) Check the number of azimutal elements:
+ZDELTA_AZI_MAX = ATAN2(ZMIN_SIZE,TTURBINE%XR_MAX)
+IF (ZDELTA_AZI > ZDELTA_AZI_MAX) THEN
+ INB_AELT_MIN = INT(CEILING(2d0*XPI/ZDELTA_AZI_MAX)) ! User proper value
+ CALL EOL_DA_ERROR(INB_AELT_MIN)
+END IF 
+!
 !*       3.1    MODD_EOL_ADR variables
 ! at t
 ALLOCATE(XELT_RAD           (INB_WT,INB_AELT,INB_RELT  ))
diff --git a/src/MNH/ini_eol_alm.f90 b/src/MNH/ini_eol_alm.f90
index 6f913c2ede5b374d7fe0a19e63ee7a45e70549e8..301f7d35d7ee1fcd1f1efc6f0cf36813e7e5a78a 100644
--- a/src/MNH/ini_eol_alm.f90
+++ b/src/MNH/ini_eol_alm.f90
@@ -9,9 +9,9 @@
 !
 INTERFACE
 !
-SUBROUTINE INI_EOL_ALM(PDXX,PDYY)
+SUBROUTINE INI_EOL_ALM(PDXX,PDYY,PDZZ)
 !
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY    ! mesh size
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ    ! mesh size
 !
 END SUBROUTINE INI_EOL_ALM                  
 !
@@ -20,7 +20,7 @@ END INTERFACE
 END MODULE MODI_INI_EOL_ALM
 !
 !     ############################################################
-      SUBROUTINE INI_EOL_ALM(PDXX,PDYY)
+      SUBROUTINE INI_EOL_ALM(PDXX,PDYY,PDZZ)
 !     ############################################################
 !
 !!****  *INI_EOL_ALM* - routine to initialize the Actuator Line Model 
@@ -96,6 +96,7 @@ END MODULE MODI_INI_EOL_ALM
 !*       0.1    Modules
 !
 USE MODD_EOL_ALM
+USE MODI_EOL_ERROR,     ONLY: EOL_DR_ERROR
 USE MODD_EOL_SHARED_IO, ONLY: CFARM_CSVDATA
 USE MODD_EOL_SHARED_IO, ONLY: CTURBINE_CSVDATA
 USE MODD_EOL_SHARED_IO, ONLY: CBLADE_CSVDATA
@@ -127,12 +128,13 @@ USE MODD_PARAMETERS,    ONLY: JPVEXT
 USE MODD_VAR_ll,        ONLY: NMNH_COMM_WORLD
 USE MODD_PRECISION,     ONLY: MNHREAL_MPI
 USE MODD_MPIF,          ONLY: MPI_SUM
+USE MODE_SUM_ll,        ONLY: MIN_ll
 !
 !*       0.2    Variables
 !
 IMPLICIT NONE
 ! Interface
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY    ! mesh size
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ    ! mesh size
 !
 ! Some loop controlers 
 ! .. for wind turbines
@@ -149,6 +151,11 @@ INTEGER  :: JI,JJ                   ! Domain index
 INTEGER  :: INB_WT, INB_B, INB_BELT ! Total numbers of wind turbines, blades, and blade elt
 INTEGER  :: INB_TELT, INB_NELT      ! Total numbers of tower elt, and nacelle elt
 REAL     :: ZRAD                    ! Radius along the blade 
+REAL     :: ZDELTA_RAD              ! Radial size of blade element 
+REAL     :: ZMIN_SIZE               ! Minimum size of a mesh side
+REAL     :: ZDELTA_RAD_MAX          ! Max size of ALM rad element
+INTEGER  :: INB_BELT_MIN            ! Minimum number of ALM mesh elements
+!
 ! Tower base folowing the terrain
 REAL,DIMENSION(:,:),ALLOCATABLE :: ZPOSINI_TOWO_RG ! Initial tower origin position
 INTEGER  :: IINFO                   ! code info return
@@ -205,12 +212,29 @@ CALL PRINT_DATA_AIRFOIL_ALM(TLUOUT%NLU,TAIRFOIL)
 !              -------------------- 
 !
 !*       3.0    Preliminaries
+!
+!*       3.0.a) Shortening the names of the most frequently used var
 INB_WT   = TFARM%NNB_TURBINES
 INB_B    = TTURBINE%NNB_BLADES
-INB_BELT  = TBLADE%NNB_BLAELT
-! Hard coded variables, but they will be usefull in next updates
-INB_TELT = 2
-INB_NELT = 2
+INB_BELT = TBLADE%NNB_BLAELT
+INB_TELT = 2 ! Hard coded variable, usefull for next updates
+INB_NELT = 2 ! Hard coded variable, usefull for next updates
+!
+!*       3.0.b) Mesh variable
+ZDELTA_RAD     = (TTURBINE%XR_MAX-TTURBINE%XR_MIN)/INB_BELT      ! Radial element size
+!
+!*       3.0.c) Checking mesh
+! Finding the minimum size of a cell, in the whole domain.
+! Later, the research could be done only in wind turbine area.
+ZMIN_SIZE = MIN(MIN_ll(PDXX(:,:,:),IINFO),&
+                MIN_ll(PDYY(:,:,:),IINFO),&
+                MIN_ll(PDZZ(:,:,:),IINFO))
+!        3.0.c)i) Check the number of radial elements:
+ZDELTA_RAD_MAX = ZMIN_SIZE  
+IF (ZDELTA_RAD > ZDELTA_RAD_MAX) THEN
+ INB_BELT_MIN = INT(CEILING((TTURBINE%XR_MAX-TTURBINE%XR_MIN)/ZDELTA_RAD_MAX)) ! User proper value
+ CALL EOL_DR_ERROR(INB_BELT_MIN)
+END IF
 !
 !*       3.1    MODD_EOL_ALM variables
 ! at t
diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index 5b2bc0c1c792a27793db58d4a1da6b78e854802c..f4423a0b0fc9316180afa6b4068d7a2e77c520c5 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -2877,9 +2877,9 @@ IF (LMAIN_EOL .AND. KMI == NMODEL_EOL) THEN
   CASE('ADNR')
    CALL INI_EOL_ADNR
   CASE('ADR')
-   CALL INI_EOL_ADR(XDXX,XDYY)
+   CALL INI_EOL_ADR(XDXX,XDYY,XDZZ)
   CASE('ALM')
-   CALL INI_EOL_ALM(XDXX,XDYY)
+   CALL INI_EOL_ALM(XDXX,XDYY,XDZZ)
  END SELECT
 END IF
 !