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 | !! 3.7 ! 2014-01 (G. Madec) LDF simplication |
---|
8 | !!---------------------------------------------------------------------- |
---|
9 | USE oce ! ocean dynamics and tracers variables |
---|
10 | USE dom_oce ! ocean space and time domain variables |
---|
11 | USE zdf_oce ! ocean vertical physics variables |
---|
12 | USE zdfdrg , ONLY : ln_drgimp ! implicit top/bottom friction |
---|
13 | |
---|
14 | USE daymod ! calendar (day routine) |
---|
15 | |
---|
16 | USE sbc_oce ! surface boundary condition: ocean |
---|
17 | USE sbcmod ! surface boundary condition (sbc routine) |
---|
18 | USE sbcrnf ! surface boundary condition: runoff variables |
---|
19 | USE sbccpl ! surface boundary condition: coupled formulation (call send at end of step) |
---|
20 | USE sbcapr ! surface boundary condition: atmospheric pressure |
---|
21 | USE sbctide ! Tide initialisation |
---|
22 | USE sbcwave ! Wave intialisation |
---|
23 | |
---|
24 | USE traqsr ! solar radiation penetration (tra_qsr routine) |
---|
25 | USE trasbc ! surface boundary condition (tra_sbc routine) |
---|
26 | USE trabbc ! bottom boundary condition (tra_bbc routine) |
---|
27 | USE trabbl ! bottom boundary layer (tra_bbl routine) |
---|
28 | USE tradmp ! internal damping (tra_dmp routine) |
---|
29 | USE traadv ! advection scheme control (tra_adv_ctl routine) |
---|
30 | USE traldf ! lateral mixing (tra_ldf routine) |
---|
31 | USE trazdf ! vertical mixing (tra_zdf routine) |
---|
32 | USE tranxt ! time-stepping (tra_nxt routine) |
---|
33 | USE tranpc ! non-penetrative convection (tra_npc routine) |
---|
34 | |
---|
35 | USE eosbn2 ! equation of state (eos_bn2 routine) |
---|
36 | |
---|
37 | USE divhor ! horizontal divergence (div_hor routine) |
---|
38 | USE dynadv ! advection (dyn_adv routine) |
---|
39 | USE dynvor ! vorticity term (dyn_vor routine) |
---|
40 | USE dynhpg ! hydrostatic pressure grad. (dyn_hpg routine) |
---|
41 | USE dynldf ! lateral momentum diffusion (dyn_ldf routine) |
---|
42 | USE dynzdf ! vertical diffusion (dyn_zdf routine) |
---|
43 | USE dynspg ! surface pressure gradient (dyn_spg routine) |
---|
44 | |
---|
45 | USE dynnxt ! time-stepping (dyn_nxt routine) |
---|
46 | |
---|
47 | USE stopar ! Stochastic parametrization (sto_par routine) |
---|
48 | USE stopts |
---|
49 | |
---|
50 | USE bdy_oce , ONLY : ln_bdy |
---|
51 | USE bdydta ! open boundary condition data (bdy_dta routine) |
---|
52 | USE bdytra ! bdy cond. for tracers (bdy_tra routine) |
---|
53 | USE bdydyn3d ! bdy cond. for baroclinic vel. (bdy_dyn3d routine) |
---|
54 | |
---|
55 | USE sshwzv ! vertical velocity and ssh (ssh_nxt routine) |
---|
56 | ! (ssh_swp routine) |
---|
57 | ! (wzv routine) |
---|
58 | USE domvvl ! variable vertical scale factors (dom_vvl_sf_nxt routine) |
---|
59 | ! (dom_vvl_sf_swp routine) |
---|
60 | |
---|
61 | USE ldfslp ! iso-neutral slopes (ldf_slp routine) |
---|
62 | USE ldfdyn ! lateral eddy viscosity coef. (ldf_dyn routine) |
---|
63 | USE ldftra ! lateral eddy diffusive coef. (ldf_tra routine) |
---|
64 | |
---|
65 | USE zdfphy ! vertical physics manager (zdf_phy_init routine) |
---|
66 | USE zdfosm , ONLY : osm_rst, dyn_osm, tra_osm ! OSMOSIS routines used in step.F90 |
---|
67 | |
---|
68 | USE step_diu ! Time stepping for diurnal sst |
---|
69 | USE diurnal_bulk ! diurnal SST bulk routines (diurnal_sst_takaya routine) |
---|
70 | USE cool_skin ! diurnal cool skin correction (diurnal_sst_coolskin routine) |
---|
71 | USE sbc_oce ! surface fluxes |
---|
72 | |
---|
73 | USE zpshde ! partial step: hor. derivative (zps_hde routine) |
---|
74 | |
---|
75 | USE diawri ! Standard run outputs (dia_wri routine) |
---|
76 | USE diaptr ! poleward transports (dia_ptr routine) |
---|
77 | USE diadct ! sections transports (dia_dct routine) |
---|
78 | USE diaar5 ! AR5 diagnosics (dia_ar5 routine) |
---|
79 | USE diahth ! thermocline depth (dia_hth routine) |
---|
80 | USE diahsb ! heat, salt and volume budgets (dia_hsb routine) |
---|
81 | USE diaharm |
---|
82 | USE diacfl |
---|
83 | USE diaobs ! Observation operator |
---|
84 | USE flo_oce ! floats variables |
---|
85 | USE floats ! floats computation (flo_stp routine) |
---|
86 | |
---|
87 | USE crsfld ! Standard output on coarse grid (crs_fld routine) |
---|
88 | |
---|
89 | USE asminc ! assimilation increments (tra_asm_inc routine) |
---|
90 | ! (dyn_asm_inc routine) |
---|
91 | USE asmbkg |
---|
92 | USE stpctl ! time stepping control (stp_ctl routine) |
---|
93 | USE restart ! ocean restart (rst_wri routine) |
---|
94 | USE prtctl ! Print control (prt_ctl routine) |
---|
95 | |
---|
96 | USE in_out_manager ! I/O manager |
---|
97 | USE iom ! |
---|
98 | USE lbclnk |
---|
99 | USE timing ! Timing |
---|
100 | |
---|
101 | #if defined key_iomput |
---|
102 | USE xios ! I/O server |
---|
103 | #endif |
---|
104 | #if defined key_agrif |
---|
105 | USE agrif_opa_sponge ! Momemtum and tracers sponges |
---|
106 | USE agrif_opa_update ! Update (2-way nesting) |
---|
107 | #if defined key_top |
---|
108 | USE agrif_top_update ! passive tracers update (2-way nesting) |
---|
109 | #endif |
---|
110 | #endif |
---|
111 | #if defined key_top |
---|
112 | USE trcstp ! passive tracer time-stepping (trc_stp routine) |
---|
113 | #endif |
---|
114 | !!---------------------------------------------------------------------- |
---|
115 | !! NEMO/OPA 3.7 , NEMO Consortium (2014) |
---|
116 | !! $Id$ |
---|
117 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
118 | !!====================================================================== |
---|
119 | END MODULE step_oce |
---|