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 NEMO/trunk/src/OCE – NEMO

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

Last change on this file was 15023, checked in by gsamson, 3 years ago

merge ticket2680_C1D_PAPA branch back into the trunk; see ticket #2680 for details

  • Property svn:keywords set to Id
File size: 6.6 KB
RevLine 
[2027]1MODULE step_oce
2   !!======================================================================
3   !!                       ***  MODULE step_oce  ***
[2382]4   !! Ocean time-stepping : module used in both initialisation phase and time stepping
[14053]5   !!                                     (i.e. nemo_init and stp or stp_MLF routines)
[2104]6   !!======================================================================
[5836]7   !! History :   3.3  !  2010-08  (C. Ethe)  Original code - reorganisation of the initial phase
[14086]8   !!             3.7  !  2014-01  (G. Madec) LDF simplication
[2287]9   !!----------------------------------------------------------------------
[9019]10   USE oce             ! ocean dynamics and tracers variables
11   USE dom_oce         ! ocean space and time domain variables
[14090]12   USE domtile
[2027]13
[9019]14   USE daymod          ! calendar                         (day     routine)
[2027]15
[9019]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 sbcwave         ! Wave intialisation
[14053]22   USE tide_mod        ! tides
[2027]23
[14053]24   USE bdy_oce  , ONLY : ln_bdy
25   USE bdydta          ! open boundary condition data     (bdy_dta routine)
26   USE bdytra          ! bdy cond. for tracers            (bdy_tra routine)
27   USE bdydyn3d        ! bdy cond. for baroclinic vel.  (bdy_dyn3d routine)
28
[12377]29   USE isf_oce         ! ice shelf boundary condition
30   USE isfstp          ! ice shelf boundary condition     (isf_stp routine)
31
[14053]32   USE sshwzv          ! vertical velocity and ssh        (ssh_nxt routine)
33   !                                                      (ssh_swp routine)
34   !                                                      (wzv     routine)
35   USE domvvl          ! variable vertical scale factors  (dom_vvl_sf_nxt routine)
36   !                                                      (dom_vvl_sf_swp routine)
[14086]37   
[14053]38   USE divhor          ! horizontal divergence            (div_hor routine)
39   USE dynadv          ! advection                        (dyn_adv 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   USE dynatf          ! time-filtering                   (dyn_atf routine)
[15023]46   USE dyndmp          ! current damping                  (dyn_dmp routine)
[14053]47
[9019]48   USE traqsr          ! solar radiation penetration      (tra_qsr routine)
[12377]49   USE traisf          ! ice shelf                        (tra_isf routine)
[9019]50   USE trasbc          ! surface boundary condition       (tra_sbc routine)
51   USE trabbc          ! bottom boundary condition        (tra_bbc routine)
52   USE trabbl          ! bottom boundary layer            (tra_bbl routine)
53   USE tradmp          ! internal damping                 (tra_dmp routine)
54   USE traadv          ! advection scheme control     (tra_adv_ctl routine)
55   USE traldf          ! lateral mixing                   (tra_ldf routine)
56   USE trazdf          ! vertical mixing                  (tra_zdf routine)
[12377]57   USE traatf          ! time filtering                   (tra_atf routine)
[9019]58   USE tranpc          ! non-penetrative convection       (tra_npc routine)
[2027]59
[9019]60   USE eosbn2          ! equation of state                (eos_bn2 routine)
[2027]61
[9019]62   USE stopar          ! Stochastic parametrization       (sto_par routine)
[14086]63   USE stopts 
[5329]64
[9019]65   USE ldfslp          ! iso-neutral slopes               (ldf_slp routine)
66   USE ldfdyn          ! lateral eddy viscosity coef.     (ldf_dyn routine)
67   USE ldftra          ! lateral eddy diffusive coef.     (ldf_tra routine)
[2027]68
[14053]69   USE zdf_oce         ! ocean vertical physics variables
[9019]70   USE zdfphy          ! vertical physics manager      (zdf_phy_init routine)
[14053]71   USE zdfdrg   , ONLY : ln_drgimp   ! implicit top/bottom friction
72   USE zdfosm   , ONLY : osm_rst, dyn_osm, tra_osm      ! OSMOSIS routines used in step.F90
[14010]73   USE zdfmfc          ! Mass FLux Convection routine used in step.F90
[2027]74
[12377]75   USE diu_layers      ! diurnal SST bulk and coolskin routines
[14086]76   USE sbc_oce         ! surface fluxes 
77   
[9019]78   USE zpshde          ! partial step: hor. derivative     (zps_hde routine)
[2027]79
[9019]80   USE diawri          ! Standard run outputs             (dia_wri routine)
81   USE diaptr          ! poleward transports              (dia_ptr routine)
82   USE diadct          ! sections transports              (dia_dct routine)
83   USE diaar5          ! AR5 diagnosics                   (dia_ar5 routine)
84   USE diahth          ! thermocline depth                (dia_hth routine)
85   USE diahsb          ! heat, salt and volume budgets    (dia_hsb routine)
[14053]86   USE diacfl          ! CFL diagnostics                  (dia_cfl routine)
87   USE diaobs          ! Observation operator             (dia_obs routine)
[12377]88   USE diadetide       ! Weights computation for daily detiding of model diagnostics
89   USE diamlr          ! IOM context management for multiple-linear-regression analysis
[9019]90   USE flo_oce         ! floats variables
91   USE floats          ! floats computation               (flo_stp routine)
[2027]92
[9019]93   USE crsfld          ! Standard output on coarse grid   (crs_fld routine)
[4152]94
[9019]95   USE asminc          ! assimilation increments      (tra_asm_inc routine)
[3294]96   !                                                   (dyn_asm_inc routine)
[14053]97   USE asmbkg          ! writing out state trajectory
[9019]98   USE stpctl          ! time stepping control            (stp_ctl routine)
99   USE restart         ! ocean restart                    (rst_wri routine)
100   USE prtctl          ! Print control                    (prt_ctl routine)
[2027]101
[9019]102   USE in_out_manager  ! I/O manager
103   USE iom             !
[5836]104   USE lbclnk
[9019]105   USE timing          ! Timing
[3294]106
[14239]107#if defined key_xios
[9019]108   USE xios            ! I/O server
[5836]109#endif
[2027]110#if defined key_agrif
[9570]111   USE agrif_oce_sponge ! Momemtum and tracers sponges
[9780]112   USE agrif_all_update ! Main update driver
[14143]113   USE agrif_oce_update
[9485]114#endif
[9023]115#if defined key_top
[12377]116   USE trcstp, ONLY : trc_stp    ! passive tracer time-stepping      (trc_stp routine)
[3769]117#endif
[2382]118   !!----------------------------------------------------------------------
[9598]119   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
[2382]120   !! $Id$
[10068]121   !! Software governed by the CeCILL license (see ./LICENSE)
[2027]122   !!======================================================================
123END MODULE step_oce
Note: See TracBrowser for help on using the repository browser.