[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_lobster ! LOBSTER bio-model |
---|
| 18 | USE trcsms_pisces ! PISCES biogeo-model |
---|
| 19 | USE trcsms_cfc ! CFC 11 & 12 |
---|
| 20 | USE trcsms_my_trc ! MY_TRC tracers |
---|
| 21 | USE prtctl_trc ! Print control for debbuging |
---|
[268] | 22 | |
---|
[335] | 23 | IMPLICIT NONE |
---|
| 24 | PRIVATE |
---|
[268] | 25 | |
---|
[945] | 26 | PUBLIC trc_sms ! called in trcstp.F90 |
---|
[268] | 27 | |
---|
[945] | 28 | !!---------------------------------------------------------------------- |
---|
| 29 | !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) |
---|
| 30 | !! $Header:$ |
---|
| 31 | !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) |
---|
| 32 | !!---------------------------------------------------------------------- |
---|
| 33 | |
---|
[268] | 34 | CONTAINS |
---|
| 35 | |
---|
[335] | 36 | SUBROUTINE trc_sms( kt ) |
---|
[945] | 37 | !!--------------------------------------------------------------------- |
---|
| 38 | !! *** ROUTINE ini_trc *** |
---|
[335] | 39 | !! |
---|
[945] | 40 | !! ** Purpose : Managment of the time loop of passive tracers sms |
---|
[335] | 41 | !! |
---|
[945] | 42 | !! ** Method : - call the main routine of of each defined tracer model |
---|
[335] | 43 | !! ------------------------------------------------------------------------------------- |
---|
[268] | 44 | INTEGER, INTENT( in ) :: kt ! ocean time-step index |
---|
[945] | 45 | !! |
---|
[433] | 46 | CHARACTER (len=25) :: charout |
---|
[945] | 47 | !!--------------------------------------------------------------------- |
---|
[433] | 48 | |
---|
[945] | 49 | IF ( MOD(kt,ndttrc) /= 0) RETURN ! this ROUTINE is called only every ndttrc time step |
---|
[268] | 50 | |
---|
[945] | 51 | IF( lk_lobster ) CALL trc_sms_lobster( kt ) ! main program of LOBSTER |
---|
| 52 | IF( lk_pisces ) CALL trc_sms_pisces ( kt ) ! main program of PISCES |
---|
| 53 | IF( lk_cfc ) CALL trc_sms_cfc ( kt ) ! surface fluxes of CFC |
---|
| 54 | IF( lk_my_trc ) CALL trc_sms_my_trc ( kt ) ! MY_TRC tracers |
---|
[268] | 55 | |
---|
[945] | 56 | IF(ln_ctl) THEN ! print mean trends (used for debugging) |
---|
| 57 | WRITE(charout, FMT="('sms ')") |
---|
| 58 | CALL prt_ctl_trc_info( charout ) |
---|
| 59 | CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm ) |
---|
[433] | 60 | ENDIF |
---|
[945] | 61 | ! |
---|
[335] | 62 | END SUBROUTINE trc_sms |
---|
[268] | 63 | |
---|
| 64 | #else |
---|
[335] | 65 | !!====================================================================== |
---|
[945] | 66 | !! Dummy module : No passive tracer |
---|
[335] | 67 | !!====================================================================== |
---|
| 68 | CONTAINS |
---|
[945] | 69 | SUBROUTINE trc_sms( kt ) ! Empty routine |
---|
[268] | 70 | INTEGER, INTENT( in ) :: kt |
---|
| 71 | WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt |
---|
[335] | 72 | END SUBROUTINE trc_sms |
---|
[268] | 73 | #endif |
---|
| 74 | |
---|
[945] | 75 | !!====================================================================== |
---|
[268] | 76 | END MODULE trcsms |
---|