Index: trunk/NEMO/OPA_SRC/SBC/ocesbc.F90
===================================================================
--- trunk/NEMO/OPA_SRC/SBC/ocesbc.F90	(revision 3)
+++ trunk/NEMO/OPA_SRC/SBC/ocesbc.F90	(revision 19)
@@ -14,4 +14,5 @@
    USE ice_oce
    USE blk_oce
+   USE flx_oce
    USE phycst         ! Define parameters for the routines
    USE taumod
@@ -23,4 +24,5 @@
    USE ocfzpt
    USE lbclnk
+   USE lib_mpp
    USE in_out_manager ! I/O manager
 
@@ -33,17 +35,17 @@
    !! * Shared module variables
    REAL(wp), PUBLIC ::   &
-      aplus, aminus,     &
-      empold = 0.e0  ! current year freshwater budget correction
+      aplus, aminus,     &  !:
+      empold = 0.e0         !: current year freshwater budget correction
    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &
-      qt  ,         &  ! total surface heat flux (w/m2)
-      q   ,         &  ! surface heat flux (w/m2)
-      qsr ,         &  ! solar radiation (w/m2)
-      emp ,         &  ! evaporation minus precipitation (kg/m2/s = mm/s)
-      emps,         &  ! evaporation - precipitation (free surface)
-      qrp ,         &  ! heat flux damping (w/m2)
-      erp              ! evaporation damping (kg/m2/s = mm/s)
+      qt  ,         &  !: total surface heat flux (w/m2)
+      q   ,         &  !: surface heat flux (w/m2)
+      qsr ,         &  !: solar radiation (w/m2)
+      emp ,         &  !: evaporation minus precipitation (kg/m2/s = mm/s)
+      emps,         &  !: evaporation - precipitation (free surface)
+      qrp ,         &  !: heat flux damping (w/m2)
+      erp              !: evaporation damping (kg/m2/s = mm/s)
 #if defined key_dynspg_fsc
-   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &
-      dmp              ! internal dampind term
+   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !:
+      dmp              !: internal dampind term
 #endif
 
@@ -188,6 +190,6 @@
 
       !! * Local declarations
-      INTEGER ::   ji, jj                   ! dummy loop indices
-      REAL ztx, ztaux, zty, ztauy
+      INTEGER  ::   ji, jj                   ! dummy loop indices
+      REAL(wp) ::   ztx, ztaux, zty, ztauy
       !!----------------------------------------------------------------------
 
@@ -609,14 +611,18 @@
 
          runoff(:,:) = 0.e0
-     ENDIF
-
-  END SUBROUTINE oce_sbc
+      ENDIF
+
+   END SUBROUTINE oce_sbc
 
 # endif
 #endif
 
+#if defined key_dtasal
+   !!----------------------------------------------------------------------
+   !!   'key_dtasal'                                          salinity data
+   !!----------------------------------------------------------------------
    SUBROUTINE oce_sbc_dmp
       !!---------------------------------------------------------------------
-      !!                   ***    ROUTINE oce_sbc_dmp ***
+      !!                   ***  ROUTINE oce_sbc_dmp  ***
       !!                    
       !! ** Purpose : Computation of internal and evaporation damping terms 
@@ -624,15 +630,14 @@
       !!
       !! History :
-      !!   1.0  !  99-11  (M. Imbard)  Original code
-      !!        !  01-03  (D. Ludicone, E. Durand, G. Madec) free surf.
-      !!   2.0  !  02-09  (G. Madec, C. Ethe)  F90: Free form and module
+      !!   9.0  !  04-01  (G. Madec, C. Ethe)  Original code
       !!----------------------------------------------------------------------
       !! * Local declarations
       INTEGER ::   ji, jj                   ! dummy loop indices
       REAL(wp), DIMENSION(jpi,jpj)  :: zsss, zfreeze
+      REAL(wp) ::   zerp, ztrp, zsrp
 #if defined key_dynspg_fsc
-      REAL zwei, zerp, ztrp, zsrp
-      REAL zerpplus(jpi,jpj), zerpminus(jpi,jpj)
-      REAL zplus, zminus, zadefi
+      REAL(wp) ::   zwei
+      REAL(wp) ::   zerpplus(jpi,jpj), zerpminus(jpi,jpj)
+      REAL(wp) ::   zplus, zminus, zadefi
 # if defined key_tradmp
       INTEGER jk
@@ -712,8 +717,6 @@
          END DO
       END DO
-# if defined key_mpp
-      CALL mpp_sum( aplus  )   ! mpp: sum over all the global domain
-      CALL mpp_sum( aminus )
-# endif
+      IF( lk_mpp )   CALL mpp_sum( aplus  )   ! sums over the global domain
+      IF( lk_mpp )   CALL mpp_sum( aminus )
       IF( l_ctl .AND. lwp ) WRITE(numout,*) ' oce_sbc_dmp : a+ = ', aplus, ' a- = ', aminus
 
@@ -734,4 +737,13 @@
    END SUBROUTINE oce_sbc_dmp
 
+#else
+   !!----------------------------------------------------------------------
+   !!   Dummy routine                                      NO salinity data
+   !!----------------------------------------------------------------------
+   SUBROUTINE oce_sbc_dmp         ! Dummy routine
+      WRITE(*,*) 'oce_sbc_dmp: you should not have seen that print! error?'
+   END SUBROUTINE oce_sbc_dmp
+#endif
+
    !!======================================================================
 END MODULE ocesbc
