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 @ 1271

Last change on this file since 1271 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
RevLine 
[186]1MODULE trc
2   !!======================================================================
3   !!                      ***  MODULE  trc  ***
4   !! Passive tracers   :  module for tracers defined
5   !!======================================================================
[945]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
[186]10   !!----------------------------------------------------------------------
[945]11   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
12   !! $Id$
13   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
[274]14   !!----------------------------------------------------------------------
[945]15#if defined key_top
[186]16   !!----------------------------------------------------------------------
[945]17   !!   'key_top'                                                TOP models
18   !!----------------------------------------------------------------------
[186]19   USE par_oce
20   USE par_trc
[945]21   
[186]22   IMPLICIT NONE
23   PUBLIC
24
25   !! passive tracers names and units (read in namelist)
26   !! --------------------------------------------------
[945]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
[186]30   
31   
32   !! parameters for the control of passive tracers
33   !! --------------------------------------------------
[945]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
[186]38
39   !! passive tracers fields (before,now,after)
40   !! --------------------------------------------------
[1254]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
[186]44
[945]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
[186]48
49   
50   !! passive tracers restart (input and output)
[945]51   !! ------------------------------------------ 
[1254]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)
[186]61   
62   !! information for outputs
63   !! --------------------------------------------------
[945]64   INTEGER , PUBLIC ::   nwritetrc   !: time step frequency for concentration outputs (namelist)
[186]65   
[945]66# if defined key_trc_diaadd
[186]67   !! additional 2D/3D outputs namelist
68   !! --------------------------------------------------
[945]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
[186]76   
[945]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 
[186]79   
80   
81   !! netcdf files and index common
82   !! --------------------------------------------------
[945]83   INTEGER , PUBLIC ::   nwritedia     !: frequency of additional arrays outputs(namelist)
84# endif
[433]85
[1077]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
[186]101   
102   !! passive tracers data read and at given time_step
103   !! --------------------------------------------------
[945]104# if defined key_dtatrc
105   INTEGER , PUBLIC, DIMENSION(jptra) ::   numtr   !: logical unit for passive tracers data
106# endif
[186]107
[945]108#else
109   !!----------------------------------------------------------------------
110   !!  Empty module :                                     No passive tracer
111   !!----------------------------------------------------------------------
[439]112#endif
113
[186]114   !!======================================================================
115END MODULE trc
Note: See TracBrowser for help on using the repository browser.