New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
trc.F90 in trunk/NEMO/TOP_SRC – NEMO

source: trunk/NEMO/TOP_SRC/trc.F90 @ 1254

Last change on this file since 1254 was 1254, checked in by cetlod, 15 years ago

update parameter files to take into account the new C14 bomb tracer model, see ticket:298

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.8 KB
Line 
1MODULE trc
2   !!======================================================================
3   !!                      ***  MODULE  trc  ***
4   !! Passive tracers   :  module for tracers defined
5   !!======================================================================
6   !! History :    -   !  1996-01  (M. Levy)  Original code
7   !!              -   !  1999-07  (M. Levy)  for LOBSTER1 or NPZD model
8   !!              -   !  2000-04  (O. Aumont, M.A. Foujols)  HAMOCC3 and P3ZD
9   !!             1.0  !  2004-03  (C. Ethe)  Free form and module
10   !!----------------------------------------------------------------------
11   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
12   !! $Id$
13   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
14   !!----------------------------------------------------------------------
15#if defined key_top
16   !!----------------------------------------------------------------------
17   !!   'key_top'                                                TOP models
18   !!----------------------------------------------------------------------
19   USE par_oce
20   USE par_trc
21   
22   IMPLICIT NONE
23   PUBLIC
24
25   !! passive tracers names and units (read in namelist)
26   !! --------------------------------------------------
27   CHARACTER(len=12), PUBLIC, DIMENSION(jptra) ::   ctrcnm     !: tracer name
28   CHARACTER(len=12), PUBLIC, DIMENSION(jptra) ::   ctrcun     !: tracer unit
29   CHARACTER(len=80), PUBLIC, DIMENSION(jptra) ::   ctrcnl     !: tracer long name
30   
31   
32   !! parameters for the control of passive tracers
33   !! --------------------------------------------------
34   INTEGER, PUBLIC                   ::   numnat   !: the number of the passive tracer NAMELIST
35   LOGICAL, PUBLIC, DIMENSION(jptra) ::   lutini   !:  initialisation from FILE or not (NAMELIST)
36   LOGICAL, PUBLIC, DIMENSION(jptra) ::   lutsav   !:  logical for saving tracer or not
37   INTEGER, PUBLIC, DIMENSION(jptra) ::   nutini   !: FORTRAN LOGICAL UNIT for initialisation file
38
39   !! passive tracers fields (before,now,after)
40   !! --------------------------------------------------
41   REAL(wp), PUBLIC ::   trai                         !: initial total tracer
42   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk) :: cvol  !: masked grid volume
43   REAL(wp), PUBLIC ::   areatot                      !: total volume
44
45   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   trn   !: traceur concentration for actual time step
46   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   tra   !: traceur concentration for next time step
47   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   trb   !: traceur concentration for before time step
48
49   
50   !! passive tracers restart (input and output)
51   !! ------------------------------------------ 
52   INTEGER , PUBLIC  ::  ndttrc     !: frequency of step on passive tracers
53   INTEGER , PUBLIC  ::  nittrc000  !: first time step of passive tracers model
54   LOGICAL , PUBLIC  ::  lrsttr     !: boolean term for restart i/o for passive tracers (namelist)
55   LOGICAL , PUBLIC  ::  lrst_trc   !: logical to control the trc restart write
56   INTEGER , PUBLIC  ::  nutwrs     !: output FILE for passive tracers restart
57   INTEGER , PUBLIC  ::  nutrst     !: logical unit for restart FILE for passive tracers
58   INTEGER , PUBLIC  ::  nrsttr     !: control of the time step ( 0 or 1 ) for pass. tr.
59   CHARACTER(len=32) ::  cn_trcrst_in  !: suffix of pass. tracer restart name (input)
60   CHARACTER(len=32) ::  cn_trcrst_out !: suffix of pass. tracer restart name (output)
61   
62   !! information for outputs
63   !! --------------------------------------------------
64   INTEGER , PUBLIC ::   nwritetrc   !: time step frequency for concentration outputs (namelist)
65   
66# if defined key_trc_diaadd
67   !! additional 2D/3D outputs namelist
68   !! --------------------------------------------------
69   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia2d) ::   ctrc2d   !: 2d output field name
70   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia2d) ::   ctrc2u   !: 2d output field unit   
71   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia3d) ::   ctrc3d   !: 3d output field name
72   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia3d) ::   ctrc3u   !: 3d output field unit
73   CHARACTER(len=80), PUBLIC, DIMENSION (jpdia2d) ::   ctrc2l   !: 2d output field long name
74   CHARACTER(len=80), PUBLIC, DIMENSION (jpdia3d) ::   ctrc3l   !: 3d output field long name
75
76   
77   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,    jpdia2d) ::   trc2d   !:  additional 2d outputs 
78   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jpdia3d) ::   trc3d   !:  additional 3d outputs 
79   
80   
81   !! netcdf files and index common
82   !! --------------------------------------------------
83   INTEGER , PUBLIC ::   nwritedia     !: frequency of additional arrays outputs(namelist)
84# endif
85
86# if defined key_trc_diabio
87
88   !! Biological trends
89   !! -----------------
90   CHARACTER(len=8),  DIMENSION(jpdiabio) ::   ctrbio   !: biological trends name      (NAMELIST)
91   CHARACTER(len=20), DIMENSION(jpdiabio) ::   ctrbiu   !: biological trends unit      (NAMELIST)
92   CHARACTER(len=80), DIMENSION(jpdiabio) ::   ctrbil   !: biological trends long name (NAMELIST)
93   REAL(wp), DIMENSION(jpi,jpj,jpk,jpdiabio) :: trbio   !: biological trends
94
95   !! Netcdf output parameters
96   !! ------------------------
97   INTEGER ::   nwritebio   !: time step frequency for biological outputs (NAMELIST)
98
99# endif
100
101   
102   !! passive tracers data read and at given time_step
103   !! --------------------------------------------------
104# if defined key_dtatrc
105   INTEGER , PUBLIC, DIMENSION(jptra) ::   numtr   !: logical unit for passive tracers data
106# endif
107
108#else
109   !!----------------------------------------------------------------------
110   !!  Empty module :                                     No passive tracer
111   !!----------------------------------------------------------------------
112#endif
113
114   !!======================================================================
115END MODULE trc
Note: See TracBrowser for help on using the repository browser.