MODULE trcctl !!====================================================================== !! *** MODULE trcctl *** !! TOP : control the cpp options, files and namelist values of a run !!====================================================================== !! History : 1.0 ! 2005-03 (O. Aumont, A. El Moussaoui) original code !!---------------------------------------------------------------------- #if defined key_top !!---------------------------------------------------------------------- !! 'key_top' TOP models !!---------------------------------------------------------------------- !! trc_ctl : control the cpp options, files and namelist values !!---------------------------------------------------------------------- USE oce_trc USE trc USE trctrp_ctl USE trcctl_lobster USE trcctl_pisces USE trcctl_cfc USE trcctl_c14b USE trcctl_my_trc IMPLICIT NONE PRIVATE PUBLIC trc_ctl ! called by ??? !!---------------------------------------------------------------------- !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) !! $Id$ !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- CONTAINS SUBROUTINE trc_ctl !!---------------------------------------------------------------------- !! *** ROUTINE trc_ctl *** !! !! ** Purpose : control the cpp options, namelist and files !! we use IF/ENDIF inside #IF defined option-cpp !! FILE name must not exceed 21 characters !!---------------------------------------------------------------------- INTEGER :: istop, jn !!---------------------------------------------------------------------- IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) ' trc_ctl : passive tracer option' IF(lwp) WRITE(numout,*) ' ~~~~~~~' istop = 0 ! initialise to zero ! restart for passive tracer (input) IF( ln_rsttr ) THEN IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer' IF(lwp) WRITE(numout,*) ' ' ELSE IF(lwp) WRITE(numout,*) ' no restart FILE' IF(lwp) WRITE(numout,*) DO jn = 1, jptra IF( lutini(jn) ) THEN ! OPEN input FILE only IF lutini(jn) is true IF(lwp) WRITE(numout,*) & ' READ an initial FILE for passive tracer number :', jn, ' traceur : ', ctrcnm(jn) END IF END DO ENDIF ! transport scheme option CALL trc_trp_ctl ! SMS model IF(lwp) WRITE(numout,*) ' ' IF(lwp) WRITE(numout,*) ' Source/Sink model option' IF(lwp) WRITE(numout,*) ' ' IF( lk_lobster ) THEN ; CALL trc_ctl_lobster ! LOBSTER bio-model ELSE ; IF(lwp) WRITE(numout,*) ' LOBSTER not used' ENDIF IF( lk_pisces ) THEN ; CALL trc_ctl_pisces ! PISCES bio-model ELSE ; IF(lwp) WRITE(numout,*) ' PISCES not used' ENDIF IF( lk_cfc ) THEN ; CALL trc_ctl_cfc ! CFC tracers ELSE ; IF(lwp) WRITE(numout,*) ' CFC not used' ENDIF IF( lk_c14b ) THEN ; CALL trc_ctl_c14b ! C14 bomb tracers ELSE ; IF(lwp) WRITE(numout,*) ' C14b not used' ENDIF IF( lk_my_trc ) THEN ; CALL trc_ctl_my_trc ! MY_TRC tracers ELSE ; IF(lwp) WRITE(numout,*) ' MY_TRC not used' ENDIF ! E r r o r control ! ------------------ IF( istop > 0 ) THEN IF(lwp)WRITE(numout,*) IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop' IF(lwp)WRITE(numout,*) ' **************************' IF(lwp)WRITE(numout,*) STOP 'trcctl' ENDIF ! END SUBROUTINE trc_ctl #else !!---------------------------------------------------------------------- !! Empty module : No passive tracer !!---------------------------------------------------------------------- CONTAINS SUBROUTINE trc_ctl ! Dummy routine END SUBROUTINE trc_ctl #endif !!====================================================================== END MODULE trcctl