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/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/TOP_SRC/CFC – NEMO

source: branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/TOP_SRC/CFC/par_cfc.F90 @ 11738

Last change on this file since 11738 was 11738, checked in by marc, 5 years ago

The Dr Hook changes from my perl code.

File size: 4.8 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   USE yomhook, ONLY: lhook, dr_hook
29   USE parkind1, ONLY: jprb, jpim
30
31   IMPLICIT NONE
32
33   INTEGER, PARAMETER ::   jp_lc      =  jp_pisces     + jp_medusa     + &
34                      jp_idtra     !: cumulative number of passive tracers
35   INTEGER, PARAMETER ::   jp_lc_2d   =  jp_pisces_2d  + jp_medusa_2d  + &
36                      jp_idtra_2d !:
37   INTEGER, PARAMETER ::   jp_lc_3d   =  jp_pisces_3d  + jp_medusa_3d  + &
38                      jp_idtra_3d !:
39   INTEGER, PARAMETER ::   jp_lc_trd  =  jp_pisces_trd + jp_medusa_trd + &
40                      jp_idtra_trd !:
41   
42#if defined key_cfc
43   !!---------------------------------------------------------------------
44   !!   'key_cfc'   :                                          CFC tracers
45   !!---------------------------------------------------------------------
46   LOGICAL, PUBLIC, PARAMETER ::   lk_cfc     = .TRUE.      !: CFC flag
47   INTEGER, PUBLIC, PARAMETER ::   jp_cfc     =  3          !: number of passive tracers
48   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_2d  =  6          !: additional 2d output arrays ('key_trc_diaadd')
49   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_3d  =  0          !: additional 3d output arrays ('key_trc_diaadd')
50   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_trd =  0          !: number of sms trends for CFC
51   
52   ! assign an index in trc arrays for each CFC prognostic variables
53   INTEGER, PUBLIC, PARAMETER ::   jpc11       = jp_lc + 1   !: CFC-11
54   INTEGER, PUBLIC, PARAMETER ::   jpc12       = jp_lc + 2   !: CFC-12 (priority tracer for CMIP6)
55   INTEGER, PUBLIC, PARAMETER ::   jpsf6       = jp_lc + 3   !: SF6
56#else
57   !!---------------------------------------------------------------------
58   !!   Default     :                                       No CFC tracers
59   !!---------------------------------------------------------------------
60   LOGICAL, PUBLIC, PARAMETER ::   lk_cfc     = .FALSE.     !: CFC flag
61   INTEGER, PUBLIC, PARAMETER ::   jp_cfc     =  0          !: No CFC tracers
62   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_2d  =  0          !: No CFC additional 2d output arrays
63   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_3d  =  0          !: No CFC additional 3d output arrays
64   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_trd =  0          !: number of sms trends for CFC
65#endif
66
67   ! Starting/ending CFC do-loop indices (N.B. no CFC : jp_cfc0 > jp_cfc1 the do-loop are never done)
68   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0     = jp_lc + 1              !: First index of CFC tracers
69   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1     = jp_lc + jp_cfc         !: Last  index of CFC tracers
70   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_2d  = jp_lc_2d  + 1          !: First index of CFC tracers
71   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_2d  = jp_lc_2d  + jp_cfc_2d  !: Last  index of CFC tracers
72   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_3d  = jp_lc_3d  + 1          !: First index of CFC tracers
73   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_3d  = jp_lc_3d  + jp_cfc_3d  !: Last  index of CFC tracers
74   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_trd = jp_lc_trd + 1          !: First index of CFC tracers
75   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_trd = jp_lc_trd + jp_cfc_trd !: Last  index of CFC tracers
76
77   !!======================================================================
78END MODULE par_cfc
Note: See TracBrowser for help on using the repository browser.