Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk.F90
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk.F90	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk.F90	(revision 11962)
@@ -142,22 +142,9 @@
       !!-------------------------------------------------------------------
       ALLOCATE( Cd_atm (jpi,jpj), Ch_atm (jpi,jpj), Ce_atm (jpi,jpj), t_zu(jpi,jpj), q_zu(jpi,jpj), &
-         &      cdn_oce(jpi,jpj), chn_oce(jpi,jpj), cen_oce(jpi,jpj), STAT=sbc_blk_alloc )
+         &      cdn_oce(jpi,jpj), chn_oce(jpi,jpj), cen_oce(jpi,jpj), tsk(jpi,jpj), STAT=sbc_blk_alloc )
       !
       CALL mpp_sum ( 'sbcblk', sbc_blk_alloc )
       IF( sbc_blk_alloc /= 0 )   CALL ctl_stop( 'STOP', 'sbc_blk_alloc: failed to allocate arrays' )
    END FUNCTION sbc_blk_alloc
-
-   !LB:
-   INTEGER FUNCTION sbc_blk_cswl_alloc()
-      !!-------------------------------------------------------------------
-      !!             ***  ROUTINE sbc_blk_cswl_alloc ***
-      !!-------------------------------------------------------------------
-      !WRITE(numout,*) '*** LB: allocating tsk!'
-      ALLOCATE( tsk(jpi,jpj), STAT=sbc_blk_cswl_alloc )
-      !WRITE(numout,*) '*** LB: done!'
-      CALL mpp_sum ( 'sbcblk', sbc_blk_cswl_alloc )
-      IF( sbc_blk_cswl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'sbc_blk_cswl_alloc: failed to allocate arrays' )
-   END FUNCTION sbc_blk_cswl_alloc
-   !LB.
 
 
@@ -222,9 +209,6 @@
       !LB:
       !                             !** initialization of the cool-skin / warm-layer parametrization
-      IF( ln_skin_cs .OR. ln_skin_wl ) THEN
-         IF ( ln_NCAR ) CALL ctl_stop( 'sbc_blk_init: Cool-skin/warm-layer param. not compatible with NCAR algorithm!' )
-         !                       ! allocate array(s) for cool-skin/warm-layer param.
-         IF( sbc_blk_cswl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_blk : unable to allocate standard arrays' )
-      END IF
+      IF( ln_NCAR .AND. (ln_skin_cs .OR. ln_skin_wl) ) &
+         & CALL ctl_stop( 'sbc_blk_init: Cool-skin/warm-layer param. not compatible with NCAR algorithm!' )
       !
       ioptio = 0
@@ -322,8 +306,7 @@
          !
          WRITE(numout,*)
-         WRITE(numout,*) '      use cool-skin  parameterization (SSST)  ln_skin_cs  = ', ln_skin_cs !LB
-         WRITE(numout,*) '      use warm-layer parameterization (SSST)  ln_skin_wl  = ', ln_skin_wl !LB
+         WRITE(numout,*) '      use cool-skin  parameterization (SSST)  ln_skin_cs  = ', ln_skin_cs
+         WRITE(numout,*) '      use warm-layer parameterization (SSST)  ln_skin_wl  = ', ln_skin_wl
          !
-         !LB:
          WRITE(numout,*)
          SELECT CASE( nhumi )              !* Print the choice of air humidity
@@ -332,5 +315,4 @@
          CASE( np_humi_rlh )   ;   WRITE(numout,*) '   ==>>>   air humidity is RELATIVE HUMIDITY     [%]'
          END SELECT
-         !LB.
          !
       ENDIF
@@ -390,5 +372,5 @@
          ENDIF
          tatm_ice(:,:)    = sf(jp_tair)%fnow(:,:,1)
-         !LB:
+
          SELECT CASE( nhumi )
          CASE( np_humi_sph )
@@ -399,5 +381,5 @@
             qatm_ice(:,:) = q_air_rh( 0.01_wp*sf(jp_humi)%fnow(:,:,1), sf(jp_tair)%fnow(:,:,1), sf(jp_slp)%fnow(:,:,1)) !LB: 0.01 => RH is % percent in file
          END SELECT
-         !LB.
+
          tprecip(:,:)     = sf(jp_prec)%fnow(:,:,1) * rn_pfac
          sprecip(:,:)     = sf(jp_snow)%fnow(:,:,1) * rn_pfac
@@ -445,5 +427,5 @@
       REAL(wp), DIMENSION(jpi,jpj) ::   zU_zu             ! bulk wind speed at height zu  [m/s]
       REAL(wp), DIMENSION(jpi,jpj) ::   ztpot             ! potential temperature of air at z=rn_zqt [K]
-      REAL(wp), DIMENSION(jpi,jpj) ::   zqair             ! specific humidity     of air at z=rn_zqt [kg/kg] !LB
+      REAL(wp), DIMENSION(jpi,jpj) ::   zqair             ! specific humidity     of air at z=rn_zqt [kg/kg]
       !!---------------------------------------------------------------------
       !
@@ -510,8 +492,8 @@
          zqair(:,:) =        sf(jp_humi)%fnow(:,:,1)      ! what we read in file is already a spec. humidity!
       CASE( np_humi_dpt )
-         IF (lwp) WRITE(numout,*) ' *** blk_oce => computing q_air out of d_air and slp !' !LBrm
+         !IF (lwp) WRITE(numout,*) ' *** blk_oce => computing q_air out of d_air and slp !' !LBrm
          zqair(:,:) = q_sat( sf(jp_humi)%fnow(:,:,1), sf(jp_slp)%fnow(:,:,1) )
       CASE( np_humi_rlh )
-         IF (lwp) WRITE(numout,*) ' *** blk_oce => computing q_air out of RH, t_air and slp !' !LBrm
+         !IF (lwp) WRITE(numout,*) ' *** blk_oce => computing q_air out of RH, t_air and slp !' !LBrm
          zqair(:,:) = q_air_rh( 0.01_wp*sf(jp_humi)%fnow(:,:,1), sf(jp_tair)%fnow(:,:,1), sf(jp_slp)%fnow(:,:,1) ) !LB: 0.01 => RH is % percent in file
       END SELECT
@@ -529,19 +511,16 @@
 
          CASE( np_COARE_3p0 )
-            IF (lwp) WRITE(numout,*) ' *** blk_oce => calling "turb_coare3p0" WITH CSWL options!!!, gdept_1d(1)=', gdept_1d(1) !LBrm
-            CALL turb_coare3p0 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,&  ! COARE v3.0
-               &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce,    &
+            CALL turb_coare3p0 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl, &
+               &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce,     &
                &                Qsw=qsr(:,:), rad_lw=sf(jp_qlw)%fnow(:,:,1), slp=sf(jp_slp)%fnow(:,:,1) )
 
          CASE( np_COARE_3p6 )
-            IF (lwp) WRITE(numout,*) ' *** blk_oce => calling "turb_coare3p6" WITH CSWL options!!!, gdept_1d(1)=', gdept_1d(1) !LBrm
-            CALL turb_coare3p6 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,&  ! COARE v3.6
-               &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce,    &
+            CALL turb_coare3p6 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl, &
+               &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce,     &
                &                Qsw=qsr(:,:), rad_lw=sf(jp_qlw)%fnow(:,:,1), slp=sf(jp_slp)%fnow(:,:,1) )
 
          CASE( np_ECMWF     )
-            IF (lwp) WRITE(numout,*) ' *** blk_oce => calling "turb_ecmwf" WITH CSWL options!!!, gdept_1d(1)=', gdept_1d(1) !LBrm
-            CALL turb_ecmwf   ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,    &  ! ECMWF
-               &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce,   &
+            CALL turb_ecmwf   ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,  &
+               &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce,     &
                &                Qsw=qsr(:,:), rad_lw=sf(jp_qlw)%fnow(:,:,1), slp=sf(jp_slp)%fnow(:,:,1) )
 
@@ -566,24 +545,20 @@
       ELSE !IF ( ln_skin_cs .OR. ln_skin_wl )
 
-
          SELECT CASE( nblk )        !==  transfer coefficients  ==!   Cd, Ch, Ce at T-point
             !
          CASE( np_NCAR      )
-            CALL turb_ncar    ( rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm,   &  ! NCAR-COREv2
+            CALL turb_ncar    (      rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm,                         &
                &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce )
 
          CASE( np_COARE_3p0 )
-            IF (lwp) WRITE(numout,*) ' *** blk_oce => calling "turb_coare3p0" WITHOUT CSWL optional arrays!!!' !LBrm
-            CALL turb_coare3p0 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,&  ! COARE v3.0
+            CALL turb_coare3p0 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl, &
                &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce )
 
          CASE( np_COARE_3p6 )
-            IF (lwp) WRITE(numout,*) ' *** blk_oce => calling "turb_coare3p6" WITHOUT CSWL optional arrays!!!' !LBrm
-            CALL turb_coare3p6 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,&  ! COARE v3.6
+            CALL turb_coare3p6 ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl, &
                &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce )
 
          CASE( np_ECMWF     )
-            IF (lwp) WRITE(numout,*) ' *** blk_oce => calling "turb_ecmwf" WITHOUT CSWL optional arrays!!!' !LBrm
-            CALL turb_ecmwf   ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,    &  ! ECMWF
+            CALL turb_ecmwf   ( kt, rn_zqt, rn_zu, zst, ztpot, zsq, zqair, wndm, ln_skin_cs, ln_skin_wl,  &
                &                Cd_atm, Ch_atm, Ce_atm, t_zu, q_zu, zU_zu, cdn_oce, chn_oce, cen_oce )
 
@@ -596,5 +571,5 @@
       !!      CALL iom_put( "Cd_oce", Cd_atm)  ! output value of pure ocean-atm. transfer coef.
       !!      CALL iom_put( "Ch_oce", Ch_atm)  ! output value of pure ocean-atm. transfer coef.
-      
+
       IF( ABS(rn_zu - rn_zqt) < 0.1_wp ) THEN
          !! If zu == zt, then ensuring once for all that:
@@ -602,31 +577,26 @@
          q_zu(:,:) = zqair(:,:)
       END IF
-      
+
 
       !  Turbulent fluxes over ocean  => BULK_FORMULA @ sbcblk_phy.F90
       ! -------------------------------------------------------------
-      
-      CALL BULK_FORMULA( rn_zu, zst(:,:), zsq(:,:), t_zu(:,:), q_zu(:,:), Cd_atm(:,:), Ch_atm(:,:), Ce_atm(:,:), &
-         &                 wndm(:,:), zU_zu(:,:), sf(jp_slp)%fnow(:,:,1), &
-         &                 taum(:,:), zqsb(:,:), zqla(:,:),               &
-         &                 pEvap=zevap(:,:), prhoa=rhoa(:,:) )
-      
+
+      CALL BULK_FORMULA( rn_zu, zst(:,:), zsq(:,:), t_zu(:,:), q_zu(:,:), &
+         &               Cd_atm(:,:), Ch_atm(:,:), Ce_atm(:,:),           &
+         &               wndm(:,:), zU_zu(:,:), sf(jp_slp)%fnow(:,:,1),   &
+         &               taum(:,:), zqsb(:,:), zqla(:,:),                 &
+         &               pEvap=zevap(:,:), prhoa=rhoa(:,:) )
+
       zqla(:,:)  =  zqla(:,:) * tmask(:,:,1)
       zqsb(:,:)  =  zqsb(:,:) * tmask(:,:,1)
       taum(:,:)  =  taum(:,:) * tmask(:,:,1)
       zevap(:,:) = zevap(:,:) * tmask(:,:,1)
-      
+
       ! Tau i and j component on T-grid points, using array "Cd_atm" as a temporary array...
       Cd_atm = 0._wp
       WHERE ( wndm > 0._wp ) Cd_atm = taum / wndm
       zwnd_i = Cd_atm * zwnd_i
-      zwnd_j = Cd_atm * zwnd_j      
-      !DO jj = 1, jpj             ! tau i and j component on T-grid points
-      !   DO ji = 1, jpi
-      !      zztmp = taum(ji,jj) / MAX( wndm(ji,jj) , 0.01_wp )
-      !      zwnd_i(ji,jj) = zztmp * zwnd_i(ji,jj)
-      !      zwnd_j(ji,jj) = zztmp * zwnd_j(ji,jj)
-      !   END DO
-      !END DO
+      zwnd_j = Cd_atm * zwnd_j
+
       !                          ! add the HF tau contribution to the wind stress module
       IF( lhftau )   taum(:,:) = taum(:,:) + sf(jp_tdif)%fnow(:,:,1)
@@ -652,5 +622,6 @@
       ! ----------------------------------------------------------------------------- !
 
-      !! LB: now moved after Turbulent fluxes because must use the skin temperature rather that the SST ! (zst is skin temperature if ln_skin_cs==.TRUE. .OR. ln_skin_wl==.TRUE.)
+      !! LB: now moved after Turbulent fluxes because must use the skin temperature rather that the SST
+      !! (zst is skin temperature if ln_skin_cs==.TRUE. .OR. ln_skin_wl==.TRUE.)
       zqlw(:,:) = emiss_w * ( sf(jp_qlw)%fnow(:,:,1) - stefan*zst(:,:)*zst(:,:)*zst(:,:)*zst(:,:) ) * tmask(:,:,1)   ! Net radiative longwave flux
 
@@ -848,8 +819,8 @@
          zqair(:,:) =        sf(jp_humi)%fnow(:,:,1)      ! what we read in file is already a spec. humidity!
       CASE( np_humi_dpt )
-         IF (lwp) WRITE(numout,*) ' *** blk_ice_flx => computing q_air out of d_air and slp !' !LBrm
+         !IF (lwp) WRITE(numout,*) ' *** blk_ice_flx => computing q_air out of d_air and slp !' !LBrm
          zqair(:,:) = q_sat( sf(jp_humi)%fnow(:,:,1), sf(jp_slp)%fnow(:,:,1) )
       CASE( np_humi_rlh )
-         IF (lwp) WRITE(numout,*) ' *** blk_ice_flx => computing q_air out of RH, t_air and slp !' !LBrm
+         !IF (lwp) WRITE(numout,*) ' *** blk_ice_flx => computing q_air out of RH, t_air and slp !' !LBrm
          zqair(:,:) = q_air_rh( 0.01_wp*sf(jp_humi)%fnow(:,:,1), sf(jp_tair)%fnow(:,:,1), sf(jp_slp)%fnow(:,:,1) ) !LB: 0.01 => RH is % percent in file
       END SELECT
Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_coare3p0.F90
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_coare3p0.F90	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_coare3p0.F90	(revision 11962)
@@ -43,5 +43,5 @@
    PRIVATE
 
-   PUBLIC :: COARE3P0_INIT, TURB_COARE3P0
+   PUBLIC :: SBCBLK_ALGO_COARE3P0_INIT, TURB_COARE3P0
 
    !! COARE own values for given constants:
@@ -55,7 +55,7 @@
 
 
-   SUBROUTINE coare3p0_init(l_use_cs, l_use_wl)
+   SUBROUTINE sbcblk_algo_coare3p0_init(l_use_cs, l_use_wl)
       !!---------------------------------------------------------------------
-      !!                  ***  FUNCTION coare3p0_init  ***
+      !!                  ***  FUNCTION sbcblk_algo_coare3p0_init  ***
       !!
       !! INPUT :
@@ -71,5 +71,5 @@
          ierr = 0
          ALLOCATE ( Tau_ac(jpi,jpj) , Qnt_ac(jpi,jpj), dT_wl(jpi,jpj), Hz_wl(jpi,jpj), STAT=ierr )
-         IF( ierr > 0 ) CALL ctl_stop( ' COARE3P0_INIT => allocation of Tau_ac, Qnt_ac, dT_wl & Hz_wl failed!' )
+         IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P0_INIT => allocation of Tau_ac, Qnt_ac, dT_wl & Hz_wl failed!' )
          Tau_ac(:,:) = 0._wp
          Qnt_ac(:,:) = 0._wp
@@ -80,8 +80,8 @@
          ierr = 0
          ALLOCATE ( dT_cs(jpi,jpj), STAT=ierr )
-         IF( ierr > 0 ) CALL ctl_stop( ' COARE3P0_INIT => allocation of dT_cs failed!' )
+         IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P0_INIT => allocation of dT_cs failed!' )
          dT_cs(:,:) = -0.25_wp  ! First guess of skin correction
       END IF
-   END SUBROUTINE coare3p0_init
+   END SUBROUTINE sbcblk_algo_coare3p0_init
 
 
@@ -185,13 +185,10 @@
       REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2
       !
-      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: &
-         &              zeta_t,   &  ! stability parameter at height zt
-         &                zsst,   &  ! to back up the initial bulk SST
-         &                pdTc,   &  ! SST increment "dT" for cool-skin correction           [K]
-         &                pdTw,   &  ! SST increment "dT" for warm layer correction          [K]
-         &                zHwl       ! depth of warm-layer [m]
+      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zeta_t  ! stability parameter at height zt
+      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsst    ! to back up the initial bulk SST
+      !
       CHARACTER(len=40), PARAMETER :: crtnm = 'turb_coare3p0@sbcblk_algo_coare3p0'
       !!----------------------------------------------------------------------------------
-      IF ( kt == nit000 ) CALL COARE3P0_INIT(l_use_cs, l_use_wl)
+      IF ( kt == nit000 ) CALL SBCBLK_ALGO_COARE3P0_INIT(l_use_cs, l_use_wl)
 
       l_zt_equal_zu = .FALSE.
Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_coare3p6.F90
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_coare3p6.F90	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_coare3p6.F90	(revision 11962)
@@ -43,5 +43,5 @@
    PRIVATE
 
-   PUBLIC :: COARE3P6_INIT, TURB_COARE3P6
+   PUBLIC :: SBCBLK_ALGO_COARE3P6_INIT, TURB_COARE3P6
 
    !! COARE own values for given constants:
@@ -55,7 +55,7 @@
 
 
-   SUBROUTINE coare3p6_init(l_use_cs, l_use_wl)
+   SUBROUTINE sbcblk_algo_coare3p6_init(l_use_cs, l_use_wl)
       !!---------------------------------------------------------------------
-      !!                  ***  FUNCTION coare3p6_init  ***
+      !!                  ***  FUNCTION sbcblk_algo_coare3p6_init  ***
       !!
       !! INPUT :
@@ -71,5 +71,5 @@
          ierr = 0
          ALLOCATE ( Tau_ac(jpi,jpj) , Qnt_ac(jpi,jpj), dT_wl(jpi,jpj), Hz_wl(jpi,jpj), STAT=ierr )
-         IF( ierr > 0 ) CALL ctl_stop( ' COARE3P6_INIT => allocation of Tau_ac, Qnt_ac, dT_wl & Hz_wl failed!' )
+         IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P6_INIT => allocation of Tau_ac, Qnt_ac, dT_wl & Hz_wl failed!' )
          Tau_ac(:,:) = 0._wp
          Qnt_ac(:,:) = 0._wp
@@ -80,8 +80,8 @@
          ierr = 0
          ALLOCATE ( dT_cs(jpi,jpj), STAT=ierr )
-         IF( ierr > 0 ) CALL ctl_stop( ' COARE3P6_INIT => allocation of dT_cs failed!' )
+         IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P6_INIT => allocation of dT_cs failed!' )
          dT_cs(:,:) = -0.25_wp  ! First guess of skin correction
       END IF
-   END SUBROUTINE coare3p6_init
+   END SUBROUTINE sbcblk_algo_coare3p6_init
 
 
@@ -185,13 +185,10 @@
       REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2
       !
-      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: &
-         &              zeta_t,   &  ! stability parameter at height zt
-         &                zsst,   &  ! to back up the initial bulk SST
-         &                pdTc,   &  ! SST increment "dT" for cool-skin correction           [K]
-         &                pdTw,   &  ! SST increment "dT" for warm layer correction          [K]
-         &                zHwl       ! depth of warm-layer [m]
+      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zeta_t  ! stability parameter at height zt
+      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsst    ! to back up the initial bulk SST
+      !
       CHARACTER(len=40), PARAMETER :: crtnm = 'turb_coare3p6@sbcblk_algo_coare3p6'
       !!----------------------------------------------------------------------------------
-      IF ( kt == nit000 ) CALL COARE3P6_INIT(l_use_cs, l_use_wl)
+      IF ( kt == nit000 ) CALL SBCBLK_ALGO_COARE3P6_INIT(l_use_cs, l_use_wl)
 
       l_zt_equal_zu = .FALSE.
Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_ecmwf.F90
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_ecmwf.F90	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_ecmwf.F90	(revision 11962)
@@ -44,5 +44,5 @@
    PRIVATE
 
-   PUBLIC :: ECMWF_INIT, TURB_ECMWF
+   PUBLIC :: SBCBLK_ALGO_ECMWF_INIT, TURB_ECMWF
 
    !! ECMWF own values for given constants, taken form IFS documentation...
@@ -61,7 +61,7 @@
 
 
-   SUBROUTINE ecmwf_init(l_use_cs, l_use_wl)
+   SUBROUTINE sbcblk_algo_ecmwf_init(l_use_cs, l_use_wl)
       !!---------------------------------------------------------------------
-      !!                  ***  FUNCTION ecmwf_init  ***
+      !!                  ***  FUNCTION sbcblk_algo_ecmwf_init  ***
       !!
       !! INPUT :
@@ -77,5 +77,5 @@
          ierr = 0
          ALLOCATE ( dT_wl(jpi,jpj), Hz_wl(jpi,jpj), STAT=ierr )
-         IF( ierr > 0 ) CALL ctl_stop( ' ECMWF_INIT => allocation of dT_wl & Hz_wl failed!' )
+         IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_ECMWF_INIT => allocation of dT_wl & Hz_wl failed!' )
          dT_wl(:,:)  = 0._wp
          Hz_wl(:,:)  = rd0 ! (rd0, constant, = 3m is default for Zeng & Beljaars)
@@ -84,8 +84,8 @@
          ierr = 0
          ALLOCATE ( dT_cs(jpi,jpj), STAT=ierr )
-         IF( ierr > 0 ) CALL ctl_stop( ' ECMWF_INIT => allocation of dT_cs failed!' )
+         IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_ECMWF_INIT => allocation of dT_cs failed!' )
          dT_cs(:,:) = -0.25_wp  ! First guess of skin correction
       END IF
-   END SUBROUTINE ecmwf_init
+   END SUBROUTINE sbcblk_algo_ecmwf_init
 
 
@@ -182,22 +182,18 @@
       LOGICAL :: l_zt_equal_zu = .FALSE.      ! if q and t are given at same height as U
       !
-      REAL(wp), DIMENSION(jpi,jpj) ::  &
-         &  u_star, t_star, q_star, &
-         &  dt_zu, dq_zu,    &
-         &  znu_a,           & !: Nu_air, Viscosity of air
-         &  Linv,            & !: 1/L (inverse of Monin Obukhov length...
-         &  z0, z0t, z0q
-      !
-      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: &
-         &                zsst,   &  ! to back up the initial bulk SST
-         &                pdTc,   &  ! SST increment "dT" for cool-skin correction           [K]
-         &                pdTw       ! SST increment "dT" for warm layer correction          [K]
-      !
-      REAL(wp), DIMENSION(jpi,jpj) ::   func_m, func_h
-      REAL(wp), DIMENSION(jpi,jpj) ::   ztmp0, ztmp1, ztmp2
+      REAL(wp), DIMENSION(jpi,jpj) ::  u_star, t_star, q_star
+      REAL(wp), DIMENSION(jpi,jpj) :: dt_zu, dq_zu     
+      REAL(wp), DIMENSION(jpi,jpj) :: znu_a !: Nu_air, Viscosity of air
+      REAL(wp), DIMENSION(jpi,jpj) :: Linv  !: 1/L (inverse of Monin Obukhov length...
+      REAL(wp), DIMENSION(jpi,jpj) :: z0, z0t, z0q
+      !
+      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsst  ! to back up the initial bulk SST
+      !
+      REAL(wp), DIMENSION(jpi,jpj) :: func_m, func_h
+      REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2
       CHARACTER(len=40), PARAMETER :: crtnm = 'turb_ecmwf@sbcblk_algo_ecmwf.F90'
       !!----------------------------------------------------------------------------------
 
-      IF ( kt == nit000 ) CALL ECMWF_INIT(l_use_cs, l_use_wl)
+      IF ( kt == nit000 ) CALL SBCBLK_ALGO_ECMWF_INIT(l_use_cs, l_use_wl)
 
       l_zt_equal_zu = .FALSE.
@@ -367,5 +363,5 @@
             CALL WL_ECMWF( Qsw, ztmp1, u_star, zsst )
             !! Updating T_s and q_s !!!
-            T_s(:,:) = zsst(:,:) + dT_wl(:,:)*tmask(:,:,1)
+            T_s(:,:) = zsst(:,:) + dT_wl(:,:)*tmask(:,:,1) !
             IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*tmask(:,:,1)
             q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:))
Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_phy.F90
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_phy.F90	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_phy.F90	(revision 11962)
@@ -531,8 +531,9 @@
             zCe = zz0*pqst(ji,jj)/zdq
 
-            CALL BULK_FORMULA( pzu, pTs(ji,jj), pqs(ji,jj), pTa(ji,jj), pqa(ji,jj), zCd, zCh, zCe, &
-               &              pwnd(ji,jj), pUb(ji,jj), pslp(ji,jj), &
+            CALL BULK_FORMULA( pzu, pTs(ji,jj), pqs(ji,jj), pTa(ji,jj), pqa(ji,jj), &
+               &              zCd, zCh, zCe,                                        &
+               &              pwnd(ji,jj), pUb(ji,jj), pslp(ji,jj),                 &
                &              pTau(ji,jj), zQsen, zQlat )
-
+            
             zTs2  = pTs(ji,jj)*pTs(ji,jj)
             zQlw  = emiss_w*(prlw(ji,jj) - stefan*zTs2*zTs2) ! Net longwave flux
@@ -545,7 +546,9 @@
    END SUBROUTINE UPDATE_QNSOL_TAU
 
-
-   SUBROUTINE BULK_FORMULA_VCTR( pzu, pTs, pqs, pTa, pqa, pCd, pCh, pCe, pwnd, pUb, pslp, &
-      &                                 pTau, pQsen, pQlat,  pEvap, prhoa )
+   
+   SUBROUTINE BULK_FORMULA_VCTR( pzu, pTs, pqs, pTa, pqa,  &
+      &                          pCd, pCh, pCe,            &
+      &                          pwnd, pUb, pslp,          &
+      &                          pTau, pQsen, pQlat,  pEvap, prhoa )
       !!----------------------------------------------------------------------------------
       REAL(wp),                     INTENT(in)  :: pzu  ! height above the sea-level where all this takes place (normally 10m)
@@ -598,7 +601,9 @@
    END SUBROUTINE BULK_FORMULA_VCTR
 
-
-   SUBROUTINE BULK_FORMULA_SCLR( pzu, pTs, pqs, pTa, pqa, pCd, pCh, pCe, pwnd, pUb, pslp, &
-      &                                 pTau, pQsen, pQlat,  pEvap, prhoa )
+   
+   SUBROUTINE BULK_FORMULA_SCLR( pzu, pTs, pqs, pTa, pqa, &
+      &                          pCd, pCh, pCe,           &
+      &                          pwnd, pUb, pslp,         &
+      &                          pTau, pQsen, pQlat,  pEvap, prhoa )
       !!----------------------------------------------------------------------------------
       REAL(wp),                     INTENT(in)  :: pzu  ! height above the sea-level where all this takes place (normally 10m)
Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_skin_coare.F90
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_skin_coare.F90	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_skin_coare.F90	(revision 11962)
@@ -61,5 +61,6 @@
       !!---------------------------------------------------------------------
       !!
-      !! Cool-skin parameterization, based on Fairall et al., 1996, revisited for COARE 3.6 (Fairall et al., 2019)
+      !! Cool-skin parameterization, based on Fairall et al., 1996,
+      !! revisited for COARE 3.6 (Fairall et al., 2019)
       !!
       !! Fairall, C. W., Bradley, E. F., Godfrey, J. S., Wick, G. A.,
Index: /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/EXPREF/plot_station_asf.py
===================================================================
--- /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/EXPREF/plot_station_asf.py	(revision 11961)
+++ /NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/EXPREF/plot_station_asf.py	(revision 11962)
@@ -58,6 +58,6 @@
 if narg != 3:
     print 'Usage: '+sys.argv[0]+' <DIR_OUT_SASF> <year>'; sys.exit(0)
-cdir_in = sys.argv[1]
-cyyyy   = sys.argv[2]
+cdir_data = sys.argv[1]
+cyyyy     = sys.argv[2]
 
 
