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 tags/nemo_v3_2/nemo_v3_2/NEMO/OFF_SRC – NEMO

source: tags/nemo_v3_2/nemo_v3_2/NEMO/OFF_SRC/step.F90 @ 1878

Last change on this file since 1878 was 1878, checked in by flavoni, 14 years ago

initial test for nemogcm

File size: 4.1 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   USE iom
25
26   IMPLICIT NONE
27   PRIVATE
28
29   !! * Routine accessibility
30   PUBLIC stp            ! called by opa.F90
31
32   !! * Substitutions
33#  include "domzgr_substitute.h90"
34   !!----------------------------------------------------------------------
35   !!   OPA 9.0 , LOCEAN-IPSL (2005)
36   !! $Id: step.F90 1749 2009-11-23 10:52:11Z cetlod $
37   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
38   !!----------------------------------------------------------------------
39
40CONTAINS
41
42   SUBROUTINE stp( kstp )
43      !!----------------------------------------------------------------------
44      !!                     ***  ROUTINE stp  ***
45      !!                     
46      !! ** Purpose : - Time stepping of OPA (momentum and active tracer eqs.)
47      !!              - Time stepping of LIM (dynamic and thermodynamic eqs.)
48      !!              - Tme stepping  of TRC (passive tracer eqs.)
49      !!
50      !! ** Method  : -1- Update forcings and data 
51      !!              -2- Update ocean physics
52      !!              -3- Compute the t and s trends
53      !!              -4- Update t and s
54      !!              -5- Compute the momentum trends
55      !!              -6- Update the horizontal velocity
56      !!              -7- Compute the diagnostics variables (rd,N2, div,cur,w)
57      !!              -8- Outputs and diagnostics
58      !!
59      !! History :
60      !!        !  91-03  ()  Original code
61      !!        !  91-11  (G. Madec)
62      !!        !  92-06  (M. Imbard)  add a first output record
63      !!        !  96-04  (G. Madec)  introduction of dynspg
64      !!        !  96-04  (M.A. Foujols)  introduction of passive tracer
65      !!   8.0  !  97-06  (G. Madec)  new architecture of call
66      !!   8.2  !  97-06  (G. Madec, M. Imbard, G. Roullet)  free surface
67      !!   8.2  !  99-02  (G. Madec, N. Grima)  hpg implicit
68      !!   8.2  !  00-07  (J-M Molines, M. Imbard)  Open Bondary Conditions
69      !!   9.0  !  02-06  (G. Madec)  free form, suppress macro-tasking
70      !!----------------------------------------------------------------------
71      !! * Arguments
72      INTEGER, INTENT( in ) ::   kstp   ! ocean time-step index
73      !! ---------------------------------------------------------------------
74
75      IF( kstp /= nit000 )   CALL day( kstp )         ! Calendar (day was already called at nit000 in day_init)
76
77      IF( lk_iomput ) CALL iom_setkt( kstp )       ! say to iom that we are at time step kstp
78
79      CALL dta_dyn( kstp )         ! Interpolation of the dynamical fields
80
81      CALL trc_stp( kstp )         ! time-stepping
82
83
84      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
85      ! Control, diagnostics and outputs
86      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
87      !                                            ! Time loop: control and print
88       CALL stp_ctl( kstp )
89
90
91   END SUBROUTINE stp
92
93   !!======================================================================
94END MODULE step
Note: See TracBrowser for help on using the repository browser.