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.F90 in trunk/NEMO/OFF_SRC – NEMO

source: trunk/NEMO/OFF_SRC/step.F90 @ 973

Last change on this file since 973 was 956, checked in by cetlod, 16 years ago

phasing the OFFLINE module to the new version of NEMO, see ticket 146

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.5 KB
Line 
1MODULE step
2   !!======================================================================
3   !!                       ***  MODULE step  ***
4   !! Time-stepping    : manager of the ocean, tracer and ice time stepping
5   !!======================================================================
6
7   !!----------------------------------------------------------------------
8   !!   stp            : OPA system time-stepping
9   !!----------------------------------------------------------------------
10   !! * Modules used
11   USE oce             ! ocean dynamics and tracers variables
12   USE dom_oce         ! ocean space and time domain variables
13   USE zdf_oce         ! ocean vertical physics variables
14   USE ldftra_oce
15   USE in_out_manager  ! I/O manager
16   USE lbclnk
17   USE trcdia
18   USE daymod          ! calendar                         (day     routine)
19   USE trcstp          ! passive tracer time-stepping      (trc_stp routine)
20   USE dtadyn          ! Lecture and interpolation of the dynamical fields
21   USE eosbn2          ! equation of state                (eos_bn2 routine)
22   USE trcrst          ! restart for passive tracers
23   USE stpctl          ! time stepping control            (stp_ctl routine)
24
25   IMPLICIT NONE
26   PRIVATE
27
28   !! * Routine accessibility
29   PUBLIC stp            ! called by opa.F90
30
31   !! * Substitutions
32#  include "domzgr_substitute.h90"
33   !!----------------------------------------------------------------------
34   !!   OPA 9.0 , LOCEAN-IPSL (2005)
35   !! $Header$
36   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
37   !!----------------------------------------------------------------------
38
39CONTAINS
40
41   SUBROUTINE stp( kstp )
42      !!----------------------------------------------------------------------
43      !!                     ***  ROUTINE stp  ***
44      !!                     
45      !! ** Purpose : - Time stepping of OPA (momentum and active tracer eqs.)
46      !!              - Time stepping of LIM (dynamic and thermodynamic eqs.)
47      !!              - Tme stepping  of TRC (passive tracer eqs.)
48      !!
49      !! ** Method  : -1- Update forcings and data 
50      !!              -2- Update ocean physics
51      !!              -3- Compute the t and s trends
52      !!              -4- Update t and s
53      !!              -5- Compute the momentum trends
54      !!              -6- Update the horizontal velocity
55      !!              -7- Compute the diagnostics variables (rd,N2, div,cur,w)
56      !!              -8- Outputs and diagnostics
57      !!
58      !! History :
59      !!        !  91-03  ()  Original code
60      !!        !  91-11  (G. Madec)
61      !!        !  92-06  (M. Imbard)  add a first output record
62      !!        !  96-04  (G. Madec)  introduction of dynspg
63      !!        !  96-04  (M.A. Foujols)  introduction of passive tracer
64      !!   8.0  !  97-06  (G. Madec)  new architecture of call
65      !!   8.2  !  97-06  (G. Madec, M. Imbard, G. Roullet)  free surface
66      !!   8.2  !  99-02  (G. Madec, N. Grima)  hpg implicit
67      !!   8.2  !  00-07  (J-M Molines, M. Imbard)  Open Bondary Conditions
68      !!   9.0  !  02-06  (G. Madec)  free form, suppress macro-tasking
69      !!----------------------------------------------------------------------
70      !! * Arguments
71      INTEGER, INTENT( in ) ::   kstp   ! ocean time-step index
72
73      !! * local declarations
74      INTEGER ::   indic    ! error indicator if < 0
75      !! ---------------------------------------------------------------------
76
77      indic = 1                    ! reset to no error condition
78
79      CALL day( kstp )             ! Calendar
80
81      CALL dta_dyn( kstp )          ! Interpolation of the dynamical fields
82
83#if defined key_top
84      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
85      ! Passive Tracer Model
86      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
87      ! N.B. ua, va, ta, sa arrays are used as workspace in this section
88      !-----------------------------------------------------------------------
89
90                             CALL trc_stp( kstp, indic)           ! time-stepping
91
92
93#endif
94
95      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
96      ! Control, diagnostics and outputs
97      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
98      !                                            ! Time loop: control and print
99                       CALL stp_ctl( kstp )
100
101
102   END SUBROUTINE stp
103
104   !!======================================================================
105END MODULE step
Note: See TracBrowser for help on using the repository browser.