Changeset 335 for trunk/NEMO/TOP_SRC/trcsms.F90
- Timestamp:
- 2005-11-14T13:08:42+01:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/trcsms.F90
r274 r335 8 8 !!=========================================================================================== 9 9 !! TOP 1.0, LOCEAN-IPSL (2005) 10 !! $Header$11 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt12 10 !!---------------------------------------------------------------------- 11 #if defined key_passivetrc 12 !! * Modules used 13 !! ============== 14 USE oce_trc 15 USE trc 16 USE trcfreons 13 17 14 !! * Modules used 15 !! ============== 16 USE oce_trc 17 USE trc 18 19 IMPLICIT NONE 20 PRIVATE 18 IMPLICIT NONE 19 PRIVATE 21 20 22 21 !! * Accessibility 23 22 PUBLIC trc_sms 24 23 25 #if defined key_passivetrc26 27 24 CONTAINS 28 25 29 SUBROUTINE trc_sms( kt )30 !!===========================================================================================31 !!32 !! ROUTINE trcsms33 !! *****************34 !!35 !! PURPOSE :36 !! ---------37 !! time loop of opa for passive tracer38 !!39 !! METHOD :40 !! -------41 !! compute the well/spring evolution42 !!43 !! INPUT :44 !! -----45 !! argument46 !! ktask : task identificator47 !! kt : time step48 !! COMMON49 !! all the COMMON defined in opa50 !!51 !!52 !! OUTPUT : : no53 !! ------54 !!55 !! WORKSPACE :56 !! ---------57 !!58 !! EXTERNAL :59 !! --------60 !! trcbio, trcsed, trcopt for NPZD or LOBSTER1 models61 !!62 !! h3cprg for HAMOC3 and P3ZD models63 !!64 !!65 !! History:66 !! --------67 !! original : 96-1168 !! additions : 99-07 (M. Levy)69 !! 04-00 (O. Aumont, M.A. Foujols) HAMOCC3 and P3ZD70 !! 12-00 (O. Aumont, E. Kestenare) add trcexp for instantaneous export71 !! 05-03 (O. Aumont and A. El Moussaoui) F9072 !! -------------------------------------------------------------------------------------26 SUBROUTINE trc_sms( kt ) 27 !!=========================================================================================== 28 !! 29 !! ROUTINE trcsms 30 !! ***************** 31 !! 32 !! PURPOSE : 33 !! --------- 34 !! time loop of opa for passive tracer 35 !! 36 !! METHOD : 37 !! ------- 38 !! compute the well/spring evolution 39 !! 40 !! INPUT : 41 !! ----- 42 !! argument 43 !! ktask : task identificator 44 !! kt : time step 45 !! COMMON 46 !! all the COMMON defined in opa 47 !! 48 !! 49 !! OUTPUT : : no 50 !! ------ 51 !! 52 !! WORKSPACE : 53 !! --------- 54 !! 55 !! EXTERNAL : 56 !! -------- 57 !! trcbio, trcsed, trcopt for NPZD or LOBSTER1 models 58 !! 59 !! h3cprg for HAMOC3 and P3ZD models 60 !! 61 !! 62 !! History: 63 !! -------- 64 !! original : 96-11 65 !! additions : 99-07 (M. Levy) 66 !! 04-00 (O. Aumont, M.A. Foujols) HAMOCC3 and P3ZD 67 !! 12-00 (O. Aumont, E. Kestenare) add trcexp for instantaneous export 68 !! 05-03 (O. Aumont and A. El Moussaoui) F90 69 !! ------------------------------------------------------------------------------------- 73 70 74 !! * Arguments75 !! -----------71 !! * Arguments 72 !! ----------- 76 73 INTEGER, INTENT( in ) :: kt ! ocean time-step index 77 74 78 !! this ROUTINE is called only every ndttrc time step79 !! --------------------------------------------------75 !! this ROUTINE is called only every ndttrc time step 76 !! -------------------------------------------------- 80 77 81 78 IF ( MOD(kt,ndttrc) /= 0) RETURN 82 79 83 !! this first routines are parallelized on vertical slab84 !! ------------------------------------------------------80 !! this first routines are parallelized on vertical slab 81 !! ------------------------------------------------------ 85 82 86 #if defined key_trc_ npzd || defined key_trc_lobster183 #if defined key_trc_lobster1 87 84 88 !! tracers: optical model89 !! ----------------------85 !! tracers: optical model 86 !! ---------------------- 90 87 91 88 CALL trcopt( kt) 92 89 93 !! tracers: biological model94 !! -------------------------90 !! tracers: biological model 91 !! ------------------------- 95 92 96 93 CALL trcbio( kt) 97 94 98 !! tracers: sedimentation model99 !! ----------------------------95 !! tracers: sedimentation model 96 !! ---------------------------- 100 97 101 102 CALL trcexp98 CALL trcsed(kt) 99 CALL trcexp(kt) 103 100 104 #elif defined key_trc_hamocc3105 101 106 !! h3cprg: main PROGRAM for HAMOCC3 or P3ZD models107 !! -----------------------------------------------108 CALL h3cprg(kt)109 102 110 103 #elif defined key_trc_pisces 111 104 112 !! p4zprg: main PROGRAM for PISCES 113 !! ------------------------------- 114 CALL p4zprg(kt) 115 #else 105 !! p4zprg: main PROGRAM for PISCES 106 !! ------------------------------- 107 CALL p4zprg(kt) 116 108 117 !! SMS to DO109 !! SMS to DO 118 110 119 # if defined key_cfc111 #elif defined key_cfc 120 112 121 !! CFC's code taken from K. Rodgers113 !! CFC's code taken from K. Rodgers 122 114 123 !! This part is still experimental124 !! -------------------------------115 !! This part is still experimental 116 !! ------------------------------- 125 117 126 CALL trcfreons(kt) 127 128 #elif defined key_gosac 129 130 !! C14 tracer modeled according to the OCMIP protocol 131 !! This part has not been really tested in this configuration 132 133 !! Compute the alkalinity 134 135 CALL alkal(kt) 136 137 !! Compute the radioactive decay 138 139 CALL decay 140 141 !! Tracers: surface flux 142 143 CALL dicgasflux(kt) 118 CALL trc_freons(kt) 144 119 145 120 #endif 146 121 147 #endif148 122 149 #if defined key_trc_age150 123 151 !! Age Tracer 152 153 CALL trcage(kt) 154 #endif 155 156 END SUBROUTINE trc_sms 124 END SUBROUTINE trc_sms 157 125 158 126 #else 127 !!====================================================================== 128 !! Empty module : No passive tracer 129 !!====================================================================== 130 CONTAINS 159 131 160 SUBROUTINE trc_sms( kt )132 SUBROUTINE trc_sms( kt ) 161 133 162 ! no passive tracers134 ! no passive tracers 163 135 INTEGER, INTENT( in ) :: kt 164 136 WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt 165 END SUBROUTINE trc_sms137 END SUBROUTINE trc_sms 166 138 167 139 #endif
Note: See TracChangeset
for help on using the changeset viewer.