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 | |
---|
22 | USE daymod ! calendar (day routine) |
---|
23 | |
---|
24 | USE sbcmod ! surface boundary condition (sbc routine) |
---|
25 | USE sbcrnf ! surface boundary condition: runoff variables |
---|
26 | USE sbccpl ! surface boundary condition: coupled formulation (call send at end of step) |
---|
27 | USE sbcflx ! surface boundary condition: Fluxes |
---|
28 | USE sbc_oce ! surface boundary condition: ocean |
---|
29 | USE sbctide ! Tide initialisation |
---|
30 | USE sbcapr ! surface boundary condition: ssh_ib required by bdydta |
---|
31 | USE sbcwave ! Wave intialisation |
---|
32 | |
---|
33 | USE traqsr ! solar radiation penetration (tra_qsr routine) |
---|
34 | USE tradwl ! POLCOMS style solar radiation (tra_dwl routine) |
---|
35 | USE trasbc ! surface boundary condition (tra_sbc routine) |
---|
36 | USE trabbc ! bottom boundary condition (tra_bbc routine) |
---|
37 | USE trabbl ! bottom boundary layer (tra_bbl routine) |
---|
38 | USE tradmp ! internal damping (tra_dmp routine) |
---|
39 | USE traadv ! advection scheme control (tra_adv_ctl routine) |
---|
40 | USE traldf ! lateral mixing (tra_ldf routine) |
---|
41 | ! zdfkpp ! KPP non-local tracer fluxes (tra_kpp routine) |
---|
42 | USE trazdf ! vertical mixing (tra_zdf routine) |
---|
43 | USE tranxt ! time-stepping (tra_nxt routine) |
---|
44 | USE tranpc ! non-penetrative convection (tra_npc routine) |
---|
45 | |
---|
46 | USE eosbn2 ! equation of state (eos_bn2 routine) |
---|
47 | |
---|
48 | USE dynadv ! advection (dyn_adv routine) |
---|
49 | USE dynbfr ! Bottom friction terms (dyn_bfr routine) |
---|
50 | USE dynvor ! vorticity term (dyn_vor routine) |
---|
51 | USE dynhpg ! hydrostatic pressure grad. (dyn_hpg routine) |
---|
52 | USE dynldf ! lateral momentum diffusion (dyn_ldf routine) |
---|
53 | USE dynzdf ! vertical diffusion (dyn_zdf routine) |
---|
54 | USE dynspg_oce ! surface pressure gradient (dyn_spg routine) |
---|
55 | USE dynspg ! surface pressure gradient (dyn_spg routine) |
---|
56 | USE dynnept ! simp. form of Neptune effect(dyn_nept_cor routine) |
---|
57 | |
---|
58 | USE dynnxt ! time-stepping (dyn_nxt routine) |
---|
59 | |
---|
60 | USE stopar ! Stochastic parametrization (sto_par routine) |
---|
61 | USE stopts |
---|
62 | |
---|
63 | USE bdy_par ! for lk_bdy |
---|
64 | USE bdy_oce ! for dmp logical |
---|
65 | USE bdydta ! open boundary condition data (bdy_dta routine) |
---|
66 | USE bdytra ! bdy cond. for tracers (bdy_tra routine) |
---|
67 | USE bdydyn3d ! bdy cond. for baroclinic vel. (bdy_dyn3d routine) |
---|
68 | |
---|
69 | USE sshwzv ! vertical velocity and ssh (ssh_nxt routine) |
---|
70 | ! (ssh_swp routine) |
---|
71 | ! (wzv routine) |
---|
72 | USE domvvl ! variable vertical scale factors (dom_vvl_sf_nxt routine) |
---|
73 | ! (dom_vvl_sf_swp routine) |
---|
74 | |
---|
75 | USE ldfslp ! iso-neutral slopes (ldf_slp routine) |
---|
76 | USE ldfeiv ! eddy induced velocity coef. (ldf_eiv routine) |
---|
77 | USE ldftra_smag ! Smagirinsky diffusion (ldftra_smag routine) |
---|
78 | USE ldfdyn_smag ! Smagorinsky viscosity (ldfdyn_smag routine) |
---|
79 | |
---|
80 | USE zdftmx ! tide-induced vertical mixing (zdf_tmx routine) |
---|
81 | USE zdfbfr ! bottom friction (zdf_bfr routine) |
---|
82 | USE zdftke ! TKE vertical mixing (zdf_tke routine) |
---|
83 | USE zdfgls ! GLS vertical mixing (zdf_gls routine) |
---|
84 | USE zdfkpp ! KPP vertical mixing (zdf_kpp routine) |
---|
85 | USE zdfddm ! double diffusion mixing (zdf_ddm routine) |
---|
86 | USE zdfevd ! enhanced vertical diffusion (zdf_evd routine) |
---|
87 | USE zdfric ! Richardson vertical mixing (zdf_ric routine) |
---|
88 | USE zdfmxl ! Mixed-layer depth (zdf_mxl routine) |
---|
89 | USE zdfqiao !Qiao module wave induced mixing (zdf_qiao routine) |
---|
90 | |
---|
91 | USE zpshde ! partial step: hor. derivative (zps_hde routine) |
---|
92 | |
---|
93 | USE diawri ! Standard run outputs (dia_wri routine) |
---|
94 | USE diaptr ! poleward transports (dia_ptr routine) |
---|
95 | USE diadct ! sections transports (dia_dct routine) |
---|
96 | USE diaar5 ! AR5 diagnosics (dia_ar5 routine) |
---|
97 | USE diahth ! thermocline depth (dia_hth routine) |
---|
98 | USE diafwb ! freshwater budget (dia_fwb routine) |
---|
99 | USE diahsb ! heat, salt and volume budgets (dia_hsb routine) |
---|
100 | USE diaharm |
---|
101 | USE flo_oce ! floats variables |
---|
102 | USE floats ! floats computation (flo_stp routine) |
---|
103 | |
---|
104 | USE crsfld ! Standard output on coarse grid (crs_fld routine) |
---|
105 | |
---|
106 | USE asminc ! assimilation increments (tra_asm_inc routine) |
---|
107 | ! (dyn_asm_inc routine) |
---|
108 | USE asmbkg |
---|
109 | USE stpctl ! time stepping control (stp_ctl routine) |
---|
110 | USE prtctl ! Print control (prt_ctl routine) |
---|
111 | |
---|
112 | USE harmonic_analysis ! harmonic analysis of tides (harm_ana routine) |
---|
113 | USE bdytides ! harmonic analysis of tides (harm_ana routine) |
---|
114 | USE diaobs ! Observation operator |
---|
115 | |
---|
116 | USE diurnal_bulk ! diurnal SST bulk routines (diurnal_sst_takaya routine) |
---|
117 | USE cool_skin ! diurnal cool skin correction (diurnal_sst_coolskin routine) |
---|
118 | |
---|
119 | USE timing ! Timing |
---|
120 | |
---|
121 | #if defined key_agrif |
---|
122 | USE agrif_opa_sponge ! Momemtum and tracers sponges |
---|
123 | USE agrif_opa_update ! Update (2-way nesting) |
---|
124 | #endif |
---|
125 | #if defined key_top |
---|
126 | USE trcstp ! passive tracer time-stepping (trc_stp routine) |
---|
127 | #endif |
---|
128 | !!---------------------------------------------------------------------- |
---|
129 | !! NEMO/OPA 3.3 , NEMO Consortium (2010) |
---|
130 | !! $Id$ |
---|
131 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
132 | !!====================================================================== |
---|
133 | END MODULE step_oce |
---|