source: NEMO/trunk/src/OCE/step_oce.F90 @ 14010

Last change on this file since 14010 was 14010, checked in by gsamson, 5 months ago

merge dev_r2052_ENHANCE-09_rbourdal_massfluxconvection into trunk

  • Property svn:keywords set to Id
File size: 6.3 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 domain, ONLY : dom_tile
12   USE zdf_oce         ! ocean vertical physics variables
13   USE zdfdrg  ,  ONLY : ln_drgimp   ! implicit top/bottom friction
14
15   USE daymod          ! calendar                         (day     routine)
16
17   USE sbc_oce         ! surface boundary condition: ocean
18   USE sbcmod          ! surface boundary condition       (sbc     routine)
19   USE sbcrnf          ! surface boundary condition: runoff variables
20   USE sbccpl          ! surface boundary condition: coupled formulation (call send at end of step)
21   USE sbcapr          ! surface boundary condition: atmospheric pressure
22   USE tide_mod, ONLY : ln_tide, tide_update
23   USE sbcwave         ! Wave intialisation
24
25   USE isf_oce         ! ice shelf boundary condition
26   USE isfstp          ! ice shelf boundary condition     (isf_stp routine)
27
28   USE traqsr          ! solar radiation penetration      (tra_qsr routine)
29   USE traisf          ! ice shelf                        (tra_isf routine)
30   USE trasbc          ! surface boundary condition       (tra_sbc routine)
31   USE trabbc          ! bottom boundary condition        (tra_bbc routine)
32   USE trabbl          ! bottom boundary layer            (tra_bbl routine)
33   USE tradmp          ! internal damping                 (tra_dmp routine)
34   USE traadv          ! advection scheme control     (tra_adv_ctl routine)
35   USE traldf          ! lateral mixing                   (tra_ldf routine)
36   USE trazdf          ! vertical mixing                  (tra_zdf routine)
37   USE traatf          ! time filtering                   (tra_atf routine)
38   USE tranpc          ! non-penetrative convection       (tra_npc routine)
39
40   USE eosbn2          ! equation of state                (eos_bn2 routine)
41
42   USE divhor          ! horizontal divergence            (div_hor routine)
43   USE dynadv          ! advection                        (dyn_adv routine)
44   USE dynvor          ! vorticity term                   (dyn_vor routine)
45   USE dynhpg          ! hydrostatic pressure grad.       (dyn_hpg routine)
46   USE dynldf          ! lateral momentum diffusion       (dyn_ldf routine)
47   USE dynzdf          ! vertical diffusion               (dyn_zdf routine)
48   USE dynspg          ! surface pressure gradient        (dyn_spg routine)
49
50   USE dynatf          ! time-filtering                   (dyn_atf routine)
51
52   USE stopar          ! Stochastic parametrization       (sto_par routine)
53   USE stopts 
54
55   USE bdy_oce  , ONLY : ln_bdy
56   USE bdydta          ! open boundary condition data     (bdy_dta routine)
57   USE bdytra          ! bdy cond. for tracers            (bdy_tra routine)
58   USE bdydyn3d        ! bdy cond. for baroclinic vel.  (bdy_dyn3d routine)
59
60   USE sshwzv          ! vertical velocity and ssh        (ssh_nxt routine)
61   !                                                       (ssh_swp routine)
62   !                                                       (wzv     routine)
63   USE domvvl          ! variable vertical scale factors  (dom_vvl_sf_nxt routine)
64   !                                                       (dom_vvl_sf_swp routine)
65
66   USE ldfslp          ! iso-neutral slopes               (ldf_slp routine)
67   USE ldfdyn          ! lateral eddy viscosity coef.     (ldf_dyn routine)
68   USE ldftra          ! lateral eddy diffusive coef.     (ldf_tra routine)
69
70   USE zdfphy          ! vertical physics manager      (zdf_phy_init routine)
71   USE zdfosm  , ONLY : osm_rst, dyn_osm, tra_osm      ! OSMOSIS routines used in step.F90
72   USE zdfmfc          ! Mass FLux Convection routine used in step.F90
73
74   USE diu_layers      ! diurnal SST bulk and coolskin routines
75   USE sbc_oce         ! surface fluxes 
76   
77   USE zpshde          ! partial step: hor. derivative     (zps_hde routine)
78
79   USE diawri          ! Standard run outputs             (dia_wri routine)
80   USE diaptr          ! poleward transports              (dia_ptr routine)
81   USE diadct          ! sections transports              (dia_dct routine)
82   USE diaar5          ! AR5 diagnosics                   (dia_ar5 routine)
83   USE diahth          ! thermocline depth                (dia_hth routine)
84   USE diahsb          ! heat, salt and volume budgets    (dia_hsb routine)
85   USE diacfl
86   USE diaobs          ! Observation operator
87   USE diadetide       ! Weights computation for daily detiding of model diagnostics
88   USE diamlr          ! IOM context management for multiple-linear-regression analysis
89   USE flo_oce         ! floats variables
90   USE floats          ! floats computation               (flo_stp routine)
91
92   USE crsfld          ! Standard output on coarse grid   (crs_fld routine)
93
94   USE asminc          ! assimilation increments      (tra_asm_inc routine)
95   !                                                   (dyn_asm_inc routine)
96   USE asmbkg
97   USE stpctl          ! time stepping control            (stp_ctl routine)
98   USE restart         ! ocean restart                    (rst_wri routine)
99   USE prtctl          ! Print control                    (prt_ctl routine)
100
101   USE in_out_manager  ! I/O manager
102   USE iom             !
103   USE lbclnk
104   USE timing          ! Timing
105
106#if defined key_iomput
107   USE xios            ! I/O server
108#endif
109#if defined key_agrif
110   USE agrif_oce_sponge ! Momemtum and tracers sponges
111   USE agrif_all_update ! Main update driver
112#endif
113#if defined key_top
114   USE trcstp, ONLY : trc_stp    ! passive tracer time-stepping      (trc_stp routine)
115#endif
116   !!----------------------------------------------------------------------
117   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
118   !! $Id$
119   !! Software governed by the CeCILL license (see ./LICENSE)
120   !!======================================================================
121END MODULE step_oce
Note: See TracBrowser for help on using the repository browser.