Index: /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/cfgs/SHARED/field_def_nemo-oce.xml
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/cfgs/SHARED/field_def_nemo-oce.xml	(revision 15667)
+++ /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/cfgs/SHARED/field_def_nemo-oce.xml	(revision 15668)
@@ -68,4 +68,5 @@
         <field id="somint"       long_name="vertical integral of salinity times density"        standard_name="integral_wrt_depth_of_product_of_density_and_salinity"  unit="(kg m2) x (1e-3)" /> 
 
+        <field id="htau"         long_name="htau length scale"                                                                                      unit="m"     />
         <field id="taubot"       long_name="bottom stress module"                                                                                   unit="N/m2"     /> 
 
Index: /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/src/OCE/DIA/diawri.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/src/OCE/DIA/diawri.F90	(revision 15667)
+++ /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/src/OCE/DIA/diawri.F90	(revision 15668)
@@ -43,4 +43,5 @@
    USE zdfdrg         ! ocean vertical physics: top/bottom friction
    USE zdfmxl         ! mixed layer
+   USE zdftke, ONLY: htau
    !
    USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
@@ -229,4 +230,5 @@
       CALL iom_put( "avs" , avs )                  ! S vert. eddy diff. coef.
       CALL iom_put( "avm" , avm )                  ! T vert. eddy visc. coef.
+      CALL iom_put( "htau" , htau )                ! htau scaling
 
       IF( iom_use('logavt') )   CALL iom_put( "logavt", LOG( MAX( 1.e-20_wp, avt(:,:,:) ) ) )
Index: /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/src/OCE/ZDF/zdftke.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/src/OCE/ZDF/zdftke.F90	(revision 15667)
+++ /NEMO/branches/UKMO/NEMO_4.0.4_GO6_mixing/src/OCE/ZDF/zdftke.F90	(revision 15668)
@@ -92,5 +92,5 @@
    REAL(wp) ::   rhftau_scl = 1.0_wp       ! scale factor applied to HF part of taum  (nn_etau=3)
 
-   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   htau    ! depth of tke penetration (nn_htau)
+   REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:)   ::   htau    ! depth of tke penetration (nn_htau)
    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   dissl   ! now mixing lenght of dissipation
    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   apdlr   ! now mixing lenght of dissipation
@@ -805,5 +805,5 @@
       IF( nn_mxl  < 0   .OR.  nn_mxl  > 3 )   CALL ctl_stop( 'bad flag: nn_mxl is  0, 1 or 2 ' )
       IF( nn_pdl  < 0   .OR.  nn_pdl  > 1 )   CALL ctl_stop( 'bad flag: nn_pdl is  0 or 1    ' )
-      IF( ( nn_htau < 0   .OR.  nn_htau > 1 ) .AND. nn_htau .NE. 4 )   CALL ctl_stop( 'bad flag: nn_htau is 0, 1 or 4 ' )
+      IF( ( nn_htau < 0   .OR.  nn_htau > 1 ) .AND. nn_htau .NE. 4 .AND. nn_htau .NE. 5 )   CALL ctl_stop( 'bad flag: nn_htau is 0, 1 or 4 ' )
       IF( nn_etau == 3 .AND. .NOT. ln_cpl )   CALL ctl_stop( 'nn_etau == 3 : HF taum only known in coupled mode' )
       !
@@ -830,4 +830,13 @@
                   ELSE
                      htau(ji,jj) = MAX(  0.5_wp, MIN( 10._wp, 45._wp* rn_htau_scaling*ABS( SIN( rpi/180._wp * gphit(ji,jj) ) ) )   )
+                  ENDIF
+               END DO
+            END DO
+         CASE( 5 )                                 ! Variation on case 4 with a steeper ramp further south in Southern Hemisphere
+            DO jj = 2, jpjm1
+               DO ji = fs_2, fs_jpim1   ! vector opt.
+                  htau(ji,jj) = MAX(  0.5_wp, MIN( 10._wp, 45._wp* rn_htau_scaling*ABS( SIN( rpi/180._wp * gphit(ji,jj) ) ) )   )
+                  IF( gphit(ji,jj) <= -40._wp ) THEN
+                      htau(ji,jj) = htau(ji,jj) + MIN( 20._wp, 135._wp * ABS( SIN( rpi/180._wp * (gphit(ji,jj) + 40.0) ) ) )
                   ENDIF
                END DO
