par_cfc.F90 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. MODULE 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. !!----------------------------------------------------------------------
  8. !! NEMO/TOP 3.3 , NEMO Consortium (2010)
  9. !! $Id: par_cfc.F90 3680 2012-11-27 14:42:24Z rblod $
  10. !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
  11. !!----------------------------------------------------------------------
  12. USE par_pisces , ONLY : jp_pisces !: number of tracers in PISCES
  13. USE par_pisces , ONLY : jp_pisces_2d !: number of 2D diag in PISCES
  14. USE par_pisces , ONLY : jp_pisces_3d !: number of 3D diag in PISCES
  15. USE par_pisces , ONLY : jp_pisces_trd !: number of biological diag in PISCES
  16. USE par_my_trc , ONLY : jp_my_trc !: number of tracers in MY_TRC
  17. USE par_my_trc , ONLY : jp_my_trc_2d !: number of 2D diag in MY_TRC
  18. USE par_my_trc , ONLY : jp_my_trc_3d !: number of 3D diag in MY_TRC
  19. USE par_my_trc , ONLY : jp_my_trc_trd !: number of biological diag in MY_TRC
  20. IMPLICIT NONE
  21. INTEGER, PARAMETER :: jp_lc = jp_pisces + jp_my_trc !: cumulative number of passive tracers
  22. INTEGER, PARAMETER :: jp_lc_2d = jp_pisces_2d + jp_my_trc_2d !:
  23. INTEGER, PARAMETER :: jp_lc_3d = jp_pisces_3d + jp_my_trc_3d !:
  24. INTEGER, PARAMETER :: jp_lc_trd = jp_pisces_trd + jp_my_trc_trd !:
  25. #if defined key_cfc
  26. !!---------------------------------------------------------------------
  27. !! 'key_cfc' : CFC tracers
  28. !!---------------------------------------------------------------------
  29. LOGICAL, PUBLIC, PARAMETER :: lk_cfc = .TRUE. !: CFC flag
  30. INTEGER, PUBLIC, PARAMETER :: jp_cfc = 2 !: number of passive tracers
  31. INTEGER, PUBLIC, PARAMETER :: jp_cfc_2d = 2 * jp_cfc !: additional 2d output arrays ('key_trc_diaadd')
  32. INTEGER, PUBLIC, PARAMETER :: jp_cfc_3d = 0 !: additional 3d output arrays ('key_trc_diaadd')
  33. INTEGER, PUBLIC, PARAMETER :: jp_cfc_trd = 0 !: number of sms trends for CFC
  34. ! Enable trace gases according to total number jp_cfc
  35. LOGICAL, PUBLIC, PARAMETER :: lp_cfc11 = .false. !: use CFC11
  36. LOGICAL, PUBLIC, PARAMETER :: lp_cfc12 = .true. !: use CFC12
  37. LOGICAL, PUBLIC, PARAMETER :: lp_sf6 = .true. !: use SF6
  38. #else
  39. !!---------------------------------------------------------------------
  40. !! Default : No CFC tracers
  41. !!---------------------------------------------------------------------
  42. LOGICAL, PUBLIC, PARAMETER :: lk_cfc = .FALSE. !: CFC flag
  43. INTEGER, PUBLIC, PARAMETER :: jp_cfc = 0 !: No CFC tracers
  44. INTEGER, PUBLIC, PARAMETER :: jp_cfc_2d = 0 !: No CFC additional 2d output arrays
  45. INTEGER, PUBLIC, PARAMETER :: jp_cfc_3d = 0 !: No CFC additional 3d output arrays
  46. INTEGER, PUBLIC, PARAMETER :: jp_cfc_trd = 0 !: number of sms trends for CFC
  47. LOGICAL, PUBLIC, PARAMETER :: lp_cfc11 = .false. !: use CFC11
  48. LOGICAL, PUBLIC, PARAMETER :: lp_cfc12 = .false. !: use CFC12
  49. LOGICAL, PUBLIC, PARAMETER :: lp_sf6 = .false. !: use SF6
  50. #endif
  51. ! Starting/ending CFC do-loop indices (N.B. no CFC : jp_cfc0 > jp_cfc1 the do-loop are never done)
  52. INTEGER, PUBLIC, PARAMETER :: jp_cfc0 = jp_lc + 1 !: First index of CFC tracers
  53. INTEGER, PUBLIC, PARAMETER :: jp_cfc1 = jp_lc + jp_cfc !: Last index of CFC tracers
  54. INTEGER, PUBLIC, PARAMETER :: jp_cfc0_2d = jp_lc_2d + 1 !: First index of CFC tracers
  55. INTEGER, PUBLIC, PARAMETER :: jp_cfc1_2d = jp_lc_2d + jp_cfc_2d !: Last index of CFC tracers
  56. INTEGER, PUBLIC, PARAMETER :: jp_cfc0_3d = jp_lc_3d + 1 !: First index of CFC tracers
  57. INTEGER, PUBLIC, PARAMETER :: jp_cfc1_3d = jp_lc_3d + jp_cfc_3d !: Last index of CFC tracers
  58. INTEGER, PUBLIC, PARAMETER :: jp_cfc0_trd = jp_lc_trd + 1 !: First index of CFC tracers
  59. INTEGER, PUBLIC, PARAMETER :: jp_cfc1_trd = jp_lc_trd + jp_cfc_trd !: Last index of CFC tracers
  60. !!======================================================================
  61. END MODULE par_cfc