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 branches/nemo_v3_3_beta/NEMOGCM/NEMO/TOP_SRC – NEMO

source: branches/nemo_v3_3_beta/NEMOGCM/NEMO/TOP_SRC/trc.F90 @ 2287

Last change on this file since 2287 was 2287, checked in by smasson, 14 years ago

update licence of all NEMO files...

  • Property svn:keywords set to Id
File size: 6.1 KB
Line 
1MODULE trc
2   !!======================================================================
3   !!                      ***  MODULE  trc  ***
4   !! Passive tracers   :  module for tracers defined
5   !!======================================================================
6   !! History :   OPA  !  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   !!   NEMO      1.0  !  2004-03  (C. Ethe)  Free form and module
10   !!----------------------------------------------------------------------
11#if defined key_top
12   !!----------------------------------------------------------------------
13   !!   'key_top'                                                TOP models
14   !!----------------------------------------------------------------------
15   USE par_oce
16   USE par_trc
17   
18   IMPLICIT NONE
19   PUBLIC
20
21   !! passive tracers names and units (read in namelist)
22   !! --------------------------------------------------
23   CHARACTER(len=12), PUBLIC, DIMENSION(jptra) ::   ctrcnm     !: tracer name
24   CHARACTER(len=12), PUBLIC, DIMENSION(jptra) ::   ctrcun     !: tracer unit
25   CHARACTER(len=80), PUBLIC, DIMENSION(jptra) ::   ctrcnl     !: tracer long name
26   
27   
28   !! parameters for the control of passive tracers
29   !! --------------------------------------------------
30   INTEGER, PUBLIC                   ::   numnat   !: the number of the passive tracer NAMELIST
31   LOGICAL, PUBLIC, DIMENSION(jptra) ::   lutini   !:  initialisation from FILE or not (NAMELIST)
32   LOGICAL, PUBLIC, DIMENSION(jptra) ::   lutsav   !:  save the tracer or not
33
34   !! passive tracers fields (before,now,after)
35   !! --------------------------------------------------
36   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk) :: cvol   !: volume correction -degrad option-
37   REAL(wp), PUBLIC ::   trai                          !: initial total tracer
38   REAL(wp), PUBLIC ::   areatot                       !: total volume
39
40   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   trn   !: traceur concentration for actual time step
41   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   tra   !: traceur concentration for next time step
42   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   trb   !: traceur concentration for before time step
43
44   !! interpolated gradient
45   !!-------------------------------------------------- 
46   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jptra) ::   gtru   !: horizontal gradient at u-points at bottom ocean level
47   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jptra) ::   gtrv   !: horizontal gradient at v-points at bottom ocean level
48   
49   !! passive tracers restart (input and output)
50   !! ------------------------------------------ 
51   LOGICAL , PUBLIC          ::  ln_rsttr      !: boolean term for restart i/o for passive tracers (namelist)
52   LOGICAL , PUBLIC          ::  lrst_trc      !: logical to control the trc restart write
53   INTEGER , PUBLIC          ::  nn_dttrc      !: frequency of step on passive tracers
54   INTEGER , PUBLIC          ::  nutwrs        !: output FILE for passive tracers restart
55   INTEGER , PUBLIC          ::  nutrst        !: logical unit for restart FILE for passive tracers
56   INTEGER , PUBLIC          ::  nn_rsttr      !: control of the time step ( 0 or 1 ) for pass. tr.
57   CHARACTER(len=50), PUBLIC ::  cn_trcrst_in  !: suffix of pass. tracer restart name (input)
58   CHARACTER(len=50), PUBLIC ::  cn_trcrst_out !: suffix of pass. tracer restart name (output)
59   
60   !! information for outputs
61   !! --------------------------------------------------
62   INTEGER , PUBLIC ::   nn_writetrc   !: time step frequency for concentration outputs (namelist)
63   
64# if defined key_diatrc && ! defined key_iomput
65   !! additional 2D/3D outputs namelist
66   !! --------------------------------------------------
67   INTEGER , PUBLIC                               ::   nwritedia   !: frequency of additional arrays outputs(namelist)
68   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia2d) ::   ctrc2d      !: 2d output field name
69   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia2d) ::   ctrc2u      !: 2d output field unit   
70   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia3d) ::   ctrc3d      !: 3d output field name
71   CHARACTER(len= 8), PUBLIC, DIMENSION (jpdia3d) ::   ctrc3u      !: 3d output field unit
72   CHARACTER(len=80), PUBLIC, DIMENSION (jpdia2d) ::   ctrc2l      !: 2d output field long name
73   CHARACTER(len=80), PUBLIC, DIMENSION (jpdia3d) ::   ctrc3l      !: 3d output field long name
74
75   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,    jpdia2d) ::   trc2d    !:  additional 2d outputs 
76   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jpdia3d) ::   trc3d    !:  additional 3d outputs 
77   
78# endif
79
80#if defined key_diabio || defined key_trdmld_trc
81   !                                                              !!*  namtop_XXX namelist *
82   INTEGER , PUBLIC                               ::   nwritebio   !: time step frequency for biological outputs
83   CHARACTER(len=8 ), PUBLIC, DIMENSION(jpdiabio) ::   ctrbio      !: biological trends name     
84   CHARACTER(len=20), PUBLIC, DIMENSION(jpdiabio) ::   ctrbiu      !: biological trends unit   
85   CHARACTER(len=80), PUBLIC, DIMENSION(jpdiabio) ::   ctrbil      !: biological trends long name
86#endif
87# if defined key_diabio
88   !! Biological trends
89   !! -----------------
90   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk,jpdiabio) :: trbio   !: biological trends
91# endif
92
93   
94   !! passive tracers data read and at given time_step
95   !! --------------------------------------------------
96# if defined key_dtatrc
97   INTEGER , PUBLIC, DIMENSION(jptra) ::   numtr   !: logical unit for passive tracers data
98# endif
99
100#else
101   !!----------------------------------------------------------------------
102   !!  Empty module :                                     No passive tracer
103   !!----------------------------------------------------------------------
104#endif
105
106   !!----------------------------------------------------------------------
107   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
108   !! $Id$
109   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
110   !!======================================================================
111END MODULE trc
Note: See TracBrowser for help on using the repository browser.