Changeset 945 for trunk/NEMO/TOP_SRC/trcctl.F90
- Timestamp:
- 2008-05-14T18:14:53+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/trcctl.F90
r719 r945 1 1 MODULE trcctl 2 !!========================================================================== 3 !! 4 !! *** MODULE trcctl *** 5 !! 6 !! Only for passive tracer 7 !! control the cpp options for the run and IF files are availables 8 !! control also consistancy between options and namelist values 9 !! O.Aumont and A.El Moussaoui 03/05 F90 10 !!========================================================================= 11 !! TOP 1.0, LOCEAN-IPSL (2005) 12 !! $Header$ 13 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 2 !!====================================================================== 3 !! *** MODULE trcctl *** 4 !! TOP : control the cpp options, files and namelist values of a run 5 !!====================================================================== 6 !! History : 1.0 ! 2005-03 (O. Aumont, A. El Moussaoui) original code 14 7 !!---------------------------------------------------------------------- 15 #if defined key_ passivetrc8 #if defined key_top 16 9 !!---------------------------------------------------------------------- 17 !! * Modules used 18 !! ============== 10 !! 'key_top' TOP models 11 !!---------------------------------------------------------------------- 12 !! trc_ctl : control the cpp options, files and namelist values 13 !!---------------------------------------------------------------------- 19 14 USE oce_trc 20 15 USE trc … … 25 20 PRIVATE 26 21 27 !! * Accessibility 28 PUBLIC trc_ctl 22 PUBLIC trc_ctl ! called by ??? 23 24 !!---------------------------------------------------------------------- 25 !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) 26 !! $Header:$ 27 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 28 !!---------------------------------------------------------------------- 29 29 30 30 CONTAINS 31 31 32 32 SUBROUTINE trc_ctl 33 !!=========================================================================================== 33 !!---------------------------------------------------------------------- 34 !! *** ROUTINE trc_ctl *** 34 35 !! 35 !! 36 !! ROUTINE trcctl 37 !! ****************** 38 !! 39 !! we use IF/ENDIF inside #IF defined option-cpp 40 !! FILE name must not exceed 21 characters 41 !! 42 !!=========================================================================================== 43 36 !! ** Purpose : control the cpp options, namelist and files 37 !! we use IF/ENDIF inside #IF defined option-cpp 38 !! FILE name must not exceed 21 characters 44 39 !!---------------------------------------------------------------------- 45 !! local declarations 46 !! ================== 47 INTEGER :: istop, jn 48 49 !!--------------------------------------------------------------------- 50 !! OPA.9 03/2005 51 !!--------------------------------------------------------------------- 40 INTEGER :: istop, jn 41 !!---------------------------------------------------------------------- 52 42 53 ! 0. Parameter54 ! ------------55 istop = 043 IF(lwp) WRITE(numout,*) 44 IF(lwp) WRITE(numout,*) ' trc_ctl : passive tracer option' 45 IF(lwp) WRITE(numout,*) ' ~~~~~~~' 56 46 57 ! 1. restart for passive tracer (input) 58 ! ----------------------------- 47 istop = 0 ! initialise to zero 59 48 60 IF(lwp) WRITE(numout,*) ' ' 61 IF(lwp) WRITE(numout,*) ' *** PASSIVE TRACER MODEL OPTIONS' 62 IF(lwp) WRITE(numout,*) ' *** CONTROL' 63 IF(lwp) WRITE(numout,*) ' ' 64 65 IF(lwp) WRITE(numout,*) ' ' 66 IF(lwp) WRITE(numout,*) ' *** restart option for passive tracer' 67 IF(lwp) WRITE(numout,*) ' ' 68 69 IF(lrsttr) THEN 70 IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer' 49 ! restart for passive tracer (input) 50 IF( lrsttr ) THEN 51 IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer' 71 52 IF(lwp) WRITE(numout,*) ' ' 72 53 ELSE 73 IF(lwp) WRITE(numout,*) ' no restart FILE' 74 IF(lwp) WRITE(numout,*) ' ' 75 76 ! 2. OPEN FILES for initial tracer value 77 ! -------------------------------------- 78 DO jn=1,jptra 79 80 ! OPEN input FILE only IF lutini(jn) is true 81 ! ------------------------------------------ 82 IF (lutini(jn)) THEN 83 84 ! prepare input FILE name a 85 ! ------------------------- 54 IF(lwp) WRITE(numout,*) ' no restart FILE' 55 IF(lwp) WRITE(numout,*) 56 DO jn = 1, jptra 57 IF( lutini(jn) ) THEN ! OPEN input FILE only IF lutini(jn) is true 86 58 IF(lwp) WRITE(numout,*) & 87 ' READ an initial FILE for passive tracer number :',jn & 88 ,' traceur : ',ctrcnm(jn) 89 IF(lwp) WRITE(numout,*) ' ' 59 ' READ an initial FILE for passive tracer number :', jn, ' traceur : ', ctrcnm(jn) 90 60 END IF 91 61 END DO 92 62 ENDIF 93 63 94 ! 3. Don't USE non penetrative convective mixing option 95 ! it's not implemented for passive tracer 96 ! ----------------------------------------------------- 97 98 IF( ln_zdfnpc) THEN 64 ! Don't USE non penetrative convective mixing option 65 ! it's not implemented for passive tracer 66 IF( ln_zdfnpc ) THEN 99 67 IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g ' 100 68 IF(lwp) WRITE (numout,*) ' ======= ============= ' … … 105 73 ENDIF 106 74 107 ! 4. transport scheme option 108 ! -------------------------- 109 110 IF(lwp) WRITE(numout,*) ' ' 75 ! transport scheme option 111 76 CALL trc_trp_ctl 112 77 113 114 ! 5. SMS model 115 ! --------------------------------------------- 116 78 ! SMS model 117 79 IF(lwp) WRITE(numout,*) ' ' 118 IF(lwp) WRITE(numout,*) ' ***Source/Sink model option'80 IF(lwp) WRITE(numout,*) ' Source/Sink model option' 119 81 IF(lwp) WRITE(numout,*) ' ' 120 82 83 # if defined key_lobster 84 # include "trcctl.lobster.h90" 121 85 122 #if defined key_trc_lobster1 123 # include "trcctl.lobster1.h90" 124 #elif defined key_trc_pisces 86 # elif defined key_pisces 125 87 # include "trcctl.pisces.h90" 126 #elif defined key_cfc 88 89 # elif defined key_cfc 127 90 # include "trcctl.cfc.h90" 128 #else129 91 130 IF(lwp) WRITE (numout,*) ' No Source/Sink model ' 131 IF(lwp) WRITE (numout,*) ' ' 92 # else 93 IF(lwp) WRITE (numout,*) ' No Source/Sink ' 94 IF(lwp) WRITE (numout,*) 132 95 #endif 133 96 134 97 ! E r r o r control 135 98 ! ------------------ 136 137 IF ( istop > 0 ) THEN 99 IF( istop > 0 ) THEN 138 100 IF(lwp)WRITE(numout,*) 139 101 IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop' 140 IF(lwp)WRITE(numout,*) ' **************************'102 IF(lwp)WRITE(numout,*) ' **************************' 141 103 IF(lwp)WRITE(numout,*) 142 104 STOP 'trcctl' 143 105 ENDIF 144 106 ! 145 107 END SUBROUTINE trc_ctl 146 108 147 109 #else 148 !! ======================================================================149 !! Empty module : No passive tracer150 !! ======================================================================110 !!---------------------------------------------------------------------- 111 !! Empty module : No passive tracer 112 !!---------------------------------------------------------------------- 151 113 CONTAINS 152 SUBROUTINE trc_ctl 153 114 SUBROUTINE trc_ctl ! Dummy routine 154 115 END SUBROUTINE trc_ctl 155 156 116 #endif 157 117 118 !!====================================================================== 158 119 END MODULE trcctl
Note: See TracChangeset
for help on using the changeset viewer.