Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/C14b/trcnam_c14b.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/C14b/trcnam_c14b.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/C14b/trcnam_c14b.F90	(revision 3875)
@@ -42,5 +42,8 @@
       !! ** input   :   Namelist namelist_c14b
       !!----------------------------------------------------------------------
-      INTEGER ::   numnatb
+      INTEGER ::  numnatb_ref = -1   ! Logical unit for reference c14b namelist
+      INTEGER ::  numnatb_cfg = -1   ! Logical unit for configuration c14b namelist
+      INTEGER ::  numonb      = -1   ! Logical unit for output namelist
+      INTEGER :: ios                 ! Local integer output status for namelist read
 
       ! definition of additional diagnostic as a structure
@@ -57,8 +60,15 @@
 
       !                             ! Open namelist file
-      CALL ctl_opn( numnatb, 'namelist_c14b', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
-         
-      READ( numnatb , namc14date )     ! read namelist
+      CALL ctl_opn( numnatb_ref, 'namelist_c14b_ref'  ,     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
+      CALL ctl_opn( numnatb_cfg, 'namelist_c14b_cfg'  ,     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )   
+      CALL ctl_opn( numonb     , 'output.namelist.c14', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )     
+      REWIND( numnatb_ref )              ! Namelist namc14date in reference namelist : c14b parameters
+      READ  ( numnatb_ref, namc14date, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14date in reference namelist', lwp )
 
+      REWIND( numnatb_cfg )              ! Namelist namc14date in configuration namelist : c14b parameters
+      READ  ( numnatb_cfg, namc14date, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14date in configuration namelist', lwp )
+      WRITE ( numonb, namc14date )
       IF(lwp) THEN                  ! control print
          WRITE(numout,*)
@@ -87,6 +97,12 @@
          END DO
 
-         REWIND( numnatb )               ! 
-         READ  ( numnatb, namc14dia )
+         REWIND( numnatb_ref )              ! Namelist namc14dia in reference namelist : c14b diagnostics
+         READ  ( numnatb_ref, namc14dia, IOSTAT = ios, ERR = 903)
+903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14dia in reference namelist', lwp )
+
+         REWIND( numnatb_cfg )              ! Namelist namc14dia in configuration namelist : c14b diagnostics
+         READ  ( numnatb_cfg, namc14dia, IOSTAT = ios, ERR = 904 )
+904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14dia in configuration namelist', lwp )
+         WRITE ( numonb, namc14dia )
 
          DO jl = 1, jp_c14b_2d
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90	(revision 3875)
@@ -42,5 +42,8 @@
       !! ** input   :   Namelist namcfc
       !!----------------------------------------------------------------------
-      INTEGER ::  numnatc
+      INTEGER ::  numnatc_ref = -1   ! Logical unit for reference CFC namelist
+      INTEGER ::  numnatc_cfg = -1   ! Logical unit for configuration CFC namelist
+      INTEGER ::  numonc      = -1   ! Logical unit for output namelist
+      INTEGER :: ios                 ! Local integer output status for namelist read
       INTEGER :: jl, jn
       TYPE(DIAG), DIMENSION(jp_cfc_2d) :: cfcdia2d
@@ -53,8 +56,17 @@
       nyear_res = 1950
 
-      !                             ! Open namelist file
-      CALL ctl_opn( numnatc, 'namelist_cfc', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
-         
-      READ( numnatc , namcfcdate )     ! read namelist
+      !                             ! Open namelist files
+      CALL ctl_opn( numnatc_ref, 'namelist_cfc_ref'   ,     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
+      CALL ctl_opn( numnatc_cfg, 'namelist_cfc_cfg'   ,     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
+      CALL ctl_opn( numonc     , 'output.namelist.cfc', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
+
+      REWIND( numnatc_ref )              ! Namelist namcfcdate in reference namelist : CFC parameters
+      READ  ( numnatc_ref, namcfcdate, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdate in reference namelist', lwp )
+
+      REWIND( numnatc_cfg )              ! Namelist namcfcdate in configuration namelist : CFC parameters
+      READ  ( numnatc_cfg, namcfcdate, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdate in configuration namelist', lwp )
+      WRITE ( numonc, namcfcdate )
 
       IF(lwp) THEN                  ! control print
@@ -79,6 +91,12 @@
          END DO
 
-         REWIND( numnatc )               ! read natrtd
-         READ  ( numnatc, namcfcdia )
+         REWIND( numnatc_ref )              ! Namelist namcfcdia in reference namelist : CFC diagnostics
+         READ  ( numnatc_ref, namcfcdia, IOSTAT = ios, ERR = 903)
+903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdia in reference namelist', lwp )
+
+         REWIND( numnatc_cfg )              ! Namelist namcfcdia in configuration namelist : CFC diagnostics
+         READ  ( numnatc_cfg, namcfcdia, IOSTAT = ios, ERR = 904 )
+904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdia in configuration namelist', lwp )
+         WRITE ( numonc, namcfcdia )
 
          DO jl = 1, jp_cfc_2d
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90	(revision 3875)
@@ -480,5 +480,5 @@
       !!                  ***  ROUTINE p2z_bio_init  ***
       !!
-      !! ** Purpose :  bilogical parameters 
+      !! ** Purpose :  biological parameters 
       !!
       !! ** Method  :   Read namelist and check the parameters
@@ -490,8 +490,15 @@
       NAMELIST/namlobdet/  taudn, fdetlab
       NAMELIST/namlobdom/ taudomn
+      INTEGER :: ios                 ! Local integer output status for namelist read
       !!----------------------------------------------------------------------
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobphy )
+      REWIND( numnatp_ref )              ! Namelist namlobphy in reference namelist : Lobster biological parameters
+      READ  ( numnatp_ref, namlobphy, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobphy in configuration namelist : Lobster biological parameters
+      READ  ( numnatp_cfg, namlobphy, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in configuration namelist', lwp )
+      WRITE ( numonp, namlobphy )
 
       IF(lwp) THEN
@@ -505,6 +512,13 @@
       ENDIF
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobnut )
+      REWIND( numnatp_ref )              ! Namelist namlobnut in reference namelist : Lobster nutriments parameters
+      READ  ( numnatp_ref, namlobnut, IOSTAT = ios, ERR = 903)
+903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobnut in configuration namelist : Lobster nutriments parameters
+      READ  ( numnatp_cfg, namlobnut, IOSTAT = ios, ERR = 904 )
+904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in configuration namelist', lwp )
+      WRITE ( numonp, namlobnut )
+
       IF(lwp) THEN
           WRITE(numout,*) ' Namelist namlobnut'
@@ -516,6 +530,12 @@
       ENDIF
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobzoo )
+      REWIND( numnatp_ref )              ! Namelist namlobzoo in reference namelist : Lobster zooplankton parameters
+      READ  ( numnatp_ref, namlobzoo, IOSTAT = ios, ERR = 905)
+905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobzoo in configuration namelist : Lobster zooplankton parameters
+      READ  ( numnatp_cfg, namlobzoo, IOSTAT = ios, ERR = 906 )
+906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in configuration namelist', lwp )
+      WRITE ( numonp, namlobzoo )
 
       IF(lwp) THEN
@@ -533,6 +553,12 @@
       ENDIF
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobdet )
+      REWIND( numnatp_ref )              ! Namelist namlobdet in reference namelist : Lobster detritus parameters
+      READ  ( numnatp_ref, namlobdet, IOSTAT = ios, ERR = 907)
+907   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobdet in configuration namelist : Lobster detritus parameters
+      READ  ( numnatp_cfg, namlobdet, IOSTAT = ios, ERR = 908 )
+908   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in configuration namelist', lwp )
+      WRITE ( numonp, namlobdet )
 
       IF(lwp) THEN
@@ -543,6 +569,12 @@
       ENDIF
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobdom )
+      REWIND( numnatp_ref )              ! Namelist namlobdom in reference namelist : Lobster DOM breakdown rate
+      READ  ( numnatp_ref, namlobdom, IOSTAT = ios, ERR = 909)
+909   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobdom in configuration namelist : Lobster DOM breakdown rate
+      READ  ( numnatp_cfg, namlobdom, IOSTAT = ios, ERR = 910 )
+910   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in configuration namelist', lwp )
+      WRITE ( numonp, namlobdom )
 
       IF(lwp) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90	(revision 3875)
@@ -164,8 +164,15 @@
       NAMELIST/namlobopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig
       NAMELIST/namlobrat/ rcchl, redf, reddom
+      INTEGER :: ios                 ! Local integer output status for namelist read
       !!----------------------------------------------------------------------
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobopt )
+      REWIND( numnatp_ref )              ! Namelist namlobopt in reference namelist : Lobster options
+      READ  ( numnatp_ref, namlobopt, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobopt in configuration namelist : Lobster options
+      READ  ( numnatp_cfg, namlobopt, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist', lwp )
+      WRITE ( numonp, namlobopt )
 
       IF(lwp) THEN
@@ -182,6 +189,12 @@
       ENDIF
       !
-      REWIND( numnatp )
-      READ  ( numnatp, namlobrat )
+      REWIND( numnatp_ref )              ! Namelist namlobrat in reference namelist : Lobster ratios
+      READ  ( numnatp_ref, namlobrat, IOSTAT = ios, ERR = 903)
+903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobrat in configuration namelist : Lobster ratios
+      READ  ( numnatp_cfg, namlobrat, IOSTAT = ios, ERR = 904 )
+904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist', lwp )
+      WRITE ( numonp, namlobrat )
 
       IF(lwp) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90	(revision 3875)
@@ -151,7 +151,14 @@
       !!----------------------------------------------------------------------
       NAMELIST/namlobsed/ sedlam, sedlostpoc, vsed, xhr
+      INTEGER :: ios                 ! Local integer output status for namelist read
 
-      REWIND( numnatp )
-      READ  ( numnatp, namlobsed )
+      REWIND( numnatp_ref )              ! Namelist namlobsed in reference namelist : Lobster sediments
+      READ  ( numnatp_ref, namlobsed, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlosed in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist namlobsed in configuration namelist : Lobster sediments
+      READ  ( numnatp_cfg, namlobsed, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobsed in configuration namelist', lwp )
+      WRITE ( numonp, namlobsed )
 
       IF(lwp) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90	(revision 3875)
@@ -342,7 +342,14 @@
       !!----------------------------------------------------------------------
       NAMELIST/nampisfer/ ln_fechem, ln_ligvar, xlam1, xlamdust, ligand 
-
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampisfer )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+
+      REWIND( numnatp_ref )              ! Namelist nampisfer in reference namelist : Pisces iron chemistry
+      READ  ( numnatp_ref, nampisfer, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisfer in configuration namelist : Pisces iron chemistry
+      READ  ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist', lwp )
+      WRITE ( numonp, nampisfer )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90	(revision 3875)
@@ -239,8 +239,16 @@
       NAMELIST/nampisext/ln_co2int, atcco2, clname, nn_offset
       INTEGER :: jm
-      !!----------------------------------------------------------------------
-      !
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampisext )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+      !!----------------------------------------------------------------------
+      !
+
+      REWIND( numnatp_ref )              ! Namelist nampisext in reference namelist : Pisces atm. conditions
+      READ  ( numnatp_ref, nampisext, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisext in configuration namelist : Pisces atm. conditions
+      READ  ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist', lwp )
+      WRITE ( numonp, nampisext )
       !
       IF(lwp) THEN                         ! control print
@@ -302,4 +310,5 @@
       !
       INTEGER            ::  ierr
+      INTEGER            ::  ios      ! Local integer output status for namelist read
       CHARACTER(len=100) ::  cn_dir   ! Root directory for location of ssr files
       TYPE(FLD_N)        ::  sn_patm  ! informations about the fields to be read
@@ -317,6 +326,12 @@
          cn_dir  = './'          ! directory in which the Patm data are 
 
-         REWIND( numnatp )                             !* read in namlist nampisatm
-         READ  ( numnatp, nampisatm ) 
+         REWIND( numnatp_ref )              ! Namelist nampisatm in reference namelist : Pisces atm. sea level pressure file
+         READ  ( numnatp_ref, nampisatm, IOSTAT = ios, ERR = 901)
+901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in reference namelist', lwp )
+
+         REWIND( numnatp_cfg )              ! Namelist nampisatm in configuration namelist : Pisces atm. sea level pressure file 
+         READ  ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 )
+902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in configuration namelist', lwp )
+         WRITE ( numonp, nampisatm )
          !
          !
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90	(revision 3875)
@@ -217,7 +217,14 @@
          &                concbno3, concbnh4, xsizedia, xsizephy, xsizern, xsizerd,          & 
          &                xksi1, xksi2, xkdoc, qnfelim, qdfelim, caco3r
-
-      REWIND( numnatp )                     ! read numnat
-      READ  ( numnatp, nampislim )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+
+      REWIND( numnatp_ref )              ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters
+      READ  ( numnatp_ref, nampislim, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 
+      READ  ( numnatp_cfg, nampislim, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist', lwp )
+      WRITE ( numonp, nampislim )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90	(revision 3875)
@@ -188,4 +188,5 @@
       !!----------------------------------------------------------------------
       INTEGER  ::  ji, jj, jk
+      INTEGER  ::  ios                 ! Local integer output status for namelist read
       REAL(wp) ::  zcaralk, zbicarb, zco3
       REAL(wp) ::  ztmas, ztmas1
@@ -194,6 +195,12 @@
       !!----------------------------------------------------------------------
 
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampiscal )
+      REWIND( numnatp_ref )              ! Namelist nampiscal in reference namelist : Pisces CaCO3 dissolution
+      READ  ( numnatp_ref, nampiscal, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampiscal in configuration namelist : Pisces CaCO3 dissolution
+      READ  ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist', lwp )
+      WRITE ( numonp, nampiscal )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90	(revision 3875)
@@ -255,7 +255,14 @@
          &                xprefpoc, xthresh2dia, xthresh2phy, xthresh2zoo, xthresh2poc, &
          &                xthresh2, xkgraz2, epsher2, sigma2, unass2, grazflux
-
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampismes )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+
+      REWIND( numnatp_ref )              ! Namelist nampismes in reference namelist : Pisces mesozooplankton
+      READ  ( numnatp_ref, nampismes, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampismes in configuration namelist : Pisces mesozooplankton
+      READ  ( numnatp_cfg, nampismes, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist', lwp )
+      WRITE ( numonp, nampismes )
 
 
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90	(revision 3875)
@@ -225,7 +225,14 @@
          &                xpref2d,  xthreshdia,  xthreshphy,  xthreshpoc, &
          &                xthresh, xkgraz, epsher, sigma1, unass
-
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampiszoo )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+
+      REWIND( numnatp_ref )              ! Namelist nampiszoo in reference namelist : Pisces microzooplankton
+      READ  ( numnatp_ref, nampiszoo, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton
+      READ  ( numnatp_cfg, nampiszoo, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in configuration namelist', lwp )
+      WRITE ( numonp, nampiszoo )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90	(revision 3875)
@@ -239,7 +239,14 @@
 
       NAMELIST/nampismort/ wchl, wchld, wchldm, mprat, mprat2
-
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampismort )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+
+      REWIND( numnatp_ref )              ! Namelist nampismort in reference namelist : Pisces phytoplankton
+      READ  ( numnatp_ref, nampismort, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismort in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampismort in configuration namelist : Pisces phytoplankton
+      READ  ( numnatp_cfg, nampismort, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismort in configuration namelist', lwp )
+      WRITE ( numonp, nampismort )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90	(revision 3875)
@@ -318,4 +318,5 @@
       INTEGER :: numpar
       INTEGER :: ierr
+      INTEGER :: ios                 ! Local integer output status for namelist read
       REAL(wp), DIMENSION(nbtimes) :: zsteps                 ! times records
       !
@@ -335,6 +336,12 @@
       sn_par     = FLD_N( 'par_fraction',    24     ,  'fr_par'     ,  .true.    , .true.  ,   'yearly'  , ''       , ''         )
 
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampisopt )
+      REWIND( numnatp_ref )              ! Namelist nampisopt in reference namelist : Pisces attenuation coef. and PAR
+      READ  ( numnatp_ref, nampisopt, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisopt in configuration namelist : Pisces attenuation coef. and PAR
+      READ  ( numnatp_cfg, nampisopt, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in configuration namelist', lwp )
+      WRITE ( numonp, nampisopt )
 
       IF(lwp) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90	(revision 3875)
@@ -472,8 +472,15 @@
       NAMELIST/nampisprod/ pislope, pislope2, ln_newprod, bresp, excret, excret2,  &
          &                 chlcnm, chlcdm, chlcmin, fecnm, fecdm, grosip
+      INTEGER :: ios                 ! Local integer output status for namelist read
       !!----------------------------------------------------------------------
 
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampisprod )
+      REWIND( numnatp_ref )              ! Namelist nampisprod in reference namelist : Pisces phytoplankton production
+      READ  ( numnatp_ref, nampisprod, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisprod in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production
+      READ  ( numnatp_cfg, nampisprod, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisprod in configuration namelist', lwp )
+      WRITE ( numonp, nampisprod )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90	(revision 3875)
@@ -349,7 +349,14 @@
       NAMELIST/nampisrem/ xremik, xremip, nitrif, xsirem, xsiremlab, xsilab,   &
       &                   oxymin
-
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampisrem )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+
+      REWIND( numnatp_ref )              ! Namelist nampisrem in reference namelist : Pisces remineralization
+      READ  ( numnatp_ref, nampisrem, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisrem in configuration namelist : Pisces remineralization
+      READ  ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist', lwp )
+      WRITE ( numonp, nampisrem )
 
       IF(lwp) THEN                         ! control print
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90	(revision 3875)
@@ -186,4 +186,5 @@
       INTEGER  :: numdust, numsolub, numriv, numiron, numdepo, numhydro
       INTEGER  :: ierr, ierr1, ierr2, ierr3
+      INTEGER  :: ios                 ! Local integer output status for namelist read
       REAL(wp) :: zexpide, zdenitide, zmaskt
       REAL(wp) :: ztimes_dust, ztimes_riv, ztimes_ndep 
@@ -226,6 +227,12 @@
       sn_hydrofe  = FLD_N( 'hydrofe'    ,   -12     ,  'hydro'    ,  .false.   , .true.  ,   'yearly'  , ''       , ''         )
 
-      REWIND( numnatp )                     ! read numnatp
-      READ  ( numnatp, nampissbc )
+      REWIND( numnatp_ref )              ! Namelist nampissbc in reference namelist : Pisces external sources of nutrients
+      READ  ( numnatp_ref, nampissbc, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampissbc in configuration namelist : Pisces external sources of nutrients
+      READ  ( numnatp_cfg, nampissbc, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in configuration namelist', lwp )
+      WRITE ( numonp, nampissbc )
 
       IF(lwp) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90	(revision 3875)
@@ -538,4 +538,5 @@
       !!----------------------------------------------------------------------
       INTEGER  ::   jk, jn, kiter
+      INTEGER  ::   ios                 ! Local integer output status for namelist read
       REAL(wp) ::   znum, zdiv
       REAL(wp) ::   zws, zwr, zwl,wmax, znummax
@@ -548,6 +549,13 @@
       IF( nn_timing == 1 )  CALL timing_start('p4z_sink_init')
       !
-      REWIND( numnatp )                     ! read nampiskrs
-      READ  ( numnatp, nampiskrs )
+
+      REWIND( numnatp_ref )              ! Namelist nampiskrs in reference namelist : Pisces sinking Kriest
+      READ  ( numnatp_ref, nampiskrs, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampiskrs in configuration namelist : Pisces sinking Kriest
+      READ  ( numnatp_cfg, nampiskrs, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in configuration namelist', lwp )
+      WRITE ( numonp, nampiskrs )
 
       IF(lwp) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90	(revision 3875)
@@ -166,9 +166,15 @@
       NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp, ln_pisclo
       NAMELIST/nampismass/ ln_check_mass
-      !!----------------------------------------------------------------------
-
-
-      REWIND( numnatp )
-      READ  ( numnatp, nampisbio )
+      INTEGER :: ios                 ! Local integer output status for namelist read
+      !!----------------------------------------------------------------------
+
+      REWIND( numnatp_ref )              ! Namelist nampisbio in reference namelist : Pisces variables
+      READ  ( numnatp_ref, nampisbio, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisbio in configuration namelist : Pisces variables
+      READ  ( numnatp_cfg, nampisbio, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp )
+      WRITE ( numonp, nampisbio )
 
       IF(lwp) THEN                         ! control print
@@ -193,6 +199,12 @@
       xkr_mass_max = 1.
 
-      REWIND( numnatp )                     ! read natkriest
-      READ  ( numnatp, nampiskrp )
+      REWIND( numnatp_ref )              ! Namelist nampiskrp in reference namelist : Pisces Kriest
+      READ  ( numnatp_ref, nampiskrp, IOSTAT = ios, ERR = 903)
+903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampiskrp in configuration namelist : Pisces Kriest
+      READ  ( numnatp_cfg, nampiskrp, IOSTAT = ios, ERR = 904 )
+904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in configuration namelist', lwp )
+      WRITE ( numonp, nampiskrp )
 
       IF(lwp) THEN
@@ -217,6 +229,12 @@
       ln_pisclo = .false.
 
-      REWIND( numnatp )
-      READ  ( numnatp, nampisdmp )
+      REWIND( numnatp_ref )              ! Namelist nampisdmp in reference namelist : Pisces damping
+      READ  ( numnatp_ref, nampisdmp, IOSTAT = ios, ERR = 905)
+905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampisdmp in configuration namelist : Pisces damping
+      READ  ( numnatp_cfg, nampisdmp, IOSTAT = ios, ERR = 906 )
+906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp )
+      WRITE ( numonp, nampisdmp )
 
       IF(lwp) THEN                         ! control print
@@ -230,6 +248,13 @@
 
       ln_check_mass = .false.
-      REWIND( numnatp )       
-      READ  ( numnatp, nampismass )
+      REWIND( numnatp_ref )              ! Namelist nampismass in reference namelist : Pisces mass conservation check
+      READ  ( numnatp_ref, nampismass, IOSTAT = ios, ERR = 907)
+907   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in reference namelist', lwp )
+
+      REWIND( numnatp_cfg )              ! Namelist nampismass in configuration namelist : Pisces mass conservation check 
+      READ  ( numnatp_cfg, nampismass, IOSTAT = ios, ERR = 908 )
+908   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp )
+      WRITE ( numonp, nampismass )
+
       IF(lwp) THEN                         ! control print
          WRITE(numout,*) ' '
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90	(revision 3875)
@@ -17,5 +17,7 @@
    PUBLIC
 
-   INTEGER ::   numnatp
+   INTEGER ::   numnatp_ref = -1           !! Logical units for namelist pisces
+   INTEGER ::   numnatp_cfg = -1           !! Logical units for namelist pisces
+   INTEGER ::   numonp      = -1           !! Logical unit for namelist pisces output
 
    !!*  Biological fluxes for light : variables shared by pisces & lobster
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90	(revision 3875)
@@ -49,4 +49,5 @@
       !!
       INTEGER :: jl, jn
+      INTEGER :: ios                 ! Local integer output status for namelist read
       TYPE(DIAG), DIMENSION(jp_pisces_2d)  :: pisdia2d
       TYPE(DIAG), DIMENSION(jp_pisces_3d)  :: pisdia3d
@@ -69,6 +70,7 @@
 #endif
       IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
-      CALL ctl_opn( numnatp, TRIM( clname ), 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
-
+      CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD'    , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
+      CALL ctl_opn( numnatp_cfg, TRIM( clname )//'_cfg', 'OLD'    , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
+      CALL ctl_opn( numonp     , 'output.namelist.pis' , 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
       !
       IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN
@@ -88,6 +90,12 @@
          END DO
 
-         REWIND( numnatp )               ! 
-         READ  ( numnatp, nampisdia )
+         REWIND( numnatp_ref )              ! Namelist nampisdia in reference namelist : Pisces diagnostics
+         READ  ( numnatp_ref, nampisdia, IOSTAT = ios, ERR = 901)
+901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in reference namelist', lwp )
+
+         REWIND( numnatp_cfg )              ! Namelist nampisdia in configuration namelist : Pisces diagnostics
+         READ  ( numnatp_cfg, nampisdia, IOSTAT = ios, ERR = 902 )
+902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in configuration namelist', lwp )
+         WRITE ( numonp, nampisdia )
 
          DO jl = 1, jp_pisces_2d
@@ -140,6 +148,12 @@
          END DO
 
-         REWIND( numnatp )
-         READ  ( numnatp, nampisdbi )
+         REWIND( numnatp_ref )              ! Namelist nampisdbi in reference namelist : Pisces add. diagnostics
+         READ  ( numnatp_ref, nampisdbi, IOSTAT = ios, ERR = 903)
+903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in reference namelist', lwp )
+
+         REWIND( numnatp_cfg )              ! Namelist nampisdbi in configuration namelist : Pisces add. diagnostics
+         READ  ( numnatp_cfg, nampisdbi, IOSTAT = ios, ERR = 904 )
+904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in configuration namelist', lwp )
+         WRITE ( numonp, nampisdbi )
 
          DO jl = 1, jp_pisces_trd
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/TRP/trcnam_trp.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/TRP/trcnam_trp.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/TRP/trcnam_trp.F90	(revision 3875)
@@ -15,4 +15,5 @@
    USE trc                 ! ocean passive tracers variables
    USE in_out_manager      ! ocean dynamics and active tracers variables
+   USE lib_mpp           ! distributed memory computing library
 
    IMPLICIT NONE
@@ -73,4 +74,5 @@
       !! ** Purpose :   Read Namelist for tracer transport option
       !!----------------------------------------------------------------------
+      INTEGER ::  ios                 ! Local integer output status for namelist read
       NAMELIST/namtrc_adv/ ln_trcadv_cen2 , ln_trcadv_tvd   ,    &
          &                 ln_trcadv_muscl, ln_trcadv_muscl2,    &
@@ -92,6 +94,12 @@
       IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~'
 
-      REWIND ( numnat )               ! Read Namelist namtrc_adv : tracer advection scheme
-      READ   ( numnat, namtrc_adv )
+      REWIND( numnat_ref )              ! Namelist namtrc_adv in reference namelist : Tracer advection scheme
+      READ  ( numnat_ref, namtrc_adv, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_adv in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_adv in configuration namelist : Tracer advection scheme
+      READ  ( numnat_cfg, namtrc_adv, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_adv in configuration namelist', lwp )
+      WRITE ( numont, namtrc_adv )
 
       IF(lwp) THEN                    ! Namelist print
@@ -108,6 +116,12 @@
       ENDIF
       !
-      REWIND( numnat )                ! Namelist namtrc_ldf
-      READ  ( numnat, namtrc_ldf )
+      REWIND( numnat_ref )              ! Namelist namtrc_ldf in reference namelist : Tracer lateral diffusive operator
+      READ  ( numnat_ref, namtrc_ldf, IOSTAT = ios, ERR = 903)
+903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_ldf in configuration namelist : Tracer lateral diffusive operator
+      READ  ( numnat_cfg, namtrc_ldf, IOSTAT = ios, ERR = 904 )
+904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in configuration namelist', lwp )
+      WRITE ( numont, namtrc_ldf )
 
       IF(lwp) THEN                    ! Namelist print
@@ -127,6 +141,12 @@
 
       !                                ! Vertical mixing
-      REWIND( numnat )                 !   ! Read namtopzdf namelist
-      READ  ( numnat, namtrc_zdf )
+      REWIND( numnat_ref )              ! Namelist namtrc_zdf in reference namelist : Tracer vertical mixing
+      READ  ( numnat_ref, namtrc_zdf, IOSTAT = ios, ERR = 905)
+905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_zdf in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_zdf in configuration namelist : Tracer vertical mixing
+      READ  ( numnat_cfg, namtrc_zdf, IOSTAT = ios, ERR = 906 )
+906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_zdf in configuration namelist', lwp )
+      WRITE ( numont, namtrc_zdf )
 
       IF(lwp) THEN                     !   ! Control print
@@ -138,6 +158,12 @@
 
       !
-      REWIND( numnat )                 !   Read Namelist namtoprad
-      READ  ( numnat, namtrc_rad )
+      REWIND( numnat_ref )              ! Namelist namtrc_rad in reference namelist : Tracer negative concentrations
+      READ  ( numnat_ref, namtrc_rad, IOSTAT = ios, ERR = 907)
+907   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_rad in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_rad in configuration namelist : Tracer negative concentrations
+      READ  ( numnat_cfg, namtrc_rad, IOSTAT = ios, ERR = 908 )
+908   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_rad in configuration namelist', lwp )
+      WRITE ( numont, namtrc_rad )
 
       IF(lwp) THEN                     !   ! Control print
@@ -149,6 +175,13 @@
 
 # if defined key_trcdmp
-      REWIND ( numnat )                  ! Read Namelist namtra_dmp : temperature and salinity damping term
-      READ   ( numnat, namtrc_dmp )
+      REWIND( numnat_ref )              ! Namelist namtrc_dmp in reference namelist : Passive tracers newtonian damping
+      READ  ( numnat_ref, namtrc_dmp, IOSTAT = ios, ERR = 909)
+909   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_dmp in configuration namelist : Passive tracers newtonian damping
+      READ  ( numnat_cfg, namtrc_dmp, IOSTAT = ios, ERR = 910)
+910   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in configuration namelist', lwp )
+      WRITE ( numont, namtrc_dmp )
+
       IF( lzoom )   nn_zdmp_trc = 0           ! restoring to climatology at closed north or south boundaries
 
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trc.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trc.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trc.F90	(revision 3875)
@@ -21,6 +21,8 @@
 
    !! parameters for the control of passive tracers
-   !! --------------------------------------------------
-   INTEGER, PUBLIC                                                 ::   numnat        !: logicla unit for the passive tracer NAMELIST
+   !! ---------------------------------------------   
+   INTEGER, PUBLIC                                                 ::   numnat_ref = -1   !: logical unit for the reference passive tracer namelist_top_ref
+   INTEGER, PUBLIC                                                 ::   numnat_cfg = -1   !: logical unit for the reference passive tracer namelist_top_cfg
+   INTEGER, PUBLIC                                                 ::   numont     = -1   !: logical unit for the reference passive tracer namelist output output.namelist.top
    INTEGER, PUBLIC                                                 ::   numstr        !: logical unit for tracer statistics
    INTEGER, PUBLIC                                                 ::   numrtr        !: logical unit for trc restart (read )
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trcdta.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trcdta.F90	(revision 3875)
@@ -53,6 +53,7 @@
       !!----------------------------------------------------------------------
       !
-      INTEGER            :: jl, jn                   ! dummy loop indicies
+      INTEGER            :: jl, jn                           ! dummy loop indicies
       INTEGER            :: ierr0, ierr1, ierr2, ierr3       ! temporary integers
+      INTEGER            :: ios                              ! Local integer output status for namelist read
       CHARACTER(len=100) :: clndta, clntrc
       REAL(wp)           :: zfact
@@ -103,6 +104,12 @@
       END DO
       !
-      REWIND( numnat )               ! read nattrc
-      READ  ( numnat, namtrc_dta )
+      REWIND( numnat_ref )              ! Namelist namtrc_dta in reference namelist : Passive tracer input data
+      READ  ( numnat_ref, namtrc_dta, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_dta in configuration namelist : Passive tracer input data
+      READ  ( numnat_cfg, namtrc_dta, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta in configuration namelist', lwp )
+      WRITE ( numont, namtrc_dta )
 
       IF( lwp ) THEN
Index: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
===================================================================
--- branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trcnam.F90	(revision 3854)
+++ branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/TOP_SRC/trcnam.F90	(revision 3875)
@@ -55,4 +55,5 @@
       !!---------------------------------------------------------------------
       INTEGER ::  jn, ierr
+      INTEGER ::  ios                 ! Local integer output status for namelist read
       ! Definition of a tracer as a structure
       TYPE(PTRACER), DIMENSION(jptra) :: sn_tracer  ! type of tracer for saving if not key_iomput
@@ -73,5 +74,7 @@
       IF(lwp) WRITE(numout,*) '~~~~~~~'
 
-      CALL ctl_opn( numnat, 'namelist_top', 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. )
+      CALL ctl_opn( numnat_ref, 'namelist_top_ref'   , 'OLD'    , 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. )
+      CALL ctl_opn( numnat_cfg, 'namelist_top_cfg'   , 'OLD'    , 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. )
+      CALL ctl_opn( numont    , 'output.namelist.top', 'REPLACE', 'FORMATTED', 'SEQUENTIAL',-1, numout, .FALSE. )
 
       ! Namelist nattrc (files)
@@ -95,7 +98,12 @@
       ln_trcdmp = .FALSE.
 
-
-      REWIND( numnat )               ! read nattrc
-      READ  ( numnat, namtrc )
+      REWIND( numnat_ref )              ! Namelist namtrc in reference namelist : Passive tracer variables
+      READ  ( numnat_ref, namtrc, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc in configuration namelist : Passive tracer variables
+      READ  ( numnat_cfg, namtrc, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp )
+      WRITE ( numont, namtrc )
 
       DO jn = 1, jptra
@@ -142,6 +150,12 @@
       nn_writebio = 10
 
-      REWIND( numnat )               !  namelist namtoptrd : passive tracer trends diagnostic
-      READ  ( numnat, namtrc_dia )
+      REWIND( numnat_ref )              ! Namelist namtrc_dia in reference namelist : Passive tracer diagnostics
+      READ  ( numnat_ref, namtrc_dia, IOSTAT = ios, ERR = 903)
+903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in reference namelist', lwp )
+
+      REWIND( numnat_cfg )              ! Namelist namtrc_dia in configuration namelist : Passive tracer diagnostics
+      READ  ( numnat_cfg, namtrc_dia, IOSTAT = ios, ERR = 904 )
+904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in configuration namelist', lwp )
+      WRITE ( numont, namtrc_dia )
 
       IF(lwp) THEN
@@ -221,6 +235,12 @@
          ln_trdtrc(:) = .FALSE.
 
-         REWIND( numnat )               !  namelist namtoptrd : passive tracer trends diagnostic
-         READ  ( numnat, namtrc_trd )
+         REWIND( numnat_ref )              ! Namelist namtrc_trd in reference namelist : Passive tracer trends
+         READ  ( numnat_ref, namtrc_trd, IOSTAT = ios, ERR = 905)
+905      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_trd in reference namelist', lwp )
+
+         REWIND( numnat_cfg )              ! Namelist namtrc_trd in configuration namelist : Passive tracer trends
+         READ  ( numnat_cfg, namtrc_trd, IOSTAT = ios, ERR = 906 )
+906      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_trd in configuration namelist', lwp )
+         WRITE ( numont, namtrc_trd )
 
          IF(lwp) THEN
