123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- MODULE step_oce
- !!======================================================================
- !! *** MODULE step_oce ***
- !! Ocean time-stepping : module used in both initialisation phase and time stepping
- !!======================================================================
- !! History : 3.3 ! 2010-08 (C. Ethe) Original code - reorganisation of the initial phase
- !!----------------------------------------------------------------------
- USE oce ! ocean dynamics and tracers variables
- USE dom_oce ! ocean space and time domain variables
- USE zdf_oce ! ocean vertical physics variables
- USE ldftra_oce ! ocean tracer - trends
- USE ldfdyn_oce ! ocean dynamics - trends
- USE divcur ! hor. divergence and curl (div & cur routines)
- USE in_out_manager ! I/O manager
- USE iom !
- USE lbclnk
- USE restart ! restart
- #if defined key_iomput
- USE xios
- #endif
- USE daymod ! calendar (day routine)
- USE sbcmod ! surface boundary condition (sbc routine)
- USE sbcrnf ! surface boundary condition: runoff variables
- USE sbccpl ! surface boundary condition: coupled formulation (call send at end of step)
- USE sbc_oce ! surface boundary condition: ocean
- USE sbctide ! Tide initialisation
- USE sbcapr ! surface boundary condition: ssh_ib required by bdydta
- USE traqsr ! solar radiation penetration (tra_qsr routine)
- USE trasbc ! surface boundary condition (tra_sbc routine)
- USE trabbc ! bottom boundary condition (tra_bbc routine)
- USE trabbl ! bottom boundary layer (tra_bbl routine)
- USE tradmp ! internal damping (tra_dmp routine)
- USE traadv ! advection scheme control (tra_adv_ctl routine)
- USE traldf ! lateral mixing (tra_ldf routine)
- ! zdfkpp ! KPP non-local tracer fluxes (tra_kpp routine)
- USE trazdf ! vertical mixing (tra_zdf routine)
- USE tranxt ! time-stepping (tra_nxt routine)
- USE tranpc ! non-penetrative convection (tra_npc routine)
- USE eosbn2 ! equation of state (eos_bn2 routine)
- USE dynadv ! advection (dyn_adv routine)
- USE dynbfr ! Bottom friction terms (dyn_bfr routine)
- USE dynvor ! vorticity term (dyn_vor routine)
- USE dynhpg ! hydrostatic pressure grad. (dyn_hpg routine)
- USE dynldf ! lateral momentum diffusion (dyn_ldf routine)
- USE dynzdf ! vertical diffusion (dyn_zdf routine)
- USE dynspg_oce ! surface pressure gradient (dyn_spg routine)
- USE dynspg ! surface pressure gradient (dyn_spg routine)
- USE dynnept ! simp. form of Neptune effect(dyn_nept_cor routine)
- USE dynnxt ! time-stepping (dyn_nxt routine)
- USE stopar ! Stochastic parametrization (sto_par routine)
- USE stopts
- USE bdy_par ! for lk_bdy
- USE bdy_oce ! for dmp logical
- USE bdydta ! open boundary condition data (bdy_dta routine)
- USE bdytra ! bdy cond. for tracers (bdy_tra routine)
- USE bdydyn3d ! bdy cond. for baroclinic vel. (bdy_dyn3d routine)
- USE sshwzv ! vertical velocity and ssh (ssh_nxt routine)
- ! (ssh_swp routine)
- ! (wzv routine)
- USE domvvl ! variable vertical scale factors (dom_vvl_sf_nxt routine)
- ! (dom_vvl_sf_swp routine)
- USE ldfslp ! iso-neutral slopes (ldf_slp routine)
- USE ldfeiv ! eddy induced velocity coef. (ldf_eiv routine)
- USE ldftra_smag ! Smagirinsky diffusion (ldftra_smag routine)
- USE ldfdyn_smag ! Smagorinsky viscosity (ldfdyn_smag routine)
- USE zdftmx ! tide-induced vertical mixing (zdf_tmx routine)
- USE zdfbfr ! bottom friction (zdf_bfr routine)
- USE zdftke ! TKE vertical mixing (zdf_tke routine)
- USE zdfgls ! GLS vertical mixing (zdf_gls routine)
- USE zdfkpp ! KPP vertical mixing (zdf_kpp routine)
- USE zdfddm ! double diffusion mixing (zdf_ddm routine)
- USE zdfevd ! enhanced vertical diffusion (zdf_evd routine)
- USE zdfric ! Richardson vertical mixing (zdf_ric routine)
- USE zdfmxl ! Mixed-layer depth (zdf_mxl routine)
- USE zpshde ! partial step: hor. derivative (zps_hde routine)
- USE diawri ! Standard run outputs (dia_wri routine)
- USE diaptr ! poleward transports (dia_ptr routine)
- USE diadct ! sections transports (dia_dct routine)
- USE diaar5 ! AR5 diagnosics (dia_ar5 routine)
- USE diahth ! thermocline depth (dia_hth routine)
- USE diafwb ! freshwater budget (dia_fwb routine)
- USE diahsb ! heat, salt and volume budgets (dia_hsb routine)
- USE diaharm
- USE diaprod ! ocean model: product diagnostics
- USE flo_oce ! floats variables
- USE floats ! floats computation (flo_stp routine)
- USE crsfld ! Standard output on coarse grid (crs_fld routine)
- USE asminc ! assimilation increments (tra_asm_inc routine)
- ! (dyn_asm_inc routine)
- USE asmbkg
- USE stpctl ! time stepping control (stp_ctl routine)
- USE prtctl ! Print control (prt_ctl routine)
- USE diaobs ! Observation operator
- USE timing ! Timing
- #if defined key_agrif
- USE agrif_opa_sponge ! Momemtum and tracers sponges
- USE agrif_opa_update ! Update (2-way nesting)
- #endif
- #if defined key_top
- USE trcstp ! passive tracer time-stepping (trc_stp routine)
- #endif
- !!----------------------------------------------------------------------
- !! NEMO/OPA 3.3 , NEMO Consortium (2010)
- !! $Id: step_oce.F90 5501 2015-06-29 10:08:15Z deazer $
- !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
- !!======================================================================
- END MODULE step_oce
|