Index: /LMDZ6/branches/LMDZ_cdrag_LSCE/libf/phylmd/cdrag_mod.F90
===================================================================
--- /LMDZ6/branches/LMDZ_cdrag_LSCE/libf/phylmd/cdrag_mod.F90	(revision 4720)
+++ /LMDZ6/branches/LMDZ_cdrag_LSCE/libf/phylmd/cdrag_mod.F90	(revision 4721)
@@ -174,4 +174,6 @@
   INTEGER, SAVE :: iflag_corr_insta
   !$OMP THREADPRIVATE(iflag_corr_insta)
+  LOGICAL, SAVE :: ok_cdrag_iter
+  !$OMP THREADPRIVATE(ok_cdrag_iter)
 
 !===================================================================c
@@ -247,10 +249,12 @@
 ! On choisit les fonctions de stabilite utilisees au premier appel
 !**************************************************************************
-  IF (firstcall) THEN
+ IF (firstcall) THEN
    iflag_corr_sta=2
    iflag_corr_insta=2
+   ok_cdrag_iter = .FALSE.
  
    CALL getin_p('iflag_corr_sta',iflag_corr_sta)
    CALL getin_p('iflag_corr_insta',iflag_corr_insta)
+   CALL getin_p('ok_cdrag_iter',ok_cdrag_iter)
 
    firstcall = .FALSE.
@@ -489,18 +493,22 @@
              cdhh(i)=MIN(cdh(i),cdhmax)
            ENDIF
-           rugos_itm(i,1) = rugos_itm(i,2)
-           rugos_ith(i,1) = rugos_ith(i,2)
-           rugos_itm(i,2) =  0.018*cdmm(i) * (speed(i))/RG  &
+           IF (ok_cdrag_iter) THEN
+             rugos_itm(i,1) = rugos_itm(i,2)
+             rugos_ith(i,1) = rugos_ith(i,2)
+             rugos_itm(i,2) =  0.018*cdmm(i) * (speed(i))/RG  &
                               +  0.11*14e-6 / SQRT(cdmm(i) * zdu2)
 
 !---------- Version SEPARATION DES Z0 ----------------------
-           IF (iflag_z0_oce==0) THEN
-             rugos_ith(i,2) = rugos_itm(i,2)
-           ELSE IF (iflag_z0_oce==1) THEN
-             rugos_ith(i,2) = 0.40*14e-6 / SQRT(cdmm(i) * zdu2)
+             IF (iflag_z0_oce==0) THEN
+               rugos_ith(i,2) = rugos_itm(i,2)
+             ELSE IF (iflag_z0_oce==1) THEN
+               rugos_ith(i,2) = 0.40*14e-6 / SQRT(cdmm(i) * zdu2)
+             ENDIF
            ENDIF
          ENDIF
-         rugos_itm(i,2) = MAX(1.5e-05,rugos_itm(i,2))
-         rugos_ith(i,2) = MAX(1.5e-05,rugos_ith(i,2))
+         IF (ok_cdrag_iter) THEN
+           rugos_itm(i,2) = MAX(1.5e-05,rugos_itm(i,2))
+           rugos_ith(i,2) = MAX(1.5e-05,rugos_ith(i,2))
+         ENDIF
        ENDDO
        IF (nsrf.EQ.is_oce) THEN
