Changeset 335 for trunk/NEMO/TOP_SRC/trcctl.F90
- Timestamp:
- 2005-11-14T13:08:42+01:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/trcctl.F90
r274 r335 10 10 !!========================================================================= 11 11 !! TOP 1.0, LOCEAN-IPSL (2005) 12 !! $Header$13 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt14 12 !!---------------------------------------------------------------------- 15 !!---------------------------------------------------------------------- 16 !! * Modules used 17 !! ============== 18 USE oce_trc 19 USE trc 20 USE sms 21 USE trctrp_ctl 13 #if defined key_passivetrc 14 !!---------------------------------------------------------------------- 15 !! * Modules used 16 !! ============== 17 USE oce_trc 18 USE trc 19 USE sms 20 USE trctrp_ctl 22 21 23 24 22 IMPLICIT NONE 23 PRIVATE 25 24 26 27 25 !! * Accessibility 26 PUBLIC trc_ctl 28 27 29 28 CONTAINS 30 29 31 #if defined key_passivetrc 30 SUBROUTINE trc_ctl 31 !!=========================================================================================== 32 !! 33 !! 34 !! ROUTINE trcctl 35 !! ****************** 36 !! 37 !! we use IF/ENDIF inside #IF defined option-cpp 38 !! FILE name must not exceed 21 characters 39 !! 40 !!=========================================================================================== 41 42 !!---------------------------------------------------------------------- 43 !! local declarations 44 !! ================== 45 INTEGER :: istop, jn 46 47 !!--------------------------------------------------------------------- 48 !! OPA.9 03/2005 49 !!--------------------------------------------------------------------- 32 50 33 SUBROUTINE trc_ctl 34 !!=========================================================================================== 35 !! 36 !! 37 !! ROUTINE trcctl 38 !! ****************** 39 !! 40 !! we use IF/ENDIF inside #IF defined option-cpp 41 !! FILE name must not exceed 21 characters 42 !! 43 !!=========================================================================================== 44 45 !!---------------------------------------------------------------------- 46 !! local declarations 47 !! ================== 48 INTEGER :: istop, jn 49 50 !!!--------------------------------------------------------------------- 51 !!! OPA.9 03/2005 52 !!!--------------------------------------------------------------------- 53 54 ! 0. Parameter 55 ! ------------ 51 ! 0. Parameter 52 ! ------------ 56 53 istop = 0 57 54 58 ! 1. LOGICAL UNIT initialization for specifi! files for passive tracer59 ! --------------------------------------------------------------------60 ! nutwrs : OUTPUT for passive tracer restart UNIT (always used)61 ! nutrst : restart FILE INPUT UNIT (lrsttr=.TRUE.)62 ! nutini(jptra) : UNIT for initial FILE for tracer55 ! 1. LOGICAL UNIT initialization for specifi! files for passive tracer 56 ! -------------------------------------------------------------------- 57 ! nutwrs : OUTPUT for passive tracer restart UNIT (always used) 58 ! nutrst : restart FILE INPUT UNIT (lrsttr=.TRUE.) 59 ! nutini(jptra) : UNIT for initial FILE for tracer 63 60 64 61 nutwrs = 72 65 62 nutrst = 73 66 63 67 ! 2. restart for passive tracer (input)68 ! -----------------------------64 ! 2. restart for passive tracer (input) 65 ! ----------------------------- 69 66 70 67 IF(lwp) WRITE(numout,*) ' ' … … 78 75 79 76 IF(lrsttr) THEN 80 81 77 IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer' 78 IF(lwp) WRITE(numout,*) ' ' 82 79 ELSE 83 84 80 IF(lwp) WRITE(numout,*) ' no restart FILE' 81 IF(lwp) WRITE(numout,*) ' ' 85 82 86 ! 3. OPEN FILES for initial tracer value87 ! --------------------------------------88 83 ! 3. OPEN FILES for initial tracer value 84 ! -------------------------------------- 85 DO jn=1,jptra 89 86 90 ! OPEN input FILE only IF lutini(jn) is true91 ! ------------------------------------------87 ! OPEN input FILE only IF lutini(jn) is true 88 ! ------------------------------------------ 92 89 IF (lutini(jn)) THEN 93 90 94 ! prepare input FILE name a 95 ! ------------------------- 96 IF(lwp) WRITE(numout,*) & 97 ' READ an initial FILE :', & 98 ' for passive tracer number :',jn & 99 ,' traceur : ',ctrcnm(jn) 100 IF(lwp) WRITE(numout,*) ' ' 101 END IF 102 END DO 91 ! prepare input FILE name a 92 ! ------------------------- 93 IF(lwp) WRITE(numout,*) & 94 ' READ an initial FILE for passive tracer number :',jn & 95 ,' traceur : ',ctrcnm(jn) 96 IF(lwp) WRITE(numout,*) ' ' 97 END IF 98 END DO 103 99 ENDIF 104 100 105 ! 4. Don't USE non penetrative convective mixing option106 ! it's not implemented for passive tracer107 ! -----------------------------------------------------101 ! 4. Don't USE non penetrative convective mixing option 102 ! it's not implemented for passive tracer 103 ! ----------------------------------------------------- 108 104 109 105 IF( ln_zdfnpc) THEN 110 IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g '111 IF(lwp) WRITE (numout,*) ' ======= ============= '112 IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented'113 IF(lwp) WRITE (numout,*) ' in passive tracer model:'114 IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme'115 istop = istop + 1106 IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g ' 107 IF(lwp) WRITE (numout,*) ' ======= ============= ' 108 IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented' 109 IF(lwp) WRITE (numout,*) ' in passive tracer model:' 110 IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme' 111 istop = istop + 1 116 112 ENDIF 117 113 118 ! 5. transport scheme option119 ! --------------------------114 ! 5. transport scheme option 115 ! -------------------------- 120 116 121 117 IF(lwp) WRITE(numout,*) ' ' 122 118 CALL trc_trp_ctl 123 IF(lwp) WRITE(numout,*) ' '124 119 125 ! 6. SMS model 126 ! --------------------------------------------- 120 121 ! 6. SMS model 122 ! --------------------------------------------- 127 123 128 124 IF(lwp) WRITE(numout,*) ' ' … … 130 126 IF(lwp) WRITE(numout,*) ' ' 131 127 132 #if defined key_trc_npzd 133 #include "trcctl.npzd.h90" 134 #elif defined key_trc_lobster1 135 #include "trcctl.lobster1.h90" 128 129 #if defined key_trc_lobster1 130 # include "trcctl.lobster1.h90" 136 131 #elif defined key_trc_pisces 137 #include "trcctl.pisces.h90" 138 #elif defined key_trc_hamocc3 139 # if defined key_trc_p3zd 140 #include "trcctl.p3zd.h90" 141 # else 142 #include "trcctl.hamocc3.h90" 143 # endif 132 # include "trcctl.pisces.h90" 133 #elif defined key_cfc 134 # include "trcctl.cfc.h90" 144 135 #else 145 136 … … 148 139 #endif 149 140 150 ! E r r o r control151 ! ------------------141 ! E r r o r control 142 ! ------------------ 152 143 153 144 IF ( istop > 0 ) THEN 154 155 156 157 158 145 IF(lwp)WRITE(numout,*) 146 IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop' 147 IF(lwp)WRITE(numout,*) '**************************' 148 IF(lwp)WRITE(numout,*) 149 STOP 'trcctl' 159 150 ENDIF 160 151 161 END SUBROUTINE trc_ctl 152 END SUBROUTINE trc_ctl 162 153 163 154 #else 155 !!====================================================================== 156 !! Empty module : No passive tracer 157 !!====================================================================== 158 CONTAINS 159 SUBROUTINE trc_ctl 164 160 165 SUBROUTINE trc_ctl 166 !!============== 167 ! no passive tracers 168 !!============== 169 END SUBROUTINE trc_ctl 170 161 END SUBROUTINE trc_ctl 162 171 163 #endif 172 164
Note: See TracChangeset
for help on using the changeset viewer.