MODULE trcsms !!=========================================================================================== !! !! *** MODULE trcsms *** !! !! Time loop of opa for passive tracer !! !!=========================================================================================== !! TOP 1.0, LOCEAN-IPSL (2005) !! $Header$ !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- !! * Modules used !! ============== USE oce_trc USE trc IMPLICIT NONE PRIVATE !! * Accessibility PUBLIC trc_sms #if defined key_passivetrc CONTAINS SUBROUTINE trc_sms( kt ) !!=========================================================================================== !! !! ROUTINE trcsms !! ***************** !! !! PURPOSE : !! --------- !! time loop of opa for passive tracer !! !! METHOD : !! ------- !! compute the well/spring evolution !! !! INPUT : !! ----- !! argument !! ktask : task identificator !! kt : time step !! COMMON !! all the COMMON defined in opa !! !! !! OUTPUT : : no !! ------ !! !! WORKSPACE : !! --------- !! !! EXTERNAL : !! -------- !! trcbio, trcsed, trcopt for NPZD or LOBSTER1 models !! !! h3cprg for HAMOC3 and P3ZD models !! !! !! History: !! -------- !! original : 96-11 !! additions : 99-07 (M. Levy) !! 04-00 (O. Aumont, M.A. Foujols) HAMOCC3 and P3ZD !! 12-00 (O. Aumont, E. Kestenare) add trcexp for instantaneous export !! 05-03 (O. Aumont and A. El Moussaoui) F90 !! ------------------------------------------------------------------------------------- !! * Arguments !! ----------- INTEGER, INTENT( in ) :: kt ! ocean time-step index !! this ROUTINE is called only every ndttrc time step !! -------------------------------------------------- IF ( MOD(kt,ndttrc) /= 0) RETURN !! this first routines are parallelized on vertical slab !! ------------------------------------------------------ #if defined key_trc_npzd || defined key_trc_lobster1 !! tracers: optical model !! ---------------------- CALL trcopt( kt) !! tracers: biological model !! ------------------------- CALL trcbio( kt) !! tracers: sedimentation model !! ---------------------------- CALL trcsed(kt) CALL trcexp #elif defined key_trc_hamocc3 !! h3cprg: main PROGRAM for HAMOCC3 or P3ZD models !! ----------------------------------------------- CALL h3cprg(kt) #elif defined key_trc_pisces !! p4zprg: main PROGRAM for PISCES !! ------------------------------- CALL p4zprg(kt) #else !! SMS to DO #if defined key_cfc !! CFC's code taken from K. Rodgers !! This part is still experimental !! ------------------------------- CALL trcfreons(kt) #elif defined key_gosac !! C14 tracer modeled according to the OCMIP protocol !! This part has not been really tested in this configuration !! Compute the alkalinity CALL alkal(kt) !! Compute the radioactive decay CALL decay !! Tracers: surface flux CALL dicgasflux(kt) #endif #endif #if defined key_trc_age !! Age Tracer CALL trcage(kt) #endif END SUBROUTINE trc_sms #else SUBROUTINE trc_sms( kt ) ! no passive tracers INTEGER, INTENT( in ) :: kt WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt END SUBROUTINE trc_sms #endif END MODULE trcsms