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_merge_2017/NEMOGCM/NEMO/OPA_SRC – NEMO

source: branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/step_oce.F90 @ 9213

Last change on this file since 9213 was 9213, checked in by gm, 6 years ago

dev_merge_2017: nemogcm.F90 : updated in SAS & OFF + data assimilation initial calls (asm_bkg_wri , tra_asm_inc ...) moved to asm_inc_init + closed sea : restructure namcfg & its control print + set ln_closea = false if domcfg file not read (ln_domcfg=F

  • Property svn:keywords set to Id
File size: 6.2 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   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 dynbfr          ! Bottom friction terms            (dyn_bfr routine)
40   USE dynvor          ! vorticity term                   (dyn_vor routine)
41   USE dynhpg          ! hydrostatic pressure grad.       (dyn_hpg routine)
42   USE dynldf          ! lateral momentum diffusion       (dyn_ldf routine)
43   USE dynzdf          ! vertical diffusion               (dyn_zdf routine)
44   USE dynspg          ! surface pressure gradient        (dyn_spg routine)
45
46   USE dynnxt          ! time-stepping                    (dyn_nxt routine)
47
48   USE stopar          ! Stochastic parametrization       (sto_par routine)
49   USE stopts 
50
51   USE bdy_oce  , ONLY : ln_bdy
52   USE bdydta          ! open boundary condition data     (bdy_dta routine)
53   USE bdytra          ! bdy cond. for tracers            (bdy_tra routine)
54   USE bdydyn3d        ! bdy cond. for baroclinic vel.  (bdy_dyn3d routine)
55
56   USE sshwzv          ! vertical velocity and ssh        (ssh_nxt routine)
57   !                                                       (ssh_swp routine)
58   !                                                       (wzv     routine)
59   USE domvvl          ! variable vertical scale factors  (dom_vvl_sf_nxt routine)
60   !                                                       (dom_vvl_sf_swp routine)
61
62   USE ldfslp          ! iso-neutral slopes               (ldf_slp routine)
63   USE ldfdyn          ! lateral eddy viscosity coef.     (ldf_dyn routine)
64   USE ldftra          ! lateral eddy diffusive coef.     (ldf_tra routine)
65
66   USE zdfphy          ! vertical physics manager      (zdf_phy_init routine)
67   USE zdfosm  , ONLY : osm_rst, dyn_osm, tra_osm      ! OSMOSIS routines used in step.F90
68
69   USE step_diu        ! Time stepping for diurnal sst
70   USE diurnal_bulk    ! diurnal SST bulk routines  (diurnal_sst_takaya routine)
71   USE cool_skin       ! diurnal cool skin correction (diurnal_sst_coolskin routine)   
72   USE sbc_oce         ! surface fluxes 
73   
74   USE zpshde          ! partial step: hor. derivative     (zps_hde routine)
75
76   USE diawri          ! Standard run outputs             (dia_wri routine)
77   USE diaptr          ! poleward transports              (dia_ptr routine)
78   USE diadct          ! sections transports              (dia_dct routine)
79   USE diaar5          ! AR5 diagnosics                   (dia_ar5 routine)
80   USE diahth          ! thermocline depth                (dia_hth routine)
81   USE diahsb          ! heat, salt and volume budgets    (dia_hsb routine)
82   USE diaharm
83   USE diacfl
84   USE diaobs          ! Observation operator
85   USE flo_oce         ! floats variables
86   USE floats          ! floats computation               (flo_stp routine)
87
88   USE crsfld          ! Standard output on coarse grid   (crs_fld routine)
89
90   USE asminc          ! assimilation increments      (tra_asm_inc routine)
91   !                                                   (dyn_asm_inc routine)
92   USE asmbkg
93   USE stpctl          ! time stepping control            (stp_ctl routine)
94   USE restart         ! ocean restart                    (rst_wri routine)
95   USE prtctl          ! Print control                    (prt_ctl routine)
96
97   USE in_out_manager  ! I/O manager
98   USE iom             !
99   USE lbclnk
100   USE timing          ! Timing
101
102#if defined key_iomput
103   USE xios            ! I/O server
104#endif
105#if defined key_agrif
106   USE agrif_opa_sponge ! Momemtum and tracers sponges
107   USE agrif_opa_update ! Update (2-way nesting)
108#if defined key_top
109   USE agrif_top_update ! passive tracers update (2-way nesting)
110#endif
111#endif
112#if defined key_top
113   USE trcstp           ! passive tracer time-stepping      (trc_stp routine)
114#endif
115   !!----------------------------------------------------------------------
116   !! NEMO/OPA 3.7 , NEMO Consortium (2014)
117   !! $Id$
118   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
119   !!======================================================================
120END MODULE step_oce
Note: See TracBrowser for help on using the repository browser.