par_age.F90 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. MODULE par_age
  2. !!======================================================================
  3. !! *** par_age ***
  4. !! TOP : set the AGE 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_age.F90 4578 2017-09-25 09:34:12Z ufla $
  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_cfc , ONLY : jp_cfc !: number of tracers in CFC
  17. USE par_cfc , ONLY : jp_cfc_2d !: number of tracers in CFC
  18. USE par_cfc , ONLY : jp_cfc_3d !: number of tracers in CFC
  19. USE par_cfc , ONLY : jp_cfc_trd !: number of tracers in CFC
  20. USE par_c14b , ONLY : jp_c14b !: number of tracers in C14
  21. USE par_c14b , ONLY : jp_c14b_2d !: number of tracers in C14
  22. USE par_c14b , ONLY : jp_c14b_3d !: number of tracers in C14
  23. USE par_c14b , ONLY : jp_c14b_trd !: number of tracers in C14
  24. USE par_my_trc , ONLY : jp_my_trc !: number of tracers in MY_TRC
  25. USE par_my_trc , ONLY : jp_my_trc_2d !: number of 2D diag in MY_TRC
  26. USE par_my_trc , ONLY : jp_my_trc_3d !: number of 3D diag in MY_TRC
  27. USE par_my_trc , ONLY : jp_my_trc_trd !: number of biological diag in MY_TRC
  28. IMPLICIT NONE
  29. INTEGER, PARAMETER :: jp_lm = jp_pisces + jp_my_trc + jp_cfc + jp_c14b !:
  30. INTEGER, PARAMETER :: jp_lm_2d = jp_pisces_2d + jp_my_trc_2d + jp_cfc_2d + jp_c14b_2d !:
  31. INTEGER, PARAMETER :: jp_lm_3d = jp_pisces_3d + jp_my_trc_3d + jp_cfc_3d + jp_c14b_3d !:
  32. INTEGER, PARAMETER :: jp_lm_trd = jp_pisces_trd + jp_my_trc_trd + jp_cfc_trd + jp_c14b_trd !:
  33. #if defined key_age
  34. !!---------------------------------------------------------------------
  35. !! 'key_age' user defined tracers (AGE)
  36. !!---------------------------------------------------------------------
  37. LOGICAL, PUBLIC, PARAMETER :: lk_age = .TRUE. !: PTS flag
  38. INTEGER, PUBLIC, PARAMETER :: jp_age = 1 !: number of PTS tracers
  39. INTEGER, PUBLIC, PARAMETER :: jp_age_2d = 0 !: additional 2d output arrays ('key_trc_diaadd')
  40. INTEGER, PUBLIC, PARAMETER :: jp_age_3d = 0 !: additional 3d output arrays ('key_trc_diaadd')
  41. INTEGER, PUBLIC, PARAMETER :: jp_age_trd = 0 !: number of sms trends for AGE
  42. ! assign an index in trc arrays for each PTS prognostic variables
  43. INTEGER, PUBLIC, PARAMETER :: jpage1 = jp_lm + 1 !: 1st AGE tracer
  44. #else
  45. !!---------------------------------------------------------------------
  46. !! Default No user defined tracers (AGE)
  47. !!---------------------------------------------------------------------
  48. LOGICAL, PUBLIC, PARAMETER :: lk_age = .FALSE. !: AGE flag
  49. INTEGER, PUBLIC, PARAMETER :: jp_age = 0 !: No AGE tracers
  50. INTEGER, PUBLIC, PARAMETER :: jp_age_2d = 0 !: No AGE additional 2d output arrays
  51. INTEGER, PUBLIC, PARAMETER :: jp_age_3d = 0 !: No AGE additional 3d output arrays
  52. INTEGER, PUBLIC, PARAMETER :: jp_age_trd = 0 !: number of sms trends for AGE
  53. #endif
  54. ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
  55. INTEGER, PUBLIC, PARAMETER :: jp_age0 = jp_lm + 1 !: First index of AGE passive tracers
  56. INTEGER, PUBLIC, PARAMETER :: jp_age1 = jp_lm + jp_age !: Last index of AGE passive tracers
  57. INTEGER, PUBLIC, PARAMETER :: jp_age0_2d = jp_lm_2d + 1 !: First index of AGE passive tracers
  58. INTEGER, PUBLIC, PARAMETER :: jp_age1_2d = jp_lm_2d + jp_age_2d !: Last index of AGE passive tracers
  59. INTEGER, PUBLIC, PARAMETER :: jp_age0_3d = jp_lm_3d + 1 !: First index of AGE passive tracers
  60. INTEGER, PUBLIC, PARAMETER :: jp_age1_3d = jp_lm_3d + jp_age_3d !: Last index of AGE passive tracers
  61. INTEGER, PUBLIC, PARAMETER :: jp_age0_trd = jp_lm_trd + 1 !: First index of AGE passive tracers
  62. INTEGER, PUBLIC, PARAMETER :: jp_age1_trd = jp_lm_trd + jp_age_trd !: Last index of AGE passive tracers
  63. !!======================================================================
  64. END MODULE par_age