Index: /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/BDY/bdydta.F90
===================================================================
--- /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/BDY/bdydta.F90	(revision 12255)
+++ /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/BDY/bdydta.F90	(revision 12256)
@@ -75,5 +75,5 @@
 CONTAINS
 
-   SUBROUTINE bdy_dta( kt, pt_offset )
+   SUBROUTINE bdy_dta( kt )
       !!----------------------------------------------------------------------
       !!                   ***  SUBROUTINE bdy_dta  ***
@@ -85,5 +85,4 @@
       !!----------------------------------------------------------------------
       INTEGER, INTENT(in)           ::   kt           ! ocean time-step index 
-      REAL(wp),INTENT(in), OPTIONAL ::   pt_offset    ! time offset in units of timesteps
       !
       INTEGER ::  jbdy, jfld, jstart, jend, ib, jl    ! dummy loop indices
@@ -210,5 +209,6 @@
          ! read/update all bdy data
          ! ------------------------
-         CALL fld_read( kt, 1, bf_alias, pt_offset = pt_offset )
+         ! BDY: use pt_offset=0.5 as applied at the end of the step and fldread is referenced at the middle of the step
+         CALL fld_read( kt, 1, bf_alias, pt_offset = 0.5_wp )
 
          ! apply some corrections in some specific cases...
@@ -341,5 +341,6 @@
          ELSE ! Add tides if not split-explicit free surface else this is done in ts loop
             !
-            CALL bdy_dta_tides( kt=kt, pt_offset=pt_offset )
+            ! BDY: use pt_offset=1.0 as applied at the end of the step and bdy_dta_tides is referenced at the middle of the step
+            CALL bdy_dta_tides( kt=kt, pt_offset = 1._wp )
          ENDIF
       ENDIF
Index: /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/fldread.F90
===================================================================
--- /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/fldread.F90	(revision 12255)
+++ /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/fldread.F90	(revision 12256)
@@ -163,5 +163,5 @@
 
       IF( nn_components == jp_iam_sas ) THEN   ;   zt_offset = REAL( nn_fsbc, wp )
-      ELSE                                      ;   zt_offset = 0.
+      ELSE                                     ;   zt_offset = 0.
       ENDIF
       IF( PRESENT(pt_offset) )   zt_offset = pt_offset
Index: /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/step.F90
===================================================================
--- /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/step.F90	(revision 12255)
+++ /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/step.F90	(revision 12256)
@@ -114,5 +114,5 @@
       IF( ln_tide    )   CALL tide_update( kstp )                ! update tide potential
       IF( ln_apr_dyn )   CALL sbc_apr ( kstp )                   ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib) 
-      IF( ln_bdy     )   CALL bdy_dta ( kstp, pt_offset = 1. )   ! update dynamic & tracer data at open boundaries
+      IF( ln_bdy     )   CALL bdy_dta ( kstp )                   ! update dynamic & tracer data at open boundaries
       IF( ln_isf     )   CALL isf_stp ( kstp )                   ! ice shelf/ocean boundary condition
                          CALL sbc     ( kstp )                   ! Sea Boundary Condition (including sea-ice)
Index: /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/step.F90
===================================================================
--- /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/step.F90	(revision 12255)
+++ /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/step.F90	(revision 12256)
@@ -96,5 +96,5 @@
       !           From SAS: ocean bdy data are wrong  (but we do not care) and ice bdy data are OK.  
       !           This is not clean and should be changed in the future. 
-      IF( ln_bdy     )       CALL bdy_dta ( kstp, pt_offset=1. )   ! update dynamic & tracer data at open boundaries
+      IF( ln_bdy     )       CALL bdy_dta( kstp )         ! update dynamic & tracer data at open boundaries
       ! ==>
                              CALL sbc    ( kstp )         ! Sea Boundary Condition (including sea-ice)
Index: /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcbc.F90
===================================================================
--- /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcbc.F90	(revision 12255)
+++ /NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcbc.F90	(revision 12256)
@@ -364,8 +364,8 @@
       IF( PRESENT(jit) ) THEN 
          !
-         ! OPEN boundary conditions (use pt_offset=1. as they are applied at the end of the step)
+         ! BDY: use pt_offset=0.5 as applied at the end of the step and fldread is referenced at the middle of the step
          IF( nb_trcobc > 0 ) THEN
            if (lwp) write(numout,'(a,i5,a,i10)') '   reading OBC data for ', nb_trcobc ,' variable(s) at step ', kt
-           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcobc, kit=jit, pt_offset=1.)
+           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcobc, kit=jit, pt_offset = 0.5_wp )
          ENDIF
          !
@@ -384,8 +384,8 @@
       ELSE
          !
-         ! OPEN boundary conditions (use pt_offset=1. as they are applied at the end of the step)
+         ! BDY: use pt_offset=0.5 as applied at the end of the step and fldread is referenced at the middle of the step
          IF( nb_trcobc > 0 ) THEN
            if (lwp) write(numout,'(a,i5,a,i10)') '   reading OBC data for ', nb_trcobc ,' variable(s) at step ', kt
-           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcobc, pt_offset=1.)
+           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcobc, pt_offset = 0.5_wp )
          ENDIF
          !
