[5726] | 1 | MODULE par_medusa |
---|
| 2 | !!====================================================================== |
---|
| 3 | !! *** par_medusa *** |
---|
| 4 | !! TOP : set the MEDUSA parameters |
---|
| 5 | !!====================================================================== |
---|
| 6 | !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) revised architecture |
---|
| 7 | !! - ! 2008-08 (K. Popova) adaptation for MEDUSA |
---|
| 8 | !! - ! 2008-11 (A. Yool) continuing adaptation for MEDUSA |
---|
| 9 | !! - ! 2010-03 (A. Yool) updated for branch inclusion |
---|
| 10 | !! - ! 2011-04 (A. Yool) updated for ROAM project |
---|
| 11 | !! - ! 2013-03 (A. Yool) updated for v3.5 NEMO |
---|
| 12 | !!---------------------------------------------------------------------- |
---|
| 13 | !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) |
---|
| 14 | !! $Id$ |
---|
| 15 | !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) |
---|
| 16 | !!---------------------------------------------------------------------- |
---|
[6164] | 17 | USE par_pisces , ONLY : jp_pisces !: number of tracers in PISCES |
---|
| 18 | USE par_pisces , ONLY : jp_pisces_2d !: number of 2D diag in PISCES |
---|
| 19 | USE par_pisces , ONLY : jp_pisces_3d !: number of 3D diag in PISCES |
---|
| 20 | USE par_pisces , ONLY : jp_pisces_trd !: number of biological diag in PISCES |
---|
[5726] | 21 | |
---|
[8345] | 22 | USE par_cfc , ONLY : jp_cfc !: number of tracers in CFC |
---|
| 23 | USE par_cfc , ONLY : jp_cfc_2d !: number of tracers in CFC |
---|
| 24 | USE par_cfc , ONLY : jp_cfc_3d !: number of tracers in CFC |
---|
| 25 | USE par_cfc , ONLY : jp_cfc_trd !: number of tracers in CFC |
---|
| 26 | |
---|
| 27 | USE par_c14b , ONLY : jp_c14b !: number of tracers in C14 |
---|
| 28 | USE par_c14b , ONLY : jp_c14b_2d !: number of tracers in C14 |
---|
| 29 | USE par_c14b , ONLY : jp_c14b_3d !: number of tracers in C14 |
---|
| 30 | USE par_c14b , ONLY : jp_c14b_trd !: number of tracers in C14 |
---|
| 31 | |
---|
| 32 | USE par_age , ONLY : jp_age !: number of tracers in Age |
---|
| 33 | USE par_age , ONLY : jp_age_2d !: number of tracers in Age |
---|
| 34 | USE par_age , ONLY : jp_age_3d !: number of tracers in Age |
---|
| 35 | USE par_age , ONLY : jp_age_trd !: number of tracers in Age |
---|
| 36 | |
---|
| 37 | USE par_my_trc , ONLY : jp_my_trc !: number of tracers in my_trc |
---|
| 38 | USE par_my_trc , ONLY : jp_my_trc_2d !: number of tracers in my_trc |
---|
| 39 | USE par_my_trc , ONLY : jp_my_trc_3d !: number of tracers in my_trc |
---|
| 40 | USE par_my_trc , ONLY : jp_my_trc_trd !: number of tracers in my_trc |
---|
| 41 | |
---|
| 42 | USE par_idtra , ONLY : jp_idtra !: number of tracers in IDTRA |
---|
| 43 | USE par_idtra , ONLY : jp_idtra_2d !: number of tracers in IDTRA |
---|
| 44 | USE par_idtra , ONLY : jp_idtra_3d !: number of tracers in IDTRA |
---|
| 45 | USE par_idtra , ONLY : jp_idtra_trd !: number of tracers in IDTRA |
---|
| 46 | |
---|
[5726] | 47 | IMPLICIT NONE |
---|
| 48 | |
---|
[8345] | 49 | INTEGER, PARAMETER :: jp_lm = jp_pisces + jp_age + & |
---|
| 50 | jp_idtra + jp_cfc + jp_c14b + jp_my_trc !: cum. number of pass. tracers |
---|
| 51 | INTEGER, PARAMETER :: jp_lm_2d = jp_pisces_2d + jp_age_2d + & |
---|
| 52 | jp_idtra_2d + jp_cfc_2d + jp_c14b_2d + jp_my_trc_2d !: |
---|
| 53 | INTEGER, PARAMETER :: jp_lm_3d = jp_pisces_3d + jp_age_3d + & |
---|
| 54 | jp_idtra_3d + jp_cfc_3d + jp_c14b_3d + jp_my_trc_3d !: |
---|
| 55 | INTEGER, PARAMETER :: jp_lm_trd = jp_pisces_trd + jp_age_trd + & |
---|
| 56 | jp_idtra_trd + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd !: |
---|
[6164] | 57 | |
---|
[8345] | 58 | |
---|
[5726] | 59 | #if defined key_medusa |
---|
| 60 | !!--------------------------------------------------------------------- |
---|
| 61 | !! 'key_medusa' user defined tracers (MEDUSA) |
---|
| 62 | !!--------------------------------------------------------------------- |
---|
| 63 | LOGICAL, PUBLIC, PARAMETER :: lk_medusa = .TRUE. !: PTS flag |
---|
| 64 | # if defined key_roam |
---|
| 65 | INTEGER, PUBLIC, PARAMETER :: jp_medusa = 15 !: number of PTS tracers |
---|
| 66 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_2d = 225 !: additional 2d output arrays (used if ln_diatrc=T) |
---|
| 67 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_3d = 5 !: additional 3d output arrays (used if ln_diatrc=T) |
---|
| 68 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_trd = 0 !: number of sms trends for MEDUSA |
---|
| 69 | # else |
---|
| 70 | INTEGER, PUBLIC, PARAMETER :: jp_medusa = 11 !: number of PTS tracers |
---|
| 71 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_2d = 90 !: additional 2d output arrays (used if ln_diatrc=T) |
---|
| 72 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_3d = 4 !: additional 3d output arrays (used if ln_diatrc=T) |
---|
| 73 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_trd = 0 !: number of sms trends for MEDUSA |
---|
| 74 | # endif |
---|
| 75 | |
---|
| 76 | ! assign an index in trc arrays for each PTS prognostic variables |
---|
[6164] | 77 | INTEGER, PUBLIC, PARAMETER :: jpchn = jp_lm + 1 !: non-diatom chlorophyll concentration |
---|
| 78 | INTEGER, PUBLIC, PARAMETER :: jpchd = jp_lm + 2 !: diatom chlorophyll concentration |
---|
| 79 | INTEGER, PUBLIC, PARAMETER :: jpphn = jp_lm + 3 !: non-diatom concentration |
---|
| 80 | INTEGER, PUBLIC, PARAMETER :: jpphd = jp_lm + 4 !: diatom concentration |
---|
| 81 | INTEGER, PUBLIC, PARAMETER :: jpzmi = jp_lm + 5 !: microzooplankton concentration |
---|
| 82 | INTEGER, PUBLIC, PARAMETER :: jpzme = jp_lm + 6 !: mesozooplankton concentration |
---|
| 83 | INTEGER, PUBLIC, PARAMETER :: jpdin = jp_lm + 7 !: dissolved inorganic nitrogen concentration |
---|
| 84 | INTEGER, PUBLIC, PARAMETER :: jpsil = jp_lm + 8 !: silicic acid concentration |
---|
| 85 | INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lm + 9 !: total iron concentration |
---|
| 86 | INTEGER, PUBLIC, PARAMETER :: jpdet = jp_lm + 10 !: slow-sinking detritus concentration |
---|
| 87 | INTEGER, PUBLIC, PARAMETER :: jppds = jp_lm + 11 !: diatom silicon concentration |
---|
[5726] | 88 | # if defined key_roam |
---|
[6164] | 89 | INTEGER, PUBLIC, PARAMETER :: jpdtc = jp_lm + 12 !: slow-sinking detritus carbon concentration |
---|
| 90 | INTEGER, PUBLIC, PARAMETER :: jpdic = jp_lm + 13 !: dissolved inorganic carbon concentration |
---|
| 91 | INTEGER, PUBLIC, PARAMETER :: jpalk = jp_lm + 14 !: alkalinity |
---|
| 92 | INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_lm + 15 !: dissolved oxygen concentration |
---|
[5726] | 93 | # endif |
---|
| 94 | |
---|
| 95 | #else |
---|
| 96 | !!--------------------------------------------------------------------- |
---|
| 97 | !! Default No user defined tracers (MEDUSA) |
---|
| 98 | !!--------------------------------------------------------------------- |
---|
| 99 | LOGICAL, PUBLIC, PARAMETER :: lk_medusa = .FALSE. !: MEDUSA flag |
---|
| 100 | INTEGER, PUBLIC, PARAMETER :: jp_medusa = 0 !: No MEDUSA tracers |
---|
| 101 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_2d = 0 !: No MEDUSA additional 2d output arrays |
---|
| 102 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_3d = 0 !: No MEDUSA additional 3d output arrays |
---|
| 103 | INTEGER, PUBLIC, PARAMETER :: jp_medusa_trd = 0 !: number of sms trends for MEDUSA |
---|
| 104 | #endif |
---|
| 105 | |
---|
| 106 | ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) |
---|
[6164] | 107 | INTEGER, PUBLIC, PARAMETER :: jp_msa0 = jp_lm + 1 !: First index of MEDUSA passive tracers |
---|
| 108 | INTEGER, PUBLIC, PARAMETER :: jp_msa1 = jp_lm + jp_medusa !: Last index of MEDUSA passive tracers |
---|
| 109 | INTEGER, PUBLIC, PARAMETER :: jp_msa0_2d = jp_lm_2d + 1 !: First index of MEDUSA passive tracers |
---|
| 110 | INTEGER, PUBLIC, PARAMETER :: jp_msa1_2d = jp_lm_2d + jp_medusa_2d !: Last index of MEDUSA passive tracers |
---|
| 111 | INTEGER, PUBLIC, PARAMETER :: jp_msa0_3d = jp_lm_3d + 1 !: First index of MEDUSA passive tracers |
---|
| 112 | INTEGER, PUBLIC, PARAMETER :: jp_msa1_3d = jp_lm_3d + jp_medusa_3d !: Last index of MEDUSA passive tracers |
---|
| 113 | INTEGER, PUBLIC, PARAMETER :: jp_msa0_trd = jp_lm_trd + 1 !: First index of MEDUSA passive tracers |
---|
| 114 | INTEGER, PUBLIC, PARAMETER :: jp_msa1_trd = jp_lm_trd + jp_medusa_trd !: Last index of MEDUSA passive tracers |
---|
[5726] | 115 | |
---|
| 116 | !!====================================================================== |
---|
| 117 | END MODULE par_medusa |
---|