par_my_trc.F90 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. MODULE par_my_trc
  2. !!======================================================================
  3. !! *** par_my_trc ***
  4. !! TOP : set the MY_TRC 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$
  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. IMPLICIT NONE
  17. INTEGER, PARAMETER :: jp_lm = jp_pisces !:
  18. INTEGER, PARAMETER :: jp_lm_2d = jp_pisces_2d !:
  19. INTEGER, PARAMETER :: jp_lm_3d = jp_pisces_3d !:
  20. INTEGER, PARAMETER :: jp_lm_trd = jp_pisces_trd !:
  21. #if defined key_my_trc
  22. !!---------------------------------------------------------------------
  23. !! 'key_my_trc' user defined tracers (MY_TRC)
  24. !!---------------------------------------------------------------------
  25. LOGICAL, PUBLIC, PARAMETER :: lk_my_trc = .TRUE. !: PTS flag
  26. INTEGER, PUBLIC, PARAMETER :: jp_my_trc = 1 !: number of PTS tracers
  27. INTEGER, PUBLIC, PARAMETER :: jp_my_trc_2d = 0 !: additional 2d output arrays ('key_trc_diaadd')
  28. INTEGER, PUBLIC, PARAMETER :: jp_my_trc_3d = 0 !: additional 3d output arrays ('key_trc_diaadd')
  29. INTEGER, PUBLIC, PARAMETER :: jp_my_trc_trd = 0 !: number of sms trends for MY_TRC
  30. ! assign an index in trc arrays for each PTS prognostic variables
  31. INTEGER, PUBLIC, PARAMETER :: jpmyt1 = jp_lm + 1 !: 1st MY_TRC tracer
  32. #else
  33. !!---------------------------------------------------------------------
  34. !! Default No user defined tracers (MY_TRC)
  35. !!---------------------------------------------------------------------
  36. LOGICAL, PUBLIC, PARAMETER :: lk_my_trc = .FALSE. !: MY_TRC flag
  37. INTEGER, PUBLIC, PARAMETER :: jp_my_trc = 0 !: No MY_TRC tracers
  38. INTEGER, PUBLIC, PARAMETER :: jp_my_trc_2d = 0 !: No MY_TRC additional 2d output arrays
  39. INTEGER, PUBLIC, PARAMETER :: jp_my_trc_3d = 0 !: No MY_TRC additional 3d output arrays
  40. INTEGER, PUBLIC, PARAMETER :: jp_my_trc_trd = 0 !: number of sms trends for MY_TRC
  41. #endif
  42. ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
  43. INTEGER, PUBLIC, PARAMETER :: jp_myt0 = jp_lm + 1 !: First index of MY_TRC passive tracers
  44. INTEGER, PUBLIC, PARAMETER :: jp_myt1 = jp_lm + jp_my_trc !: Last index of MY_TRC passive tracers
  45. INTEGER, PUBLIC, PARAMETER :: jp_myt0_2d = jp_lm_2d + 1 !: First index of MY_TRC passive tracers
  46. INTEGER, PUBLIC, PARAMETER :: jp_myt1_2d = jp_lm_2d + jp_my_trc_2d !: Last index of MY_TRC passive tracers
  47. INTEGER, PUBLIC, PARAMETER :: jp_myt0_3d = jp_lm_3d + 1 !: First index of MY_TRC passive tracers
  48. INTEGER, PUBLIC, PARAMETER :: jp_myt1_3d = jp_lm_3d + jp_my_trc_3d !: Last index of MY_TRC passive tracers
  49. INTEGER, PUBLIC, PARAMETER :: jp_myt0_trd = jp_lm_trd + 1 !: First index of MY_TRC passive tracers
  50. INTEGER, PUBLIC, PARAMETER :: jp_myt1_trd = jp_lm_trd + jp_my_trc_trd !: Last index of MY_TRC passive tracers
  51. !!======================================================================
  52. END MODULE par_my_trc