[268] | 1 | MODULE trcsms |
---|
[945] | 2 | !!====================================================================== |
---|
| 3 | !! *** MODULE trcsms *** |
---|
| 4 | !! TOP : Time loop of passive tracers sms |
---|
| 5 | !!====================================================================== |
---|
| 6 | !! History : 1.0 ! 2005-03 (O. Aumont, A. El Moussaoui) F90 |
---|
| 7 | !! 2.0 ! 2007-12 (C. Ethe, G. Madec) revised architecture |
---|
[274] | 8 | !!---------------------------------------------------------------------- |
---|
[945] | 9 | #if defined key_top |
---|
| 10 | !!---------------------------------------------------------------------- |
---|
| 11 | !! 'key_top' TOP models |
---|
| 12 | !!---------------------------------------------------------------------- |
---|
| 13 | !! trc_sms : Time loop of passive tracers sms |
---|
| 14 | !!---------------------------------------------------------------------- |
---|
| 15 | USE oce_trc ! |
---|
| 16 | USE trc ! |
---|
| 17 | USE trcsms_pisces ! PISCES biogeo-model |
---|
[1254] | 18 | USE trcsms_cfc ! CFC 11 & 12 |
---|
| 19 | USE trcsms_c14b ! C14b tracer |
---|
[8280] | 20 | USE trcsms_age ! AGE tracer |
---|
[945] | 21 | USE trcsms_my_trc ! MY_TRC tracers |
---|
[8442] | 22 | USE trcsms_idtra ! Idealize Tracer |
---|
| 23 | USE trcsms_medusa ! MEDUSA tracers |
---|
[945] | 24 | USE prtctl_trc ! Print control for debbuging |
---|
[268] | 25 | |
---|
[335] | 26 | IMPLICIT NONE |
---|
| 27 | PRIVATE |
---|
[268] | 28 | |
---|
[945] | 29 | PUBLIC trc_sms ! called in trcstp.F90 |
---|
[268] | 30 | |
---|
[945] | 31 | !!---------------------------------------------------------------------- |
---|
[2528] | 32 | !! NEMO/TOP 3.3 , NEMO Consortium (2010) |
---|
[6486] | 33 | !! $Id$ |
---|
[2715] | 34 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
[945] | 35 | !!---------------------------------------------------------------------- |
---|
[268] | 36 | CONTAINS |
---|
| 37 | |
---|
[335] | 38 | SUBROUTINE trc_sms( kt ) |
---|
[945] | 39 | !!--------------------------------------------------------------------- |
---|
[1011] | 40 | !! *** ROUTINE trc_sms *** |
---|
[335] | 41 | !! |
---|
[945] | 42 | !! ** Purpose : Managment of the time loop of passive tracers sms |
---|
[335] | 43 | !! |
---|
[945] | 44 | !! ** Method : - call the main routine of of each defined tracer model |
---|
[335] | 45 | !! ------------------------------------------------------------------------------------- |
---|
[268] | 46 | INTEGER, INTENT( in ) :: kt ! ocean time-step index |
---|
[945] | 47 | !! |
---|
[433] | 48 | CHARACTER (len=25) :: charout |
---|
[945] | 49 | !!--------------------------------------------------------------------- |
---|
[3294] | 50 | ! |
---|
| 51 | IF( nn_timing == 1 ) CALL timing_start('trc_sms') |
---|
| 52 | ! |
---|
[945] | 53 | IF( lk_pisces ) CALL trc_sms_pisces ( kt ) ! main program of PISCES |
---|
| 54 | IF( lk_cfc ) CALL trc_sms_cfc ( kt ) ! surface fluxes of CFC |
---|
[1254] | 55 | IF( lk_c14b ) CALL trc_sms_c14b ( kt ) ! surface fluxes of C14 |
---|
[8280] | 56 | IF( lk_age ) CALL trc_sms_age ( kt ) ! AGE tracer |
---|
[945] | 57 | IF( lk_my_trc ) CALL trc_sms_my_trc ( kt ) ! MY_TRC tracers |
---|
[8442] | 58 | IF( lk_idtra ) CALL trc_sms_idtra ( kt ) ! radioactive decay of Id. tracer |
---|
| 59 | IF( lk_medusa ) CALL trc_sms_medusa ( kt ) ! MEDUSA tracers |
---|
[268] | 60 | |
---|
[945] | 61 | IF(ln_ctl) THEN ! print mean trends (used for debugging) |
---|
| 62 | WRITE(charout, FMT="('sms ')") |
---|
| 63 | CALL prt_ctl_trc_info( charout ) |
---|
| 64 | CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm ) |
---|
[433] | 65 | ENDIF |
---|
[945] | 66 | ! |
---|
[3294] | 67 | IF( nn_timing == 1 ) CALL timing_stop('trc_sms') |
---|
| 68 | ! |
---|
[335] | 69 | END SUBROUTINE trc_sms |
---|
[268] | 70 | |
---|
| 71 | #else |
---|
[335] | 72 | !!====================================================================== |
---|
[945] | 73 | !! Dummy module : No passive tracer |
---|
[335] | 74 | !!====================================================================== |
---|
| 75 | CONTAINS |
---|
[945] | 76 | SUBROUTINE trc_sms( kt ) ! Empty routine |
---|
[268] | 77 | INTEGER, INTENT( in ) :: kt |
---|
| 78 | WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt |
---|
[335] | 79 | END SUBROUTINE trc_sms |
---|
[268] | 80 | #endif |
---|
| 81 | |
---|
[945] | 82 | !!====================================================================== |
---|
[6487] | 83 | END MODULE trcsms |
---|