123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- MODULE stpctl
- !!======================================================================
- !! *** MODULE stpctl ***
- !! Ocean run control : gross check of the ocean time stepping
- !! version for standalone surface scheme
- !!======================================================================
- !! History : OPA ! 1991-03 (G. Madec) Original code
- !! 6.0 ! 1992-06 (M. Imbard)
- !! 8.0 ! 1997-06 (A.M. Treguier)
- !! NEMO 1.0 ! 2002-06 (G. Madec) F90: Free form and module
- !! 2.0 ! 2009-07 (G. Madec) Add statistic for time-spliting
- !! 3.5 ! 2012-03 (S. Alderson)
- !!----------------------------------------------------------------------
- !!----------------------------------------------------------------------
- !! stp_ctl : Control the run
- !!----------------------------------------------------------------------
- USE oce ! ocean dynamics and tracers variables
- USE dom_oce ! ocean space and time domain variables
- USE in_out_manager ! I/O manager
- USE lbclnk ! ocean lateral boundary conditions (or mpp link)
- USE lib_mpp ! distributed memory computing
- IMPLICIT NONE
- PRIVATE
- PUBLIC stp_ctl ! routine called by step.F90
- !!----------------------------------------------------------------------
- !! NEMO/OPA 3.3 , NEMO Consortium (2010)
- !! $Id: stpctl.F90 2355 2015-05-20 07:11:50Z ufla $
- !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
- !!----------------------------------------------------------------------
- CONTAINS
- SUBROUTINE stp_ctl( kt, kindic )
- !!----------------------------------------------------------------------
- !! *** ROUTINE stp_ctl ***
- !!
- !! ** Purpose : Control the run
- !!
- !! ** Method : - Save the time step in numstp
- !! - Print it each 50 time steps
- !!
- !! ** Actions : 'time.step' file containing the last ocean time-step
- !!
- !!----------------------------------------------------------------------
- INTEGER, INTENT( in ) :: kt ! ocean time-step index
- INTEGER, INTENT( inout ) :: kindic ! indicator of solver convergence
- !!----------------------------------------------------------------------
- IF( kt == nit000 .AND. lwp ) THEN
- WRITE(numout,*)
- WRITE(numout,*) 'stp_ctl : time-stepping control'
- WRITE(numout,*) '~~~~~~~'
- ! open time.step file
- CALL ctl_opn( numstp, 'time.step', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )
- ENDIF
- IF(lwp) WRITE ( numstp, '(1x, i8)' ) kt !* save the current time step in numstp
- IF(lwp) REWIND( numstp ) ! --------------------------
- END SUBROUTINE stp_ctl
- !!======================================================================
- END MODULE stpctl
|