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_idtra.F90 in branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/TOP_SRC/IDTRA – NEMO

source: branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/TOP_SRC/IDTRA/par_idtra.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.4 KB
Line 
1MODULE par_idtra
2   !!======================================================================
3   !!                        ***  par_idtra  ***
4   !! TOP :   set the IDEAL-TRACER parameters
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
7   !!----------------------------------------------------------------------
8   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
9   !! $Id$
10   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
11   !!----------------------------------------------------------------------
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 yomhook, ONLY: lhook, dr_hook
24   USE parkind1, ONLY: jprb, jpim
25
26   IMPLICIT NONE
27
28   INTEGER, PARAMETER ::   jp_lp      =  jp_pisces     +  jp_medusa     !: cumulative number of passive tracers
29   INTEGER, PARAMETER ::   jp_lp_2d   =  jp_pisces_2d  +  jp_medusa_2d  !:
30   INTEGER, PARAMETER ::   jp_lp_3d   =  jp_pisces_3d  +  jp_medusa_3d  !:
31   INTEGER, PARAMETER ::   jp_lp_trd  =  jp_pisces_trd +  jp_medusa_trd !:
32
33#if defined key_idtra
34   !!---------------------------------------------------------------------
35   !!   'key_idtra'   :                                          Ideal tracers
36   !!---------------------------------------------------------------------
37   LOGICAL, PUBLIC, PARAMETER ::   lk_idtra     = .TRUE.      !: IDEAL-TRACER flag
38   INTEGER, PUBLIC, PARAMETER ::   jp_idtra     =  1          !: number of passive tracers
39   INTEGER, PUBLIC, PARAMETER ::   jp_idtra_2d  =  3          !: additional 2d output arrays ('key_trc_diaadd')
40   INTEGER, PUBLIC, PARAMETER ::   jp_idtra_3d  =  0          !: additional 3d output arrays ('key_trc_diaadd')
41   INTEGER, PUBLIC, PARAMETER ::   jp_idtra_trd =  0          !: number of sms trends for IDEAL-TRACER
42
43   ! assign an index in trc arrays for each IDEAL-TRACER prognostic variables
44   INTEGER, PUBLIC, PARAMETER ::   jpidtra       = jp_lp + 1   !: IDEAL-TRACER
45#else
46   !!---------------------------------------------------------------------
47   !!   Default     :                                       No IDEAL-TRACER tracers
48   !!---------------------------------------------------------------------
49   LOGICAL, PUBLIC, PARAMETER ::   lk_idtra     = .FALSE.     !: IDEAL-TRACER flag
50   INTEGER, PUBLIC, PARAMETER ::   jp_idtra     =  0          !: No IDEAL-TRACER tracers
51   INTEGER, PUBLIC, PARAMETER ::   jp_idtra_2d  =  0          !: No IDEAL-TRACER additional 2d output arrays
52   INTEGER, PUBLIC, PARAMETER ::   jp_idtra_3d  =  0          !: No IDEAL-TRACER additional 3d output arrays
53   INTEGER, PUBLIC, PARAMETER ::   jp_idtra_trd =  0          !: number of sms trends for IDEAL-TRACER
54#endif
55
56   ! Starting/ending IDEAL-TRACER do-loop indices (N.B. no IDEAL-TRACER : jp_idtra0 > jp_idtra1 the do-loop are never done)
57   INTEGER, PUBLIC, PARAMETER ::   jp_idtra0     = jp_lp + 1                !: First index of IDEAL-TRACER tracers
58   INTEGER, PUBLIC, PARAMETER ::   jp_idtra1     = jp_lp + jp_idtra         !: Last  index of IDEAL-TRACER tracers
59   INTEGER, PUBLIC, PARAMETER ::   jp_idtra0_2d  = jp_lp_2d  + 1            !: First index of IDEAL-TRACER tracers
60   INTEGER, PUBLIC, PARAMETER ::   jp_idtra1_2d  = jp_lp_2d  + jp_idtra_2d  !: Last  index of IDEAL-TRACER tracers
61   INTEGER, PUBLIC, PARAMETER ::   jp_idtra0_3d  = jp_lp_3d  + 1            !: First index of IDEAL-TRACER tracers
62   INTEGER, PUBLIC, PARAMETER ::   jp_idtra1_3d  = jp_lp_3d  + jp_idtra_3d  !: Last  index of IDEAL-TRACER tracers
63   INTEGER, PUBLIC, PARAMETER ::   jp_idtra0_trd = jp_lp_trd + 0            !: First index of IDEAL-TRACER tracers
64   INTEGER, PUBLIC, PARAMETER ::   jp_idtra1_trd = jp_lp_trd + jp_idtra_trd !: Last  index of IDEAL-TRACER tracers
65
66   !!======================================================================
67END MODULE par_idtra
68
69
70
Note: See TracBrowser for help on using the repository browser.