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.
par_cfc.F90 in branches/NERC/dev_r5518_GO6_conserv_check_up/NEMOGCM/NEMO/TOP_SRC/CFC – NEMO

source: branches/NERC/dev_r5518_GO6_conserv_check_up/NEMOGCM/NEMO/TOP_SRC/CFC/par_cfc.F90 @ 9260

Last change on this file since 9260 was 8280, checked in by timgraham, 7 years ago

331: Merge of MEDUSA stable branch and HadGEM3 coupling branches into GO6 package branch.

File size: 4.7 KB
Line 
1MODULE par_cfc
2   !!======================================================================
3   !!                        ***  par_cfc  ***
4   !! TOP :   set the CFC parameters
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
7   !!                  !  2017-04  (A. Yool)  add SF6
8   !!----------------------------------------------------------------------
9   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
10   !! $Id$
11   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
12   !!----------------------------------------------------------------------
13   USE par_pisces , ONLY : jp_pisces       !: number of tracers in PISCES
14   USE par_pisces , ONLY : jp_pisces_2d    !: number of 2D diag in PISCES
15   USE par_pisces , ONLY : jp_pisces_3d    !: number of 3D diag in PISCES
16   USE par_pisces , ONLY : jp_pisces_trd   !: number of biological diag in PISCES
17
18   USE par_medusa , ONLY : jp_medusa       !: number of tracers in MEDUSA
19   USE par_medusa , ONLY : jp_medusa_2d    !: number of 2D diag in MEDUSA
20   USE par_medusa , ONLY : jp_medusa_3d    !: number of 3D diag in MEDUSA
21   USE par_medusa , ONLY : jp_medusa_trd   !: number of biological diag in MEDUSA
22
23   USE par_idtra  , ONLY : jp_idtra        !: number of tracers in ideal tracer
24   USE par_idtra  , ONLY : jp_idtra_2d     !: number of tracers in ideal tracer
25   USE par_idtra  , ONLY : jp_idtra_3d     !: number of tracers in ideal tracer
26   USE par_idtra  , ONLY : jp_idtra_trd    !: number of tracers in ideal tracer
27
28   IMPLICIT NONE
29
30   INTEGER, PARAMETER ::   jp_lc      =  jp_pisces     + jp_medusa     + &
31                      jp_idtra     !: cumulative number of passive tracers
32   INTEGER, PARAMETER ::   jp_lc_2d   =  jp_pisces_2d  + jp_medusa_2d  + &
33                      jp_idtra_2d !:
34   INTEGER, PARAMETER ::   jp_lc_3d   =  jp_pisces_3d  + jp_medusa_3d  + &
35                      jp_idtra_3d !:
36   INTEGER, PARAMETER ::   jp_lc_trd  =  jp_pisces_trd + jp_medusa_trd + &
37                      jp_idtra_trd !:
38   
39#if defined key_cfc
40   !!---------------------------------------------------------------------
41   !!   'key_cfc'   :                                          CFC tracers
42   !!---------------------------------------------------------------------
43   LOGICAL, PUBLIC, PARAMETER ::   lk_cfc     = .TRUE.      !: CFC flag
44   INTEGER, PUBLIC, PARAMETER ::   jp_cfc     =  3          !: number of passive tracers
45   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_2d  =  6          !: additional 2d output arrays ('key_trc_diaadd')
46   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_3d  =  0          !: additional 3d output arrays ('key_trc_diaadd')
47   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_trd =  0          !: number of sms trends for CFC
48   
49   ! assign an index in trc arrays for each CFC prognostic variables
50   INTEGER, PUBLIC, PARAMETER ::   jpc11       = jp_lc + 1   !: CFC-11
51   INTEGER, PUBLIC, PARAMETER ::   jpc12       = jp_lc + 2   !: CFC-12 (priority tracer for CMIP6)
52   INTEGER, PUBLIC, PARAMETER ::   jpsf6       = jp_lc + 3   !: SF6
53#else
54   !!---------------------------------------------------------------------
55   !!   Default     :                                       No CFC tracers
56   !!---------------------------------------------------------------------
57   LOGICAL, PUBLIC, PARAMETER ::   lk_cfc     = .FALSE.     !: CFC flag
58   INTEGER, PUBLIC, PARAMETER ::   jp_cfc     =  0          !: No CFC tracers
59   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_2d  =  0          !: No CFC additional 2d output arrays
60   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_3d  =  0          !: No CFC additional 3d output arrays
61   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_trd =  0          !: number of sms trends for CFC
62#endif
63
64   ! Starting/ending CFC do-loop indices (N.B. no CFC : jp_cfc0 > jp_cfc1 the do-loop are never done)
65   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0     = jp_lc + 1              !: First index of CFC tracers
66   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1     = jp_lc + jp_cfc         !: Last  index of CFC tracers
67   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_2d  = jp_lc_2d  + 1          !: First index of CFC tracers
68   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_2d  = jp_lc_2d  + jp_cfc_2d  !: Last  index of CFC tracers
69   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_3d  = jp_lc_3d  + 1          !: First index of CFC tracers
70   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_3d  = jp_lc_3d  + jp_cfc_3d  !: Last  index of CFC tracers
71   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_trd = jp_lc_trd + 1          !: First index of CFC tracers
72   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_trd = jp_lc_trd + jp_cfc_trd !: Last  index of CFC tracers
73
74   !!======================================================================
75END MODULE par_cfc
Note: See TracBrowser for help on using the repository browser.