62 CHARACTER(LEN=*),
INTENT(IN) :: HSNOW_SCHEME
65 CHARACTER(1) :: YCROCUS_INFO,YCROCUS_DEBUG,YCROCUS_BALANCE
66 CHARACTER(8) :: YCROCUS_DEBUG_TIME
67 CHARACTER(2) :: YCROCUS_DEBUG_HOUR
68 CHARACTER(6) :: YCROCUS_DEBUG_POINT
69 CHARACTER(12) :: YCROCUS_DEBUG_LAT,YCROCUS_DEBUG_LON
71 IF (hsnow_scheme==
'CRO')
THEN 73 CALL getenv(
"CROCUS_INFO",ycrocus_info)
74 SELECT CASE (ycrocus_info)
76 print*,
"CROCUS : print daily informations." 82 CALL getenv(
"CROCUS_DEBUG",ycrocus_debug)
83 SELECT CASE (ycrocus_debug)
85 print*,
"CROCUS DEBUGGING MODE : print snow profile at the end of each time step" 91 print*,
"CROCUS DEBUGGING MODE : print snow profile after each CROCUS routine" 97 print*,
"CROCUS DEBUGGING MODE : print snow profile at the end of each & 98 & time step and forcing data" 104 print*,
"CROCUS DEBUGGING MODE : print snow profile after each CROCUS routine & 111 print*,
"CROCUS DEBUGGING MODE : print everything" 123 CALL getenv(
"CROCUS_BALANCE",ycrocus_balance)
124 SELECT CASE (ycrocus_balance)
126 print*,
"CROCUS DEBUGGING MODE : print mass and energy balance diagnostics." 134 CALL getenv(
"CROCUS_DEBUG_DATE",ycrocus_debug_time)
135 IF ( len_trim(ycrocus_debug_time)>0 )
THEN 142 CALL getenv(
"CROCUS_DEBUG_DATE_END",ycrocus_debug_time)
143 IF (len_trim(ycrocus_debug_time)>0)
THEN 150 CALL getenv(
"CROCUS_DEBUG_HOUR",ycrocus_debug_hour)
151 IF (len_trim(ycrocus_debug_hour)>0)
THEN 158 CALL getenv(
"CROCUS_DEBUG_POINT",ycrocus_debug_point)
159 IF (len_trim(ycrocus_debug_point)>0)
THEN 165 CALL getenv(
"CROCUS_DEBUG_LAT",ycrocus_debug_lat)
166 IF (len_trim(ycrocus_debug_lat)>0)
THEN 172 CALL getenv(
"CROCUS_DEBUG_LON",ycrocus_debug_lon)
173 IF (len_trim(ycrocus_debug_lon)>0)
THEN 187 REAL,
DIMENSION(:),
INTENT(IN) :: PLAT,PLON
188 INTEGER,
INTENT(OUT) :: KDEBUG
logical, parameter lpstopbalance
real xwarning_energybalance
subroutine getpoint_crodebug(PLAT, PLON, KDEBUG)
real xwarning_massbalance
subroutine init_crodebug(HSNOW_SCHEME)