MODULE trcstp !!====================================================================== !! *** MODULE trcstp *** !! TOP : time stepping of TOP models (passive tracers) !!====================================================================== !! History : 1.0 ! 2004-03 (C. Ethe) Original code !!---------------------------------------------------------------------- #if defined key_passivetrc !!---------------------------------------------------------------------- !! 'key_passivetrc' TOP models !!---------------------------------------------------------------------- !! trc_stp : passive tracer system time-stepping !!---------------------------------------------------------------------- USE oce_trc ! ocean dynamics and active tracers variables USE trc ! ocean passive tracers variables USE trctrp ! passive tracers transport USE trcsms ! passive tracers sources and sinks USE prtctl_trc ! Print control for debbuging USE trcdia ! passive tracer diagnostics USE trcdit ! ??? USE trcrst ! ??? IMPLICIT NONE PRIVATE PUBLIC trc_stp ! called in step.F90 module !!---------------------------------------------------------------------- !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) !! $Id$ !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- CONTAINS SUBROUTINE trc_stp( kt, kindic ) !!---------------------------------------------------------------------- !! *** ROUTINE trc_stp *** !! !! ** Purpose : Time loop of TOP passive tracer !! !! ** Method : Compute the passive tracers trends !! Update the passive tracers !!---------------------------------------------------------------------- INTEGER, INTENT( in ) :: kt ! ocean time-step index INTEGER, INTENT( in ) :: kindic ! ??? CHARACTER (len=25) :: charout !!---------------------------------------------------------------------- IF( MOD( kt, ndttrc ) /= 0 ) RETURN ! routine called only every ndttrc time step IF(ln_ctl) THEN WRITE(charout,FMT="('kt =', I4,' d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear CALL prt_ctl_trc_info(charout) ENDIF CALL trc_rst_opn( kt ) ! Open tracer restart file CALL trc_sms( kt ) ! sink and source of passive tracers CALL trc_trp( kt ) ! transport of passive tracers IF( lrst_trc ) CALL trc_rst_wri( kt ) ! write tracer restart file CALL trc_dia( kt, kindic ) ! diagnostics ! END SUBROUTINE trc_stp #else !!---------------------------------------------------------------------- !! Dummy module No TOP models !!---------------------------------------------------------------------- CONTAINS SUBROUTINE trc_stp( kt ) ! Empty routine INTEGER, INTENT(in) :: kt WRITE(*,*) 'trc_stp: You should not have seen this print! error?', kt END SUBROUTINE trc_stp #endif !!====================================================================== END MODULE trcstp