Index: trunk/NEMO/TOP_SRC/C14b/trclsm_c14b.F90
===================================================================
--- trunk/NEMO/TOP_SRC/C14b/trclsm_c14b.F90	(revision 1736)
+++ trunk/NEMO/TOP_SRC/C14b/trclsm_c14b.F90	(revision 1801)
@@ -44,5 +44,5 @@
       INTEGER ::   numnatb
 
-#if defined key_trc_diaadd
+#if defined key_trc_diaadd && ! defined key_iomput
       ! definition of additional diagnostic as a structure
       INTEGER ::   jl, jn
@@ -58,5 +58,5 @@
       !!
       NAMELIST/namc14date/ ndate_beg_b, nyear_res_b
-#if defined key_trc_diaadd
+#if defined key_trc_diaadd && ! defined key_iomput
       NAMELIST/namc14dia/nwritedia, c14dia2d, c14dia3d     ! additional diagnostics
 #endif
@@ -81,5 +81,5 @@
       IF(lwp) WRITE(numout,*) '    initial year (aa)                  nyear_beg_b = ', nyear_beg_b
       !
-#if defined key_trc_diaadd
+#if defined key_trc_diaadd && ! defined key_iomput
 
       ! Namelist namc14dia
Index: trunk/NEMO/TOP_SRC/C14b/trcrst_c14b.F90
===================================================================
--- trunk/NEMO/TOP_SRC/C14b/trcrst_c14b.F90	(revision 1801)
+++ trunk/NEMO/TOP_SRC/C14b/trcrst_c14b.F90	(revision 1801)
@@ -0,0 +1,91 @@
+MODULE trcrst_c14b
+   !!======================================================================
+   !!                       ***  MODULE trcrst_c14b  ***
+   !! TOP :   create, write, read the restart files of c14b tracer
+   !!======================================================================
+   !! History :   1.0  !  2010-01 (C. Ethe) Original
+   !!----------------------------------------------------------------------
+#if defined key_c14b
+   !!----------------------------------------------------------------------
+   !!   'key_c14b'                                               c14b tracers
+   !!----------------------------------------------------------------------
+   !!   trc_rst_read_c14b   : read  restart file
+   !!   trc_rst_wri_c14b    : write restart file
+   !!----------------------------------------------------------------------
+   USE oce_trc         ! Ocean variables
+   USE par_trc         ! TOP parameters
+   USE trc             ! TOP variables
+   USE trcsms_c14b          ! c14b sms trends
+   USE in_out_manager  ! I/O manager
+   USE iom
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC  trc_rst_read_c14b   ! called by trcini.F90 module
+   PUBLIC  trc_rst_wri_c14b   ! called by trcini.F90 module
+
+CONTAINS
+   
+   SUBROUTINE trc_rst_read_c14b( knum ) 
+      !!----------------------------------------------------------------------
+      !!                     ***  trc_rst_read_c14b  ***  
+      !!
+      !! ** Purpose : Read in restart file specific variables from c14b model
+      !!
+      !!----------------------------------------------------------------------
+      INTEGER, INTENT(in)  :: knum  ! unit of the restart file
+      INTEGER              :: jn    ! dummy loop indices
+      !!----------------------------------------------------------------------
+
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) ' trc_rst_read_c14b : Read specific variables from c14b model '
+      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
+      
+      DO jn = jp_c14b0, jp_c14b1
+         CALL iom_get( knum, jpdom_autoglo, 'qint_'//ctrcnm(jn), qint_c14(:,:,jn) ) 
+      END DO
+
+   END SUBROUTINE trc_rst_read_c14b
+
+   SUBROUTINE trc_rst_wri_c14b( kt, kitrst, knum )
+      !!----------------------------------------------------------------------
+      !!                     ***  trc_rst_read_c14b  ***
+      !!
+      !! ** Purpose : Read in restart file specific variables from c14b model
+      !!
+      !!----------------------------------------------------------------------
+      INTEGER, INTENT(in)  :: kt      ! time step
+      INTEGER, INTENT(in)  :: kitrst  ! time step of restart write
+      INTEGER, INTENT(in)  :: knum    ! unit of the restart file
+      INTEGER              :: jn      ! dummy loop indices
+      !!----------------------------------------------------------------------
+
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) ' trc_rst_wri_c14b : Write specific variables from c14b model '
+      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
+
+      DO jn = jp_c14b0, jp_c14b1
+         CALL iom_rstput( kt, kitrst, kum, 'qint_'//ctrcnm(jn), qint_c14(:,:,jn) )
+      END DO
+
+   END SUBROUTINE trc_rst_wri_c14b
+
+#else
+   !!----------------------------------------------------------------------
+   !!  Dummy module :                                     No passive tracer
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE trc_rst_read_c14b( knum )
+     INTEGER, INTENT(in)  :: knum
+     WRITE(*,*) 'trc_rst_wri_c14b: You should not have seen this print! error?', knum
+   END SUBROUTINE trc_rst_read_c14b
+
+   SUBROUTINE trc_rst_wri_c14b( kt, kitrst, knum )
+     INTEGER, INTENT(in)  :: kt, kitrst, knum
+     WRITE(*,*) 'trc_rst_wri_c14b: You should not have seen this print! error?', kt, kitrst, knum
+   END SUBROUTINE trc_rst_wri_c14b
+#endif
+
+   !!======================================================================
+END MODULE trcrst_c14b
