diff --git a/src/SURFEX/mode_crodebug.F90 b/src/SURFEX/mode_crodebug.F90
index 7bcad4d537dc5f87b16c6524135181c8eaadc05c..73fa1bb595fed373a0000ec15b52ab7f3532fe2f 100644
--- a/src/SURFEX/mode_crodebug.F90
+++ b/src/SURFEX/mode_crodebug.F90
@@ -1,6 +1,6 @@
-!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!SFX_LIC Copyright 2012-2019 CNRS, Meteo-France and Universite Paul Sabatier
 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
-!SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !SFX_LIC for details. version 1.
 !##########################
 MODULE MODE_CRODEBUG
@@ -27,7 +27,9 @@ MODULE MODE_CRODEBUG
 !!    MODIFICATIONS
 !!    -------------
 !!      Original    11/06/2012
-!!      Modification M Lafaysse 03/10/2012 : add energy balance control
+!!      Modifications:
+!!        M Lafaysse 03/10/2012 : add energy balance control
+!!        P. Wautelet 22/01/2019: use standard GET_ENVIRONMENT_VARIABLE instead of non standard GETENV
 !--------------------------------------------------------------------------------
 !
 IMPLICIT NONE
@@ -70,7 +72,7 @@ SUBROUTINE INIT_CRODEBUG (HSNOW_SCHEME)
 !
 IF (HSNOW_SCHEME=='CRO') THEN
   !
-  CALL GETENV("CROCUS_INFO",YCROCUS_INFO)
+  CALL GET_ENVIRONMENT_VARIABLE("CROCUS_INFO",YCROCUS_INFO)
   SELECT CASE (YCROCUS_INFO)
     CASE ("1")
       PRINT*,"CROCUS : print daily informations."
@@ -79,7 +81,7 @@ IF (HSNOW_SCHEME=='CRO') THEN
       LCRODAILYINFO=.FALSE.
   END SELECT
   !
-  CALL GETENV("CROCUS_DEBUG",YCROCUS_DEBUG)
+  CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG",YCROCUS_DEBUG)
   SELECT CASE (YCROCUS_DEBUG)
     CASE ("1")
       PRINT*,"CROCUS DEBUGGING MODE : print snow profile at the end of each time step"
@@ -120,7 +122,7 @@ IF (HSNOW_SCHEME=='CRO') THEN
       LPRINTGRAN=.FALSE.
   END SELECT
   !
-  CALL GETENV("CROCUS_BALANCE",YCROCUS_BALANCE)
+  CALL GET_ENVIRONMENT_VARIABLE("CROCUS_BALANCE",YCROCUS_BALANCE)
   SELECT CASE (YCROCUS_BALANCE)
     CASE ("1")
       PRINT*,"CROCUS DEBUGGING MODE : print mass and energy balance diagnostics."
@@ -131,7 +133,7 @@ IF (HSNOW_SCHEME=='CRO') THEN
   !
   IF (LCRODEBUG .OR. LCONTROLBALANCE) THEN
     !
-    CALL GETENV("CROCUS_DEBUG_DATE",YCROCUS_DEBUG_TIME)
+    CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG_DATE",YCROCUS_DEBUG_TIME)
     IF ( LEN_TRIM(YCROCUS_DEBUG_TIME)>0 ) THEN
       READ(YCROCUS_DEBUG_TIME,'(I8)')NTIMECRODEBUG
       PRINT*,"after the date : ",NTIMECRODEBUG
@@ -139,7 +141,7 @@ IF (HSNOW_SCHEME=='CRO') THEN
       NTIMECRODEBUG = 0
     END IF
     !
-    CALL GETENV("CROCUS_DEBUG_DATE_END",YCROCUS_DEBUG_TIME)
+    CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG_DATE_END",YCROCUS_DEBUG_TIME)
     IF (LEN_TRIM(YCROCUS_DEBUG_TIME)>0) THEN
       READ(YCROCUS_DEBUG_TIME,'(I8)')NENDCRODEBUG
       PRINT*,"before the date : ",NENDCRODEBUG
@@ -147,7 +149,7 @@ IF (HSNOW_SCHEME=='CRO') THEN
       NENDCRODEBUG = 99999999
     END IF
     !
-    CALL GETENV("CROCUS_DEBUG_HOUR",YCROCUS_DEBUG_HOUR)
+    CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG_HOUR",YCROCUS_DEBUG_HOUR)
     IF (LEN_TRIM(YCROCUS_DEBUG_HOUR)>0) THEN
       READ(YCROCUS_DEBUG_HOUR,'(I2)')NHOURCRODEBUG
       PRINT*,"after the hour : ",NHOURCRODEBUG
@@ -155,21 +157,21 @@ IF (HSNOW_SCHEME=='CRO') THEN
       NHOURCRODEBUG = 0
     END IF
     !
-    CALL GETENV("CROCUS_DEBUG_POINT",YCROCUS_DEBUG_POINT)
+    CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG_POINT",YCROCUS_DEBUG_POINT)
     IF (LEN_TRIM(YCROCUS_DEBUG_POINT)>0) THEN
       READ(YCROCUS_DEBUG_POINT,'(I6)')NPOINTCRODEBUG
     ELSE
       NPOINTCRODEBUG = 1
     END IF
     !
-    CALL GETENV("CROCUS_DEBUG_LAT",YCROCUS_DEBUG_LAT)
+    CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG_LAT",YCROCUS_DEBUG_LAT)
     IF (LEN_TRIM(YCROCUS_DEBUG_LAT)>0) THEN
       READ(YCROCUS_DEBUG_LAT,*)XLATCRODEBUG
     ELSE 
       XLATCRODEBUG = -999.
     END IF
     !
-    CALL GETENV("CROCUS_DEBUG_LON",YCROCUS_DEBUG_LON)
+    CALL GET_ENVIRONMENT_VARIABLE("CROCUS_DEBUG_LON",YCROCUS_DEBUG_LON)
     IF (LEN_TRIM(YCROCUS_DEBUG_LON)>0) THEN
       READ(YCROCUS_DEBUG_LON,*)XLONCRODEBUG
     ELSE