Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/cfgs/SHARED/field_def_nemo-ice.xml
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/cfgs/SHARED/field_def_nemo-ice.xml	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/cfgs/SHARED/field_def_nemo-ice.xml	(revision 13981)
@@ -71,9 +71,11 @@
       <field id="utau_ai"      long_name="X-component of atmospheric stress on sea ice"            standard_name="surface_downward_x_stress"                 unit="N/m2" />
       <field id="vtau_ai"      long_name="Y-component of atmospheric stress on sea ice"            standard_name="surface_downward_y_stress"                 unit="N/m2" />
-      <field id="taum_ai"      long_name="Module of atmospheric stress on sea ice (T-points)"      standard_name="mod_surface_downward_stress"               unit="N/m2" />
       <field id="utau_oi"      long_name="X-component of ocean stress on sea ice"                  standard_name="sea_ice_base_upward_x_stress"              unit="N/m2" />
       <field id="vtau_oi"      long_name="Y-component of ocean stress on sea ice"                  standard_name="sea_ice_base_upward_y_stress"              unit="N/m2" />
       <field id="utau_bi"      long_name="X-component of ocean bottom stress on sea ice -landfast" standard_name="ocean_bottom_upward_x_stress"              unit="N/m2" />
       <field id="vtau_bi"      long_name="Y-component of ocean bottom stress on sea ice -landfast" standard_name="ocean_bottom_upward_y_stress"              unit="N/m2" />
+      <field id="taum_ice"     long_name="Module of atmospheric stress on sea ice (T-points)"      standard_name="mod_surface_downward_stress"               unit="N/m2" />
+      <field id="utau_ice"     long_name="X-component of ocean stress on sea ice (T-points)"       standard_name="sea_ice_base_upward_x_stress_Tpoints"      unit="N/m2" />
+      <field id="vtau_ice"     long_name="Y-component of ocean stress on sea ice (T-points)"       standard_name="sea_ice_base_upward_y_stress_Tpoints"      unit="N/m2" />
       <field id="sig1_pnorm"   long_name="P-normalized 1st principal stress component"                                                                       unit=""     />
       <field id="sig2_pnorm"   long_name="P-normalized 2nd principal stress component"                                                                       unit=""     />
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/cfgs/SHARED/field_def_nemo-oce.xml
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/cfgs/SHARED/field_def_nemo-oce.xml	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/cfgs/SHARED/field_def_nemo-oce.xml	(revision 13981)
@@ -376,4 +376,6 @@
       <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                                     unit="W/m2"  />
       <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress"               unit="N/m2"  />
+      <field id="utau_oce"     long_name="Wind Stress along i-axis over open ocean (T-points)"  standard_name="surf_down_x_stress_open_oce_Tpoints"        unit="N/m2"   />
+      <field id="vtau_oce"     long_name="Wind Stress along j-axis over open ocean (T-points)"  standard_name="surf_down_y_stress_open_oce_Tpoints"        unit="N/m2"    />
 
       <!-- variables computed by the bulk parameterization algorithms (ln_blk) -->
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/DYN/dynatf.F90
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/DYN/dynatf.F90	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/DYN/dynatf.F90	(revision 13981)
@@ -332,7 +332,6 @@
             CALL iom_put(  "utau", zutau(:,:) )
             DEALLOCATE(zutau)
-         !ELSE
-         ! #laurent: it is done in blk_oce_1() of sbcblk.F90 !
-         !       CALL iom_put(  "utau", utau(:,:) )
+         ELSE
+            CALL iom_put(  "utau", utau(:,:) )
          ENDIF
       ENDIF
@@ -347,7 +346,6 @@
             CALL iom_put(  "vtau", zvtau(:,:) )
             DEALLOCATE(zvtau)
-         !ELSE
-         ! #laurent: it is done in blk_oce_1() of sbcblk.F90 !
-         !   CALL iom_put(  "vtau", vtau(:,:) )
+         ELSE
+            CALL iom_put(  "vtau", vtau(:,:) )
          ENDIF
       ENDIF
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/SBC/sbcblk.F90
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/SBC/sbcblk.F90	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/SBC/sbcblk.F90	(revision 13981)
@@ -64,5 +64,4 @@
 
    USE sbc_phy        ! Catalog of functions for physical/meteorological parameters in the marine boundary layer
-   USE zdfdrg  , ONLY : ln_drgice_imp  ! to know if we should iom_put wind stress vector (utau,vtau) #laurent
 
    IMPLICIT NONE
@@ -856,10 +855,9 @@
          ENDIF
 
-         CALL iom_put( "taum_oce", taum*tmask(:,:,1) )   ! output wind stress module
-         IF ( .NOT. (ln_drgice_imp.OR.ln_isfcav) ) THEN
-            ! #Laurent: because otherwize utau and vtau are saved into dyn_atf() of dynatf.F90
-            CALL iom_put( "utau", utau(:,:) )
-            CALL iom_put( "vtau", vtau(:,:) )
-         END IF
+         ! Saving open-ocean wind-stress (module and components) on T-points:
+         CALL iom_put( "taum_oce",   taum(:,:)*tmask(:,:,1) )   ! output wind stress module
+         !#LB: These 2 lines below mostly here for 'STATION_ASF' test-case, otherwize "utau" (U-grid) and vtau" (V-grid) does the job in: [DYN/dynatf.F90])
+         CALL iom_put( "utau_oce", ztau_i(:,:)*tmask(:,:,1) )  ! utau at T-points!
+         CALL iom_put( "vtau_oce", ztau_j(:,:)*tmask(:,:,1) )  ! vtau at T-points!
          
          IF(sn_cfctl%l_prtctl) THEN
@@ -1053,6 +1051,6 @@
          !!
       END SELECT
-
-      IF( iom_use('Cd_ice').OR.iom_use('Ce_ice').OR.iom_use('Ch_ice').OR.iom_use('taum_ai') ) &
+      
+      IF( iom_use('Cd_ice').OR.iom_use('Ce_ice').OR.iom_use('Ch_ice').OR.iom_use('taum_ice').OR.iom_use('utau_ice').OR.iom_use('vtau_ice') ) &
          & ztmp(:,:) = ( 1._wp - MAX(0._wp, SIGN( 1._wp, 1.E-6_wp - fr_i )) )*tmask(:,:,1) ! mask for presence of ice !
 
@@ -1068,18 +1066,23 @@
          ! supress moving ice in wind stress computation as we don't know how to do it properly...
          DO_2D( 0, 1, 0, 1 )    ! at T point
-         zztmp1        = rhoa(ji,jj) * Cd_ice(ji,jj) * wndm_ice(ji,jj)
-         putaui(ji,jj) =  zztmp1 * pwndi(ji,jj)
-         pvtaui(ji,jj) =  zztmp1 * pwndj(ji,jj)
+            zztmp1        = rhoa(ji,jj) * Cd_ice(ji,jj) * wndm_ice(ji,jj)
+            putaui(ji,jj) =  zztmp1 * pwndi(ji,jj)
+            pvtaui(ji,jj) =  zztmp1 * pwndj(ji,jj)
          END_2D
-         !#LB: saving the module of the ai wind-stress: NOT weighted by the ice concentration !!!
-         IF(iom_use('taum_ai')) CALL iom_put( 'taum_ai', SQRT( putaui*putaui + pvtaui*pvtaui )*ztmp )
+
+         !#LB: saving the module, and x-y components, of the ai wind-stress at T-points: NOT weighted by the ice concentration !!!
+         IF(iom_use('taum_ice')) CALL iom_put('taum_ice', SQRT( putaui*putaui + pvtaui*pvtaui )*ztmp )
+         !#LB: These 2 lines below mostly here for 'STATION_ASF' test-case, otherwize "utau_oi" (U-grid) and vtau_oi" (V-grid) does the job in: [ICE/icedyn_rhg_evp.F90])
+         IF(iom_use('utau_ice')) CALL iom_put("utau_ice", putaui*ztmp)  ! utau at T-points!
+         IF(iom_use('vtau_ice')) CALL iom_put("vtau_ice", pvtaui*ztmp)  ! vtau at T-points!
+         
          !
          DO_2D( 0, 0, 0, 0 )    ! U & V-points (same as ocean).
-         !#LB: QUESTION?? so SI3 expects wind stress vector to be provided at U & V points? Not at T-points ?
-         ! take care of the land-sea mask to avoid "pollution" of coastal stress. p[uv]taui used in frazil and  rheology
-         zztmp1 = 0.5_wp * ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1),tmask(ji+1,jj  ,1) )
-         zztmp2 = 0.5_wp * ( 2. - vmask(ji,jj,1) ) * MAX( tmask(ji,jj,1),tmask(ji  ,jj+1,1) )
-         putaui(ji,jj) = zztmp1 * ( putaui(ji,jj) + putaui(ji+1,jj  ) )
-         pvtaui(ji,jj) = zztmp2 * ( pvtaui(ji,jj) + pvtaui(ji  ,jj+1) )
+            !#LB: QUESTION?? so SI3 expects wind stress vector to be provided at U & V points? Not at T-points ?
+            ! take care of the land-sea mask to avoid "pollution" of coastal stress. p[uv]taui used in frazil and  rheology
+            zztmp1 = 0.5_wp * ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1),tmask(ji+1,jj  ,1) )
+            zztmp2 = 0.5_wp * ( 2. - vmask(ji,jj,1) ) * MAX( tmask(ji,jj,1),tmask(ji  ,jj+1,1) )
+            putaui(ji,jj) = zztmp1 * ( putaui(ji,jj) + putaui(ji+1,jj  ) )
+            pvtaui(ji,jj) = zztmp2 * ( pvtaui(ji,jj) + pvtaui(ji  ,jj+1) )
          END_2D
          CALL lbc_lnk_multi( 'sbcblk', putaui, 'U', -1._wp, pvtaui, 'V', -1._wp )
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/file_def_nemo-ice.xml
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/file_def_nemo-ice.xml	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/file_def_nemo-ice.xml	(revision 13981)
@@ -20,5 +20,7 @@
           <field field_ref="vtau_ai"          name="vtau_ai" />
       -->
-      <field field_ref="taum_ai"          name="taum_ai" />
+      <field field_ref="taum_ice"          name="taum_ice" />
+      <field field_ref="utau_ice"          name="utau_ice" />
+      <field field_ref="vtau_ice"          name="vtau_ice" />
 
       <!-- heat fluxes -->
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/file_def_nemo-oce.xml
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/file_def_nemo-oce.xml	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/file_def_nemo-oce.xml	(revision 13981)
@@ -28,5 +28,7 @@
       <!-- <field field_ref="empmr"   name="empmr" /> -->
       <!-- -->
-      <field field_ref="taum"         name="taum"   />
+      <field field_ref="taum_oce"     name="taum"   />
+      <field field_ref="utau_oce"     name="utau"   />
+      <field field_ref="vtau_oce"     name="vtau"   />
       <field field_ref="wspd"         name="windsp" />
       <!-- -->
@@ -41,12 +43,4 @@
       <field field_ref="ssq"          name="ssq" />
       <field field_ref="wspd_blk"     name="wspd_blk" />      
-    </file>
-
-    <file id="file2" name_suffix="_gridU" description="ocean U grid variables" compression_level="3" >
-      <field field_ref="utau"         name="tauuo"    />
-    </file>
-
-    <file id="file3" name_suffix="_gridV" description="ocean V grid variables" compression_level="3" >
-      <field field_ref="vtau"         name="tauvo"    />
     </file>
 
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/launch_sasf.sh
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/launch_sasf.sh	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/launch_sasf.sh	(revision 13981)
@@ -18,6 +18,6 @@
 #     => i_sea_ice: whether to compute fluxes over sea-ice as well
 #     => SFORC: string sufficient to copy relevant files as in "*${SFORC}*.nc"
-#FORCING="PAPA"                 ; i_sea_ice=0 ; SFORC="Station_PAPA_50N-145W"
-FORCING="ERA5_NorthGreenland" ; i_sea_ice=1 ; SFORC="ERA5_NorthGreenland_surface_84N_-36E_1h" ; # WITH ice/air flux computation
+FORCING="PAPA"                 ; i_sea_ice=0 ; SFORC="Station_PAPA_50N-145W"
+#FORCING="ERA5_NorthGreenland" ; i_sea_ice=1 ; SFORC="ERA5_NorthGreenland_surface_84N_-36E_1h" ; # WITH ice/air flux computation
 #FORCING="ERA5_NorthGreenland" ; i_sea_ice=0 ; SFORC="ERA5_NorthGreenland_surface_84N_-36E_1h" ; # "ERA5_arctic" WITHOUT ice/air flux computation
 
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/plot_station_asf_ICE.py
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/plot_station_asf_ICE.py	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/plot_station_asf_ICE.py	(revision 13981)
@@ -39,5 +39,5 @@
 ############################################
 crealm = 'sea-ice'
-L_VNEM = [   'Cd_ice',   'Ch_ice',   'qla_ice' ,   'qsb_ice'   ,  'qt_ice'    ,  'qlw_ice'  ,  'qsr_ice'  , 'taum_ai'   ]
+L_VNEM = [   'Cd_ice',   'Ch_ice',   'qla_ice' ,   'qsb_ice'   ,  'qt_ice'    ,  'qlw_ice'  ,  'qsr_ice'  , 'taum_ice'  ]
 L_VARO = [     'Cd'  ,     'Ch'  ,   'Qlat'    ,    'Qsen'     ,   'Qnet'     ,   'Qlw'     ,    'Qsw'    ,  'Tau'      ]
 L_VARL = [ r'$C_{D}$', r'$C_{H}$', r'$Q_{lat}$', r'$Q_{sens}$' , r'$Q_{net}$' , r'$Q_{lw}$' , r'$Q_{sw}$' , r'$|\tau|$' ]
@@ -144,6 +144,6 @@
     sys.exit(0)
 
-# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+#-----------------------------------------------------------------
 
 
@@ -201,5 +201,5 @@
         id_toolarge, = nmp.where( xF[:,ja] > L_MAXT[jv] ) # 
         xF[id_toolarge,ja] = L_MAXT[jv]
-        id_toosmall, = nmp.where( xF[:,ja] < L_MINT[jv] ) ; print("id_toosmall =", id_toosmall)
+        id_toosmall, = nmp.where( xF[:,ja] < L_MINT[jv] ) ; #print("id_toosmall =", id_toosmall)
         xF[id_toosmall,ja] = L_MINT[jv]
 
@@ -264,5 +264,5 @@
 
             for ja in range(nb_exp):
-                fplot = nmp.ma.masked_where( xF[:,ja]==0., xF[:,ja] )
+                fplot = nmp.ma.masked_where( xFa[:,ja]==0., xFa[:,ja] )
                 plt.plot(vtime, fplot, '-', color=l_color[ja], \
                          linewidth=l_width[ja], label=list_exp[ja], alpha=0.6) #, zorder=10+ja)
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/plot_station_asf_OCE.py
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/plot_station_asf_OCE.py	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/EXPREF/plot_station_asf_OCE.py	(revision 13981)
@@ -130,5 +130,4 @@
 
 
-
 #-----------------------------------------------------------------
 
@@ -235,5 +234,5 @@
         id_toolarge, = nmp.where( xF[:,ja] > L_MAXT[jv] ) # 
         xF[id_toolarge,ja] = L_MAXT[jv]
-        id_toosmall, = nmp.where( xF[:,ja] < L_MINT[jv] ) ; print("id_toosmall =", id_toosmall)
+        id_toosmall, = nmp.where( xF[:,ja] < L_MINT[jv] ) ; #print("id_toosmall =", id_toosmall)
         xF[id_toosmall,ja] = L_MINT[jv]
 
@@ -298,5 +297,5 @@
 
             for ja in range(nb_exp):
-                fplot = nmp.ma.masked_where( xF[:,ja]==0., xF[:,ja] )
+                fplot = nmp.ma.masked_where( xFa[:,ja]==0., xFa[:,ja] )
                 plt.plot(vtime, fplot, '-', color=l_color[ja], \
                          linewidth=l_width[ja], label=list_exp[ja], alpha=0.6) #, zorder=10+ja)
Index: /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/README.md
===================================================================
--- /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/README.md	(revision 13980)
+++ /NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/README.md	(revision 13981)
@@ -215,18 +215,10 @@
     $ ./launch_sasf.sh
 
-If everything goes according to plan, ``launch_sasf.sh`` should have generated the 4 following sets of output files into `${PROD_DIR}/output` (example for PAPA forcing, 4 algos tested):
+If everything goes according to plan, ``launch_sasf.sh`` should have generated the 4 following output files into `${PROD_DIR}/output` (example for PAPA forcing, 4 algos tested):
 
     STATION_ASF-ANDREAS_PAPA_1h_20180101_20181231_gridT.nc
-    STATION_ASF-ANDREAS_PAPA_1h_20180101_20181231_gridU.nc
-    STATION_ASF-ANDREAS_PAPA_1h_20180101_20181231_gridV.nc
     STATION_ASF-COARE3p6_PAPA_1h_20180101_20181231_gridT.nc
-    STATION_ASF-COARE3p6_PAPA_1h_20180101_20181231_gridU.nc
-    STATION_ASF-COARE3p6_PAPA_1h_20180101_20181231_gridV.nc
     STATION_ASF-ECMWF_PAPA_1h_20180101_20181231_gridT.nc
-    STATION_ASF-ECMWF_PAPA_1h_20180101_20181231_gridU.nc
-    STATION_ASF-ECMWF_PAPA_1h_20180101_20181231_gridV.nc
     STATION_ASF-NCAR_PAPA_1h_20180101_20181231_gridT.nc
-    STATION_ASF-NCAR_PAPA_1h_20180101_20181231_gridU.nc
-    STATION_ASF-NCAR_PAPA_1h_20180101_20181231_gridV.nc
 
 
