source: NEMO/trunk/src/TOP/trcwri.F90

Last change on this file was 13237, checked in by smasson, 5 months ago

trunk: Mid-year merge, merge back KERNEL-06_techene_e3

  • Property svn:keywords set to Id
File size: 4.0 KB
Line 
1MODULE trcwri
2   !!======================================================================
3   !!                       *** MODULE trcwri ***
4   !!    TOP :   Output of passive tracers
5   !!======================================================================
6   !! History :   1.0  !  2009-05 (C. Ethe)  Original code
7   !!----------------------------------------------------------------------
8#if defined key_top && defined key_iomput
9   !!----------------------------------------------------------------------
10   !!   'key_top'                                           TOP models
11   !!----------------------------------------------------------------------
12   !! trc_wri_trc   :  outputs of concentration fields
13   !!----------------------------------------------------------------------
14   USE dom_oce     ! ocean space and time domain variables
15   USE oce_trc     ! shared variables between ocean and passive tracers
16   USE trc         ! passive tracers common variables
17   USE iom         ! I/O manager
18   USE dianam      ! Output file name
19   USE trcwri_pisces
20   USE trcwri_cfc
21   USE trcwri_c14
22   USE trcwri_age
23   USE trcwri_my_trc
24
25   IMPLICIT NONE
26   PRIVATE
27
28   PUBLIC trc_wri     
29
30CONTAINS
31
32   SUBROUTINE trc_wri( kt, Kmm )
33      !!---------------------------------------------------------------------
34      !!                     ***  ROUTINE trc_wri  ***
35      !!
36      !! ** Purpose :   output passive tracers fields and dynamical trends
37      !!---------------------------------------------------------------------
38      INTEGER, INTENT( in )     :: kt
39      INTEGER, INTENT( in )     :: Kmm  ! time level indices
40      !
41      INTEGER                   :: jn
42      CHARACTER (len=20)        :: cltra
43      CHARACTER (len=40)        :: clhstnam
44      INTEGER ::   inum = 11            ! temporary logical unit
45      !!---------------------------------------------------------------------
46      !
47      IF( ln_timing )   CALL timing_start('trc_wri')
48      !
49      IF( l_offline ) THEN    ! WRITE root name in date.file for use by postpro
50         IF(  kt == nittrc000 .AND. lwp ) THEN    ! WRITE root name in date.file for use by postpro
51           CALL dia_nam( clhstnam, nn_writetrc,' ' )
52           CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )
53           WRITE(inum,*) clhstnam
54           CLOSE(inum)
55        ENDIF
56
57       ! Output of initial vertical scale factor
58       CALL iom_put( "e3t_0", e3t_0(:,:,:) )
59       CALL iom_put( "e3u_0", e3u_0(:,:,:) )
60       CALL iom_put( "e3v_0", e3v_0(:,:,:) )
61       !
62#if ! defined key_qco
63       CALL iom_put( "e3t" , e3t(:,:,:,Kmm) )
64       CALL iom_put( "e3u" , e3u(:,:,:,Kmm) )
65       CALL iom_put( "e3v" , e3v(:,:,:,Kmm) )
66#endif 
67       !
68      ENDIF
69      ! write the tracer concentrations in the file
70      ! ---------------------------------------
71      IF( ln_pisces  )   CALL trc_wri_pisces( Kmm )     ! PISCES
72      IF( ll_cfc     )   CALL trc_wri_cfc   ( Kmm )     ! surface fluxes of CFC
73      IF( ln_c14     )   CALL trc_wri_c14   ( Kmm )     ! surface fluxes of C14
74      IF( ln_age     )   CALL trc_wri_age   ( Kmm )     ! AGE tracer
75      IF( ln_my_trc  )   CALL trc_wri_my_trc( Kmm )     ! MY_TRC  tracers
76      !
77      IF( ln_timing )   CALL timing_stop('trc_wri')
78      !
79   END SUBROUTINE trc_wri
80
81#else
82   !!----------------------------------------------------------------------
83   !!  Dummy module :                                     No passive tracer
84   !!----------------------------------------------------------------------
85   PUBLIC trc_wri
86CONTAINS
87   SUBROUTINE trc_wri( kt, Kmm )                     ! Empty routine   
88   INTEGER, INTENT(in) :: kt
89   INTEGER, INTENT(in) :: Kmm  ! time level indices
90   END SUBROUTINE trc_wri
91#endif
92
93   !!----------------------------------------------------------------------
94   !! NEMO/TOP 4.0 , NEMO Consortium (2018)
95   !! $Id$
96   !! Software governed by the CeCILL license (see ./LICENSE)
97   !!======================================================================
98END MODULE trcwri
Note: See TracBrowser for help on using the repository browser.