Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limadv_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limadv_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limadv_2.F90	(revision 3558)
@@ -25,4 +25,6 @@
    USE wrk_nemo           ! work arrays
    USE prtctl             ! Print control
+   USE lib_fortran        ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)  
+
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90	(revision 3558)
@@ -30,4 +30,5 @@
    USE in_out_manager ! I/O manager
    USE prtctl         ! Print control
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90	(revision 3558)
@@ -37,4 +37,5 @@
    USE iom              ! I/O library
    USE prtctl           ! Print control
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    USE cpl_oasis3, ONLY : lk_cpl
 
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90	(revision 3558)
@@ -33,4 +33,5 @@
    USE limtab_2
    USE prtctl          ! Print control
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    USE cpl_oasis3, ONLY : lk_cpl
    USE diaar5, ONLY :   lk_diaar5
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_lac_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_lac_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_lac_2.F90	(revision 3558)
@@ -16,4 +16,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90	(revision 3558)
@@ -21,4 +21,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    USE cpl_oasis3, ONLY : lk_cpl
       
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90	(revision 3558)
@@ -28,4 +28,5 @@
    USE lib_mpp         ! MPP library
    USE wrk_nemo        ! work arrays
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90	(revision 3558)
@@ -31,4 +31,5 @@
    USE lib_mpp         ! MPP library
    USE wrk_nemo        ! work arrays
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    USE iom
    USE ioipsl
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_dimg_2.h90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_dimg_2.h90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_dimg_2.h90	(revision 3558)
@@ -14,5 +14,6 @@
     !!  modif : 03/06/98
     !!-------------------------------------------------------------------
-    USE  diadimg                ! use of dia_wri_dimg
+    USE  diadimg       ! use of dia_wri_dimg
+    USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
     INTEGER, INTENT(in) ::   kt     ! number of iteration
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90	(revision 3558)
@@ -23,4 +23,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90	(revision 3558)
@@ -23,4 +23,5 @@
    USE in_out_manager  ! I/O manager
    USE lib_mpp         ! MPP library
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90	(revision 3558)
@@ -28,4 +28,5 @@
    USE wrk_nemo         ! work arrays
    USE prtctl           ! Print control
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90	(revision 3558)
@@ -34,4 +34,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90	(revision 3558)
@@ -27,4 +27,5 @@
    USE in_out_manager   ! I/O manager
    USE prtctl           ! Print control
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 #if defined key_lim3
    USE ice              ! LIM-3: ice variables
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90	(revision 3558)
@@ -25,4 +25,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90	(revision 3558)
@@ -33,4 +33,5 @@
    USE wrk_nemo         ! work arrays
    USE prtctl           ! Print control
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    USE cpl_oasis3, ONLY : lk_cpl
 
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90	(revision 3558)
@@ -39,4 +39,5 @@
    USE in_out_manager  ! I/O manager
    USE prtctl          ! Print control
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90	(revision 3558)
@@ -24,4 +24,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90	(revision 3558)
@@ -23,4 +23,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_ent.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_ent.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_ent.F90	(revision 3558)
@@ -29,4 +29,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90	(revision 3558)
@@ -29,4 +29,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90	(revision 3558)
@@ -24,4 +24,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90	(revision 3558)
@@ -27,4 +27,5 @@
    USE wrk_nemo        ! work arrays
    USE prtctl          ! Print control
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate.F90	(revision 3558)
@@ -36,4 +36,5 @@
    USE lbclnk           ! lateral boundary condition - MPP exchanges
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limvar.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limvar.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limvar.F90	(revision 3558)
@@ -53,4 +53,5 @@
    USE lib_mpp          ! MPP library
    USE wrk_nemo         ! work arrays
+   USE lib_fortran      ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90	(revision 3558)
@@ -25,4 +25,5 @@
    USE wrk_nemo        ! work arrays
    USE par_ice
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/LIM_SRC_3/limwri_dimg.h90
===================================================================
--- /trunk/NEMOGCM/NEMO/LIM_SRC_3/limwri_dimg.h90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/LIM_SRC_3/limwri_dimg.h90	(revision 3558)
@@ -15,4 +15,6 @@
    !!-------------------------------------------------------------------
    USE  diawri, ONLY : dia_wri_dimg
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
+
    REAL(wp),DIMENSION(1) ::   zdept
 
Index: /trunk/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90	(revision 3558)
@@ -45,4 +45,5 @@
    USE prtctl          ! Print control                    (prt_ctl_init routine)
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
@@ -336,4 +337,8 @@
          &                                               'Compile with key_iomput enabled' )
       !
+      IF( 1_wp /= SIGN(1._wp,-0._wp)  )   CALL ctl_stop( 'nemo_ctl: The intrinsec SIGN function follows ',  &
+         &                                               'f2003 standard. '                              ,  &
+         &                                               'Compile with key_nosignedzero enabled' )
+      !
    END SUBROUTINE nemo_ctl
 
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90	(revision 3558)
@@ -33,4 +33,5 @@
    USE wrk_nemo        ! work arrays
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90	(revision 3558)
@@ -20,4 +20,5 @@
    USE lib_mpp         ! MPP library
    USE wrk_nemo        ! work arrays
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90	(revision 3558)
@@ -33,4 +33,5 @@
    USE albedo
    USE prtctl          ! Print control
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 #if defined key_lim3
    USE ice
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90	(revision 3558)
@@ -21,4 +21,5 @@
    USE in_out_manager  ! I/O manager
    USE lib_mpp         ! MPP library
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90	(revision 3558)
@@ -22,4 +22,5 @@
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90	(revision 3558)
@@ -27,4 +27,5 @@
    USE wrk_nemo        ! Memory Allocation
    USE timing          ! Timing
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90	(revision 3558)
@@ -25,4 +25,5 @@
    USE wrk_nemo        ! Memory Allocation
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
 
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90	(revision 3558)
@@ -28,4 +28,5 @@
    USE wrk_nemo        ! Memory Allocation
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90	(revision 3558)
@@ -34,4 +34,5 @@
    USE wrk_nemo        ! Memory Allocation
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90	(revision 3558)
@@ -24,4 +24,5 @@
    USE wrk_nemo        ! Memory Allocation
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90	(revision 3558)
@@ -31,4 +31,5 @@
    USE iom            ! I/O manager library
    USE timing         ! Timing
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90	(revision 3558)
@@ -35,4 +35,5 @@
    USE trdtra          ! tracers trends
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90	(revision 3558)
@@ -29,4 +29,5 @@
    USE wrk_nemo              ! work arrays
    USE timing                ! Timing
+   USE lib_fortran           ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    USE eosbn2, ONLY : nn_eos
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90	(revision 3558)
@@ -52,4 +52,5 @@
    USE wrk_nemo       ! work arrays
    USE timing         ! Timing
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90	(revision 3558)
@@ -27,4 +27,5 @@
    USE wrk_nemo        ! work arrays
    USE timing          ! Timing
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90	(revision 3558)
@@ -60,4 +60,5 @@
    USE diadct          ! sections transports           (dia_dct_init routine)
    USE diaobs          ! Observation diagnostics       (dia_obs_init routine)
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
    USE step            ! NEMO time-stepping                 (stp     routine)
 #if defined key_oasis3
@@ -469,4 +470,8 @@
          &                                               'Compile with key_iomput enabled' )
       !
+      IF( 1_wp /= SIGN(1._wp,-0._wp)  )   CALL ctl_stop( 'nemo_ctl: The intrinsec SIGN function follows ',  &
+         &                                               'f2003 standard. '                              ,  &
+         &                                               'Compile with key_nosignedzero enabled' )
+      !
    END SUBROUTINE nemo_ctl
 
Index: /trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zrem.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zrem.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zrem.F90	(revision 3558)
@@ -26,4 +26,5 @@
    USE p4zint          !  interpolation and computation of various fields
    USE prtctl_trc      !  print control for debugging
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90	(revision 3558)
@@ -19,4 +19,5 @@
    USE prtctl_trc      !  print control for debugging
    USE iom             !  I/O manager
+   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    IMPLICIT NONE
Index: /trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedchem.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedchem.F90	(revision 3557)
+++ /trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedchem.F90	(revision 3558)
@@ -7,6 +7,7 @@
    !!======================================================================
    !!   modules used
-   USE sed     ! sediment global variable
+   USE sed            ! sediment global variable
    USE sedarr
+   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
 
    !! * Accessibility
