oce_trc.F90 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. MODULE oce_trc
  2. !!======================================================================
  3. !! *** MODULE oce_trc ***
  4. !! TOP : variables shared between ocean and passive tracers
  5. !!======================================================================
  6. !! History : 1.0 ! 2004-03 (C. Ethe) original code
  7. !! 2.0 ! 2007-12 (C. Ethe, G. Madec) rewritting
  8. !!----------------------------------------------------------------------
  9. #if defined key_top
  10. !!----------------------------------------------------------------------
  11. !! 'key_top' TOP models
  12. !!----------------------------------------------------------------------
  13. !* Domain size *
  14. USE par_oce , ONLY : jpi => jpi !: first dimension of grid --> i
  15. USE par_oce , ONLY : jpj => jpj !: second dimension of grid --> j
  16. USE par_oce , ONLY : jpk => jpk !: number of levels
  17. USE par_oce , ONLY : jpim1 => jpim1 !: jpi - 1
  18. USE par_oce , ONLY : jpjm1 => jpjm1 !: jpj - 1
  19. USE par_oce , ONLY : jpkm1 => jpkm1 !: jpk - 1
  20. USE par_oce , ONLY : jpij => jpij !: jpi x jpj
  21. USE par_oce , ONLY : lk_esopa => lk_esopa !: flag to activate the all option
  22. USE par_oce , ONLY : jp_tem => jp_tem !: indice for temperature
  23. USE par_oce , ONLY : jp_sal => jp_sal !: indice for salinity
  24. !* IO manager *
  25. USE in_out_manager
  26. !* Memory Allocation *
  27. USE wrk_nemo
  28. !* Timing *
  29. USE timing
  30. !* MPP library
  31. USE lib_mpp
  32. !* Fortran utilities
  33. USE lib_fortran
  34. !* Lateral boundary conditions
  35. USE lbclnk
  36. !* physical constants *
  37. USE phycst
  38. !* 1D configuration
  39. USE c1d
  40. !* model domain *
  41. USE dom_oce
  42. USE domvvl, ONLY : un_td, vn_td !: thickness diffusion transport
  43. USE domvvl, ONLY : ln_vvl_ztilde !: ztilde vertical coordinate
  44. USE domvvl, ONLY : ln_vvl_layer !: level vertical coordinate
  45. !* ocean fields: here now and after fields *
  46. USE oce , ONLY : ua => ua !: i-horizontal velocity (m s-1)
  47. USE oce , ONLY : va => va !: j-horizontal velocity (m s-1)
  48. USE oce , ONLY : un => un !: i-horizontal velocity (m s-1)
  49. USE oce , ONLY : vn => vn !: j-horizontal velocity (m s-1)
  50. USE oce , ONLY : wn => wn !: vertical velocity (m s-1)
  51. USE oce , ONLY : tsn => tsn !: 4D array contaning ( tn, sn )
  52. USE oce , ONLY : tsb => tsb !: 4D array contaning ( tb, sb )
  53. USE oce , ONLY : tsa => tsa !: 4D array contaning ( ta, sa )
  54. USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3)
  55. USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
  56. #if defined key_offline
  57. USE oce , ONLY : rab_n => rab_n !: local thermal/haline expension ratio at T-points
  58. #endif
  59. USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s)
  60. USE oce , ONLY : rotn => rotn !: relative vorticity [s-1]
  61. USE oce , ONLY : hdivb => hdivb !: horizontal divergence (1/s)
  62. USE oce , ONLY : rotb => rotb !: relative vorticity [s-1]
  63. USE oce , ONLY : sshn => sshn !: sea surface height at t-point [m]
  64. USE oce , ONLY : sshb => sshb !: sea surface height at t-point [m]
  65. USE oce , ONLY : ssha => ssha !: sea surface height at t-point [m]
  66. USE oce , ONLY : l_traldf_rot => l_traldf_rot !: rotated laplacian operator for lateral diffusion
  67. !* surface fluxes *
  68. USE sbc_oce , ONLY : utau => utau !: i-surface stress component
  69. USE sbc_oce , ONLY : vtau => vtau !: j-surface stress component
  70. USE sbc_oce , ONLY : wndm => wndm !: 10m wind speed
  71. USE sbc_oce , ONLY : qsr => qsr !: penetrative solar radiation (w m-2)
  72. USE sbc_oce , ONLY : emp => emp !: freshwater budget: volume flux [Kg/m2/s]
  73. USE sbc_oce , ONLY : emp_b => emp_b !: freshwater budget: volume flux [Kg/m2/s]
  74. USE sbc_oce , ONLY : fmmflx => fmmflx !: freshwater budget: volume flux [Kg/m2/s]
  75. USE sbc_oce , ONLY : rnf => rnf !: river runoff [Kg/m2/s]
  76. USE sbc_oce , ONLY : ln_dm2dc => ln_dm2dc !: Diurnal Cycle
  77. USE sbc_oce , ONLY : ncpl_qsr_freq => ncpl_qsr_freq !: qsr coupling frequency per days from atmospher
  78. USE sbc_oce , ONLY : ln_rnf => ln_rnf !: runoffs / runoff mouths
  79. USE sbc_oce , ONLY : fr_i => fr_i !: ice fraction (between 0 to 1)
  80. USE sbc_oce , ONLY : nn_ice_embd => nn_ice_embd !: flag for levitating/embedding sea-ice in the ocean
  81. USE traqsr , ONLY : rn_abs => rn_abs !: fraction absorbed in the very near surface
  82. USE traqsr , ONLY : rn_si0 => rn_si0 !: very near surface depth of extinction
  83. USE traqsr , ONLY : ln_qsr_bio => ln_qsr_bio !: flag to use or not the biological fluxes for light
  84. USE sbcrnf , ONLY : rnfmsk => rnfmsk !: mixed adv scheme in runoffs vicinity (hori.)
  85. USE sbcrnf , ONLY : rnfmsk_z => rnfmsk_z !: mixed adv scheme in runoffs vicinity (vert.)
  86. USE sbcrnf , ONLY : h_rnf => h_rnf !: river runoff [Kg/m2/s]
  87. USE sbcrnf , ONLY : nk_rnf => nk_rnf !: depth of runoff in model level
  88. USE trc_oce
  89. !* lateral diffusivity (tracers) *
  90. USE ldftra_oce , ONLY : rldf => rldf !: multiplicative coef. for lateral diffusivity
  91. USE ldftra_oce , ONLY : rn_aht_0 => rn_aht_0 !: horizontal eddy diffusivity for tracers (m2/s)
  92. USE ldftra_oce , ONLY : aht0 => aht0 !: horizontal eddy diffusivity for tracers (m2/s)
  93. USE ldftra_oce , ONLY : ahtb0 => ahtb0 !: background eddy diffusivity for isopycnal diff. (m2/s)
  94. USE ldftra_oce , ONLY : ahtu => ahtu !: lateral diffusivity coef. at u-points
  95. USE ldftra_oce , ONLY : ahtv => ahtv !: lateral diffusivity coef. at v-points
  96. USE ldftra_oce , ONLY : ahtw => ahtw !: lateral diffusivity coef. at w-points
  97. USE ldftra_oce , ONLY : ahtt => ahtt !: lateral diffusivity coef. at t-points
  98. USE ldftra_oce , ONLY : aeiv0 => aeiv0 !: eddy induced velocity coefficient (m2/s)
  99. USE ldftra_oce , ONLY : aeiu => aeiu !: eddy induced velocity coef. at u-points (m2/s)
  100. USE ldftra_oce , ONLY : aeiv => aeiv !: eddy induced velocity coef. at v-points (m2/s)
  101. USE ldftra_oce , ONLY : aeiw => aeiw !: eddy induced velocity coef. at w-points (m2/s)
  102. USE ldftra_oce , ONLY : lk_traldf_eiv => lk_traldf_eiv !: eddy induced velocity flag
  103. USE ldftra_oce , ONLY : r_fact_lap => r_fact_lap !: enhanced zonal diffusivity coefficient
  104. !* vertical diffusion *
  105. USE zdf_oce , ONLY : avt => avt !: vert. diffusivity coef. at w-point for temp
  106. # if defined key_zdfddm
  107. USE zdfddm , ONLY : avs => avs !: salinity vertical diffusivity coeff. at w-point
  108. # endif
  109. !* mixing & mixed layer depth *
  110. USE zdfmxl , ONLY : nmln => nmln !: number of level in the mixed layer
  111. USE zdfmxl , ONLY : hmld => hmld !: mixing layer depth (turbocline)
  112. USE zdfmxl , ONLY : hmlp => hmlp !: mixed layer depth (rho=rho0+zdcrit) (m)
  113. USE zdfmxl , ONLY : hmlpt => hmlpt !: mixed layer depth at t-points (m)
  114. !* direction of lateral diffusion *
  115. USE ldfslp , ONLY : lk_ldfslp => lk_ldfslp !: slopes flag
  116. # if defined key_ldfslp
  117. USE ldfslp , ONLY : uslp => uslp !: i-direction slope at u-, w-points
  118. USE ldfslp , ONLY : vslp => vslp !: j-direction slope at v-, w-points
  119. USE ldfslp , ONLY : wslpi => wslpi !: i-direction slope at u-, w-points
  120. USE ldfslp , ONLY : wslpj => wslpj !: j-direction slope at v-, w-points
  121. # endif
  122. USE diaar5 , ONLY : lk_diaar5 => lk_diaar5
  123. #else
  124. !!----------------------------------------------------------------------
  125. !! Empty module : No passive tracer
  126. !!----------------------------------------------------------------------
  127. #endif
  128. !!----------------------------------------------------------------------
  129. !! NEMO/TOP 3.3 , NEMO Consortium (2010)
  130. !! $Id: oce_trc.F90 4990 2014-12-15 16:42:49Z timgraham $
  131. !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
  132. !!======================================================================
  133. END MODULE oce_trc