Index: /branches/UKMO/dev_r5518_GO6_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90	(revision 10214)
+++ /branches/UKMO/dev_r5518_GO6_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90	(revision 10215)
@@ -163,9 +163,9 @@
       INTEGER :: id_part_rnf_1d ! Partition for 1d river outflow fields
       INTEGER :: id_part_temp   ! Temperary partition used to choose either 0d or 1d partitions
-      INTEGER :: vector_length  ! Length of 0d or 1d variables (0d variables will have vector_length=1)
       INTEGER :: paral(5)       ! OASIS3 box partition
-      INTEGER :: ishape(4)      ! Shape of arrays passed to PSMILe. 
+      INTEGER :: ishape(4)      ! Shape of 2D arrays passed to PSMILe. 
                                 ! Redundant from OASIS3-MCT vn4.0 onwards but required
-                                ! to satisfy interface and for backward compatibility. 
+                                ! to satisfy interface and for backward compatibility.
+      INTEGER :: ishape0d1d(2)  ! Shape of 0D or 1D arrays passed to PSMILe.
       INTEGER :: var_nodims(2)  ! Number of coupling field dimensions.
                                 ! var_nodims(1) is redundant from OASIS3-MCT vn4.0 onwards
@@ -209,4 +209,6 @@
       ishape(4) = nlej-nldj+1
 
+      ishape0d1d(1) = 0
+      ishape0d1d(2) = 0
 
       !
@@ -355,28 +357,28 @@
                   IF (srcv(ji)%dimensions <= 1) THEN
                     var_nodims(1) = 1
-                    var_nodims(2) = 1 ! Modify this value to cater for bundled fields.  
-                    IF (nproc == 0) THEN                    
-                       
+                    var_nodims(2) = 1 ! Modify this value to cater for bundled fields.
+                    IF (nproc == 0) THEN
+
                        IF (srcv(ji)%dimensions == 0) THEN
-                       
+
                           ! If 0D then set temporary variables to 0D components
                           id_part_temp = id_part_0d
-                          vector_length = 1
+                          ishape0d1d(2) = 1
                        ELSE
-                       
+
                           ! If 1D then set temporary variables to river outflow components
                           id_part_temp = id_part_rnf_1d
-                          vector_length = nn_cpl_river
-                          
+                          ishape0d1d(2)= nn_cpl_river
+
                        END IF
-                       
+
                        CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part_temp   , var_nodims,   &
-	                                OASIS_In           , (/ 1, vector_length /) , OASIS_REAL, nerror )
+	                                OASIS_In           , ishape0d1d(1:2) , OASIS_REAL, nerror )
                     ELSE
-                       ! Dummy call to keep OASIS3-MCT happy. 
+                       ! Dummy call to keep OASIS3-MCT happy.
                        CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part_0d   , var_nodims,   &
-	                                OASIS_In           , (/ 0, 0 /) , OASIS_REAL, nerror )
+	                                OASIS_In           , ishape0d1d(1:2) , OASIS_REAL, nerror )
                     END IF
-                  ELSE 
+                  ELSE
                     ! It's a "normal" 2D (or pseudo 3D) coupling field. 
                     ! ... Set the field dimension and bundle count
@@ -741,5 +743,5 @@
    SUBROUTINE oasis_def_var(k1,cd1,k2,k3,k4,k5,k6,k7)
       CHARACTER(*), INTENT(in   ) ::  cd1
-      INTEGER     , INTENT(in   ) ::  k2,k3(2),k4,k5(2),k6
+      INTEGER     , INTENT(in   ) ::  k2,k3(2),k4,k5(*),k6
       INTEGER     , INTENT(  out) ::  k1,k7
       k1 = -1 ; k7 = -1
Index: /branches/UKMO/dev_r5518_GO6_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 10214)
+++ /branches/UKMO/dev_r5518_GO6_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 10215)
@@ -344,5 +344,9 @@
 
       ! default definitions of srcv
-      srcv(:)%laction = .FALSE.   ;   srcv(:)%clgrid = 'T'   ;   srcv(:)%nsgn = 1.   ;   srcv(:)%nct = 1 ; srcv(:)%dimensions = 2
+      srcv(:)%laction = .FALSE.
+      srcv(:)%clgrid = 'T'
+      srcv(:)%nsgn = 1.
+      srcv(:)%nct = 1
+      srcv(:)%dimensions = 2
 
       !                                                      ! ------------------------- !
@@ -465,5 +469,5 @@
       !                                                      ! ------------------------- !
       srcv(jpr_rnf   )%clname = 'O_Runoff'
-      srcv(jpr_rnf_1d   )%clname = 'runoffo'
+      srcv(jpr_rnf_1d   )%clname = 'ORunff1D'
       IF( TRIM( sn_rcv_rnf%cldes ) == 'coupled' .OR. TRIM( sn_rcv_rnf%cldes ) == 'coupled1d' ) THEN 
          IF( TRIM( sn_rcv_rnf%cldes ) == 'coupled' ) srcv(jpr_rnf)%laction = .TRUE.
@@ -682,8 +686,12 @@
       !                 define send or not from the namelist parameters (ssnd(:)%laction)
       !                 define the north fold type of lbc               (ssnd(:)%nsgn)
-      
+
       ! default definitions of nsnd
-      ssnd(:)%laction = .FALSE.   ;   ssnd(:)%clgrid = 'T'   ;   ssnd(:)%nsgn = 1.  ; ssnd(:)%nct = 1 ; ssnd(:)%dimensions = 2
-         
+      ssnd(:)%laction = .FALSE.
+      ssnd(:)%clgrid = 'T'
+      ssnd(:)%nsgn = 1.
+      ssnd(:)%nct = 1
+      ssnd(:)%dimensions = 2
+
       !                                                      ! ------------------------- !
       !                                                      !    Surface temperature    !
