source: branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC/step_oce.F90 @ 8561

Last change on this file since 8561 was 8561, checked in by jgraham, 3 years ago

Updates for operational diagnostics:
25h mean diagnostics - bottom temperature (and insitu temp)
Operational foam diagnostics - diaopfoam and DIU routines added.

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