step_oce.F90 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. MODULE step_oce
  2. !!======================================================================
  3. !! *** MODULE step_oce ***
  4. !! Ocean time-stepping : module used in both initialisation phase and time stepping
  5. !!======================================================================
  6. !! History : 3.3 ! 2010-08 (C. Ethe) Original code - reorganisation of the initial phase
  7. !!----------------------------------------------------------------------
  8. USE oce ! ocean dynamics and tracers variables
  9. USE dom_oce ! ocean space and time domain variables
  10. USE zdf_oce ! ocean vertical physics variables
  11. USE ldftra_oce ! ocean tracer - trends
  12. USE ldfdyn_oce ! ocean dynamics - trends
  13. USE divcur ! hor. divergence and curl (div & cur routines)
  14. USE in_out_manager ! I/O manager
  15. USE iom !
  16. USE lbclnk
  17. USE restart ! restart
  18. #if defined key_iomput
  19. USE xios
  20. #endif
  21. USE daymod ! calendar (day routine)
  22. USE sbcmod ! surface boundary condition (sbc routine)
  23. USE sbcrnf ! surface boundary condition: runoff variables
  24. USE sbccpl ! surface boundary condition: coupled formulation (call send at end of step)
  25. USE sbc_oce ! surface boundary condition: ocean
  26. USE sbctide ! Tide initialisation
  27. USE sbcapr ! surface boundary condition: ssh_ib required by bdydta
  28. USE traqsr ! solar radiation penetration (tra_qsr routine)
  29. USE trasbc ! surface boundary condition (tra_sbc routine)
  30. USE trabbc ! bottom boundary condition (tra_bbc routine)
  31. USE trabbl ! bottom boundary layer (tra_bbl routine)
  32. USE tradmp ! internal damping (tra_dmp routine)
  33. USE traadv ! advection scheme control (tra_adv_ctl routine)
  34. USE traldf ! lateral mixing (tra_ldf routine)
  35. ! zdfkpp ! KPP non-local tracer fluxes (tra_kpp routine)
  36. USE trazdf ! vertical mixing (tra_zdf routine)
  37. USE tranxt ! time-stepping (tra_nxt routine)
  38. USE tranpc ! non-penetrative convection (tra_npc routine)
  39. USE eosbn2 ! equation of state (eos_bn2 routine)
  40. USE dynadv ! advection (dyn_adv routine)
  41. USE dynbfr ! Bottom friction terms (dyn_bfr routine)
  42. USE dynvor ! vorticity term (dyn_vor routine)
  43. USE dynhpg ! hydrostatic pressure grad. (dyn_hpg routine)
  44. USE dynldf ! lateral momentum diffusion (dyn_ldf routine)
  45. USE dynzdf ! vertical diffusion (dyn_zdf routine)
  46. USE dynspg_oce ! surface pressure gradient (dyn_spg routine)
  47. USE dynspg ! surface pressure gradient (dyn_spg routine)
  48. USE dynnept ! simp. form of Neptune effect(dyn_nept_cor routine)
  49. USE dynnxt ! time-stepping (dyn_nxt routine)
  50. USE stopar ! Stochastic parametrization (sto_par routine)
  51. USE stopts
  52. USE bdy_par ! for lk_bdy
  53. USE bdy_oce ! for dmp logical
  54. USE bdydta ! open boundary condition data (bdy_dta routine)
  55. USE bdytra ! bdy cond. for tracers (bdy_tra routine)
  56. USE bdydyn3d ! bdy cond. for baroclinic vel. (bdy_dyn3d routine)
  57. USE sshwzv ! vertical velocity and ssh (ssh_nxt routine)
  58. ! (ssh_swp routine)
  59. ! (wzv routine)
  60. USE domvvl ! variable vertical scale factors (dom_vvl_sf_nxt routine)
  61. ! (dom_vvl_sf_swp routine)
  62. USE ldfslp ! iso-neutral slopes (ldf_slp routine)
  63. USE ldfeiv ! eddy induced velocity coef. (ldf_eiv routine)
  64. USE ldftra_smag ! Smagirinsky diffusion (ldftra_smag routine)
  65. USE ldfdyn_smag ! Smagorinsky viscosity (ldfdyn_smag routine)
  66. USE zdftmx ! tide-induced vertical mixing (zdf_tmx routine)
  67. USE zdfbfr ! bottom friction (zdf_bfr routine)
  68. USE zdftke ! TKE vertical mixing (zdf_tke routine)
  69. USE zdfgls ! GLS vertical mixing (zdf_gls routine)
  70. USE zdfkpp ! KPP vertical mixing (zdf_kpp routine)
  71. USE zdfddm ! double diffusion mixing (zdf_ddm routine)
  72. USE zdfevd ! enhanced vertical diffusion (zdf_evd routine)
  73. USE zdfric ! Richardson vertical mixing (zdf_ric routine)
  74. USE zdfmxl ! Mixed-layer depth (zdf_mxl routine)
  75. USE zpshde ! partial step: hor. derivative (zps_hde routine)
  76. USE diawri ! Standard run outputs (dia_wri routine)
  77. USE diaptr ! poleward transports (dia_ptr routine)
  78. USE diadct ! sections transports (dia_dct routine)
  79. USE diaar5 ! AR5 diagnosics (dia_ar5 routine)
  80. USE diahth ! thermocline depth (dia_hth routine)
  81. USE diafwb ! freshwater budget (dia_fwb routine)
  82. USE diahsb ! heat, salt and volume budgets (dia_hsb routine)
  83. USE diaharm
  84. USE diaprod ! ocean model: product diagnostics
  85. USE flo_oce ! floats variables
  86. USE floats ! floats computation (flo_stp routine)
  87. USE crsfld ! Standard output on coarse grid (crs_fld routine)
  88. USE asminc ! assimilation increments (tra_asm_inc routine)
  89. ! (dyn_asm_inc routine)
  90. USE asmbkg
  91. USE stpctl ! time stepping control (stp_ctl routine)
  92. USE prtctl ! Print control (prt_ctl routine)
  93. USE diaobs ! Observation operator
  94. USE timing ! Timing
  95. #if defined key_agrif
  96. USE agrif_opa_sponge ! Momemtum and tracers sponges
  97. USE agrif_opa_update ! Update (2-way nesting)
  98. #endif
  99. #if defined key_top
  100. USE trcstp ! passive tracer time-stepping (trc_stp routine)
  101. #endif
  102. !!----------------------------------------------------------------------
  103. !! NEMO/OPA 3.3 , NEMO Consortium (2010)
  104. !! $Id: step_oce.F90 5501 2015-06-29 10:08:15Z deazer $
  105. !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
  106. !!======================================================================
  107. END MODULE step_oce