New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
step_oce.F90 in branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC – NEMO

source: branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/step_oce.F90 @ 7953

Last change on this file since 7953 was 7953, checked in by gm, 7 years ago

#1880 (HPC-09): add zdfphy (the ZDF manager) + remove all key_...

  • Property svn:keywords set to Id
File size: 6.6 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   !!             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
13   USE daymod           ! calendar                         (day     routine)
14
15   USE sbc_oce          ! surface boundary condition: ocean
16   USE sbcmod           ! surface boundary condition       (sbc     routine)
17   USE sbcrnf           ! surface boundary condition: runoff variables
18   USE sbccpl           ! surface boundary condition: coupled formulation (call send at end of step)
19   USE sbcapr           ! surface boundary condition: atmospheric pressure
20   USE sbctide          ! Tide initialisation
21   USE sbcwave          ! Wave intialisation
22
23   USE traqsr           ! solar radiation penetration      (tra_qsr routine)
24   USE trasbc           ! surface boundary condition       (tra_sbc routine)
25   USE trabbc           ! bottom boundary condition        (tra_bbc routine)
26   USE trabbl           ! bottom boundary layer            (tra_bbl routine)
27   USE tradmp           ! internal damping                 (tra_dmp routine)
28   USE traadv           ! advection scheme control     (tra_adv_ctl routine)
29   USE traldf           ! lateral mixing                   (tra_ldf routine)
30   USE trazdf           ! vertical mixing                  (tra_zdf routine)
31   USE tranxt           ! time-stepping                    (tra_nxt routine)
32   USE tranpc           ! non-penetrative convection       (tra_npc routine)
33
34   USE eosbn2           ! equation of state                (eos_bn2 routine)
35
36   USE divhor           ! horizontal divergence            (div_hor routine)
37   USE dynadv           ! advection                        (dyn_adv routine)
38   USE dynbfr           ! Bottom friction terms            (dyn_bfr 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!!gm to be suppressed
67   USE zdftmx           ! tide-induced vertical mixing     (zdf_tmx routine)
68   USE zdfbfr           ! bottom friction                  (zdf_bfr routine)
69   USE zdftke           ! TKE vertical mixing              (zdf_tke routine)
70   USE zdfgls           ! GLS vertical mixing              (zdf_gls 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 zdfqiao          !Qiao module wave induced mixing   (zdf_qiao routine)
76!!gm end
77
78   USE step_diu        ! Time stepping for diurnal sst
79   USE diurnal_bulk    ! diurnal SST bulk routines  (diurnal_sst_takaya routine)
80   USE cool_skin       ! diurnal cool skin correction (diurnal_sst_coolskin routine)   
81   USE sbc_oce         ! surface fluxes 
82   
83   USE zpshde           ! partial step: hor. derivative     (zps_hde routine)
84
85   USE diawri           ! Standard run outputs             (dia_wri routine)
86   USE diaptr           ! poleward transports              (dia_ptr routine)
87   USE diadct           ! sections transports              (dia_dct routine)
88   USE diaar5           ! AR5 diagnosics                   (dia_ar5 routine)
89   USE diahth           ! thermocline depth                (dia_hth routine)
90   USE diahsb           ! heat, salt and volume budgets    (dia_hsb routine)
91   USE diaharm
92   USE diacfl
93   USE flo_oce          ! floats variables
94   USE floats           ! floats computation               (flo_stp routine)
95
96   USE crsfld           ! Standard output on coarse grid   (crs_fld routine)
97
98   USE asminc           ! assimilation increments      (tra_asm_inc routine)
99   !                                                   (dyn_asm_inc routine)
100   USE asmbkg
101   USE stpctl           ! time stepping control            (stp_ctl routine)
102   USE restart          ! ocean restart                    (rst_wri routine)
103   USE prtctl           ! Print control                    (prt_ctl routine)
104
105   USE diaobs           ! Observation operator
106
107   USE in_out_manager   ! I/O manager
108   USE iom              !
109   USE lbclnk
110   USE timing           ! Timing
111
112#if defined key_iomput
113   USE xios
114#endif
115#if defined key_agrif
116   USE agrif_opa_sponge ! Momemtum and tracers sponges
117   USE agrif_opa_update ! Update (2-way nesting)
118#endif
119#if defined key_top
120   USE trcstp           ! passive tracer time-stepping      (trc_stp routine)
121#endif
122   !!----------------------------------------------------------------------
123   !! NEMO/OPA 3.7 , NEMO Consortium (2014)
124   !! $Id$
125   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
126   !!======================================================================
127END MODULE step_oce
Note: See TracBrowser for help on using the repository browser.